Основные этапы работы Jay Knowledge Hub
В основе работы Jay Knowledge Hub лежит механизм RAG (Retrieval-Augmented Generation), который сочетает в себе поиск и генерацию ответов на запросы пользователей. RAG объединяет внутренние знания LLM с обширными и постоянно обновляющимися внешними источниками данных, такими как базы данных, веб-сайты и другие информационные ресурсы.
C помощью RAG можно повысить точность и достоверность генерации ответов, особенно для задач, требующих глубоких знаний. Механизм также позволяет постоянно обновлять знания и интегрировать информацию, специфичную для конкретной области.
В зависимости от настроек проекта выполняется один из следующих пайплайнов.
- Семантический пайплайн
- Агентский пайплайн
Индексация базы знаний
Для индексации базы знаний используются различные источники данных: ваши файлы в форматах DOCX, PDF, TXT и др., а также внешние сервисы хранения знаний, такие как Confluence. Данные из источников проходят предварительную обработку, в результате которой получаются MD-файлы с текстом, которые затем передаются на чанкинг и векторизацию.
Чанкинг
Чанкинг — это разделение текста на небольшие фрагменты (чанки) для улучшения качества поиска. Затем при поиске и подготовке ответа система будет использовать эти чанки вместо целых текстовых документов или наряду с ними (в зависимости от настроек).
Векторизация
Векторизация — это преобразование текста в векторное представление. Каждый чанк преобразуется в вектор, который затем используется для поиска наиболее подходящего ответа на запрос пользователя. Векторизация позволяет использовать геометрические и алгебраические операции для сравнения и анализа данных.
Векторизованные чанки (эмбеддинги) сохраняются в векторном хранилище, оптимизированном для быстрого поиска и доступа к данным.
Retrieval-Augmented Generation (RAG)
- Семантический пайплайн
- Агентский пайплайн
Retrieving
Запрос пользователя перефразируется с учетом истории диалога. Перефразированный запрос так же, как и чанки с данными, преобразуется в векторное представление. Поиск информации выполняется путем сравнения векторных представлений запроса пользователя и данных. Векторное хранилище автоматически подбирает наиболее подходящие данные, основываясь на сходстве векторов.
Повторное ранжирование (реранкинг)
После того как векторное хранилище нашло наиболее подходящие чанки, они проходят повторное ранжирование с помощью специальной модели — реранкера. При этом оценка релевантности каждого чанка может поменяться по сравнению с оценкой, полученной на этапе подбора векторным хранилищем.
Генерация ответа
На последнем этапе система генерирует ответ на запрос пользователя. Система отправляет в LLM запрос и чанки, отобранные на предыдущих этапах. Затем LLM генерирует ответ, используя предоставленную информацию, а также свои внутренние знания.
AI-агент передает запрос пользователя в LLM вместе с описанием доступных функций базы знаний.
LLM выдает ответ специального вида, в котором указана функция, которую нужно вызвать, и ее аргументы. Например, функция поиска чанков.
AI-агент вызывает указанную функцию и передает результат в LLM. LLM анализирует результат и может снова запросить вызов функции. Эта процедура носит название agent loop и может повторяться несколько раз.
Если в ответе LLM не указана вызываемая функция, то это финальный ответ, и AI-агент передает его пользователю.