В статье описаны различные способы использования генеративных предобученных языковых моделей для построения корпоративной вопросно-ответной системы. Существенным ограничением текущих генеративных предобученных языковых моделей является лимит по числу входных токенов, не позволяющий им работать «из коробки» с большим количеством документов или с документом большого размера. Для преодоления данного ограничения в работе рассмотрена индексация документов с последующим поисковым запросом и генерацией ответа на базе двух наиболее популярных на текущий момент open source решений - фреймворков Haystack, LlamaIndex. Было показано, что применение open source фреймворка Haystack при лучших настройках позволяет получить более точные ответы при построении корпоративной вопросно-ответной системы по сравнению с open source фреймворком LlamaIndex, однако требует использования в среднем несколько бо́льшего числа токенов. В статье использовался сравнительный анализ для оценки эффективности использования генеративных предобученных языковых моделей в корпоративных вопросно-ответных системах с помощью фреймворков Haystack и Llamaindex. Оценка полученных результатов осуществлялась с использованием метрики EM (exact match). Основными выводами проведенного исследования по созданию вопросно-ответных систем с использованием генеративных предобученных языковых моделей являются: 1. Использование иерархической индексации на текущий момент чрезвычайно затратно с точки зрения числа используемых токенов (около 160000 токенов для иерархической индексации против 30000 токенов в среднем для последовательной индексации), поскольку ответ генерируется путем последовательной обработки родительских и дочерних узлов. 2. Обработка информации при помощи фреймворка Haystack при лучших настройках позволяет получить несколько бо́льшую точность ответов, чем использование фреймворка LlamaIndex (0.7 против 0.67 при лучших настройках). 3. Использование фреймворка Haystack более инвариантно относительно точности ответов с точки зрения количества токенов в чанке. 4. В среднем использование фреймворка Haystack более затратно по числу токенов (примерно в 4 раза), чем фреймворка LlamaIndex. 5. Режимы генерации ответа «create and refine» и «tree summarize» для фреймворка LlamaIndex являются примерно одинаковыми с точки зрения точности получаемых ответов, однако для режима «tree summarize» требуется больше токенов.
The article describes various ways to use generative pre-trained language models to build a corporate question-and-answer system. A significant limitation of the current generative pre-trained language models is the limit on the number of input tokens, which does not allow them to work "out of the box" with a large number of documents or with a large document. To overcome this limitation, the paper considers the indexing of documents with subsequent search query and response generation based on two of the most popular open source solutions at the moment - the Haystack and LlamaIndex frameworks. It has been shown that using the open source Haystack framework with the best settings allows you to get more accurate answers when building a corporate question-and-answer system compared to the open source LlamaIndex framework, however, requires the use of an average of several more tokens. The article used a comparative analysis to evaluate the effectiveness of using generative pre-trained language models in corporate question-and-answer systems using the Haystack and Llamaindex frameworks. The evaluation of the obtained results was carried out using the EM (exact match) metric. The main conclusions of the conducted research on the creation of question-answer systems using generative pre-trained language models are: 1. Using hierarchical indexing is currently extremely expensive in terms of the number of tokens used (about 160,000 tokens for hierarchical indexing versus 30,000 tokens on average for sequential indexing), since the response is generated by sequentially processing parent and child nodes. 2. Processing information using the Haystack framework with the best settings allows you to get somewhat more accurate answers than using the LlamaIndex framework (0.7 vs. 0.67 with the best settings). 3. Using the Haystack framework is more invariant with respect to the accuracy of responses in terms of the number of tokens in the chunk. 4. On average, using the Haystack framework is more expensive in terms of the number of tokens (about 4 times) than the LlamaIndex framework. 5. The "create and refine" and "tree summarize" response generation modes for the LlamaIndex framework are approximately the same in terms of the accuracy of the responses received, however, more tokens are required for the "tree summarize" mode.