Труды КНЦ (Технические науки вып. 3/2024(15))

взаимодействующие с пользователем на естественном языке, что, в свою очередь, снижает требования к технической подготовке пользователя. Однако априорно обученные LLM обладают существенными ограничениями при обработке запросов, требующих использования «новой» (выходящих за рамки данных, на которых они обучены) информации. В таких ситуациях LLM нередко генерируют «галлюцинации» — ответы, не имеющие отношения к действительности [16]. Во многом преодолеть проблемы, обусловленные ограничениями непосредственного использования LLM, позволяет RAG-технология и ее вариации. В рамках RAG-технологии реализуются механизмы поиска в базе данных информационной системы фрагментов текста, вектора которых наиболее релевантны векторизованному вопросу пользователя. На основе найденных фрагментов с использованием «знаний» LLM генерируется текст ответа. Это позволяет улучшить качество ответа системы на вопрос за счет учета конкретного контекста. Возможность оперативного изменения базы данных системы обуславливает ее адаптивность к изменению данных без необходимости полного переобучения всей модели или ее дообучения, для чего в общем случае требуются значительные вычислительные и временные ресурсы [17, 18]. При этом очевидно, что качество генерируемых системой ответов будет существенно зависеть от полноты и адекватности имеющейся базы данных. Поэтому оценка влияния подготовки данных на качество ответов системы является одной из основных задач начального этапа проводимого исследования. В статье [10] представлен обзор эволюции RAG-технологии и довольно подробно рассматриваются методы работы трех основных компонентов этих технологий — поиска (Retrieval), дополнения (Augment) и генерации (Generation). Авторы этого обзора выделяют три этапа развития RAG, отличающиеся развитием инструментов тонкой настройки каждого из базовых компонентов. Первый этап определен как простой, или «наивный» (Naive RAG). В Naive RAG [19] реализуются процедуры индексации исходных данных, их сегментация и векторизация. Векторизованные фрагменты сохраняются в базе данных информационной системы. Аналогичным образом происходит обработка и векторизация поступившего в систему вопроса пользователя. Процедуры извлечения из базы фрагментов, наиболее релевантных поступившему вопросу, основаны на вычислении оценки сходства между вектором вопроса и векторами хранимых фрагментов. Наиболее релевантные фрагменты, извлеченные из базы, совместно с текстом вопроса в дальнейшем включаются в расширенный контекст подсказки для ответа на вопрос, который должна сгенерировать используемая в системе предобученная LLM. Более того, уже и Naive RAG поддерживает и режим «диалога», когда в подсказку могут быть интегрированы вопросы и ответы, предшествующие текущему вопросу. На втором этапе развития, названном Advanced RAG, вводятся дополнительные процедуры, повышающие качество поиска за счет усовершенствованных механизмов индексации и включения метаданных, позволяющие более точно соотнести извлекаемые данные с вопросом [20]. Третий этап характеризуется вводом в RAG-систему дополнительных компонентов, повышающих ее адаптивность и улучшающих возможности извлечения и обработки целевого контента [10]. Данный этап назван «Модульным» (Modular RAG). Для реализации инструментальной среды проблемно -ориентированного использования RAG-технологии был применен фреймворк LangChain [21]. Он обеспечивает возможность интеграции и комбинирования различных компонентов обработки естественного языка и возможность создания адаптивных решений, которые могут взаимодействовать с внешними данными и контекстом пользователя. Поддержка LangChain работы с различными предобученными языковыми моделями, в том числе и с локальными, дает возможность исследовать и сравнивать эффективность разных LLM при решении различных задач. К основным компонентам LangChain относятся: API-интерфейсы; шаблоны подсказок (prompt patterns) различных типов; инструменты работы с индексами и инструменты создания и использования цепочек автоматизированного выполнения операций; функции запоминания как текущего «диалога», так и предшествующих. Также LangChain обладаем инструментами преобразования, хранения, поиска и извлечения информации, что позволяет создавать RAG-системы. Организационные, методологические и практические особенности проектирования и разработки системы Представленная разработка опирается на идею по созданию интеллектуализированной справочной системы, способной выдавать пользователю ответы на основе предварительно заданного Труды Кольского научного центра РАН. Серия: Технические науки. 2024. Т. 15, № 3. С. 5-26. Transactions of the Kola Science Centre of RAS. Series: Engineering Sciences. 2024. Vol. 15, No. 3. P. 5-26. 8 © Олейник А. Г., Федоров А. М., Датьев И. О., Зуенко А. А., Шестаков А. А., Вишняков И. Г., 2024

RkJQdWJsaXNoZXIy MTUzNzYz