ИИ-ассистент по документации#

Раздел описывает возможности и принципы работы ИИ-ассистента для работы с документацией Corax.

В составе Corax поставляется ИИ-ассистент, реализованный в виде CLI-чата. Его основная задача — упростить поиск информации в продуктовой документации: ассистент понимает запросы на естественном языке (русском или английском), находит релевантные фрагменты документации и формирует развернутые ответы.

В основе работы ассистента лежит архитектура RAG (Retrieval-Augmented Generation — «поиск и генерация»). При обработке запроса система извлекает релевантные фрагменты из локальных файлов документации (HTML, Markdown, текстовые файлы), а затем использует языковую модель (GigaChat или любую LLM, совместимую с протоколом OpenAI) для генерации ответа на основе найденного контекста.

Типовой сценарий использования#

Для настройки и начала работы с ИИ-ассистентом выполните шаги:

  1. Подготовка документации и ассистента. В дистрибутиве продукта поставляется комплект документации в виде HTML-файлов. Скопируйте или распакуйте этот комплект в директорию, указанную в параметре doc_agent.docs_dir. Так же создайте конфигурационный файл агента (по умолчанию optional/ai-doc/conf/ai-doc.json) на основании файла-примера из дистрибутива (optional/ai-doc/conf/ai-doc-example.json).

  2. Построение индекса. Выполните команду bin/ai-doc ingest для построения локального векторного индекса на основе эмбеддингов. Текст документации предварительно обрабатывается и разбивается на смысловые фрагменты (чанки) при выполнении индексации.

  3. Запуск чата. После завершения построения индекса запустите команду bin/ai-doc ask для начала работы с ИИ-ассистентом.

  4. Работа с ассистентом. ИИ-агент отвечает на запросы пользователя исключительно на основе данных из векторного индекса, что гарантирует достоверность ответов.

Внимание

Для корректной работы ИИ-ассистента должна быть установлена JVM в соответствии с разделом «Системные требования». В противном случае может возникнуть ошибка UnsupportedClassVersionError — подробнее об ошибке и способе устранения описано в документе Ошибка: UnsupportedClassVersionError.

Принцип работы ИИ-ассистента#

См. также

Если документация распространяется в виде архива — распакуйте его перед запуском команды ingest.

ИИ-ассистент по документации Corax функционирует в двух режимах: ingest и ask.

  1. ingest (bin/ai-doc ingest): режим индексации документации. Запускается однократно перед началом работы с ассистентом, а также повторно при обновлении документации. На этапе подготовки данных ассистент считывает файлы документации из указанной директории, разбивает их на смысловые фрагменты (чанки) и вычисляет векторные представления (эмбеддинги) с помощью выбранного LLM-провайдера. Полученные векторы сохраняются в локальный индекс на диске. Загрузчик обходит директорию рекурсивно, вложенные поддиректории поддерживаются.

  2. ask (bin/ai-doc ask): интерактивный режим для задавания вопросов на естественном языке. При получении пользовательского запроса ассистент преобразует вопрос в векторное представление, выполняет поиск по индексу и находит наиболее релевантные фрагменты документации на основе косинусного сходства векторов. Найденные фрагменты передаются в языковую модель в качестве контекста для генерации ответа.

Векторный индекс хранится локально на диске (по пути, указанном в doc_agent.docs_dir параметре файла конфигурации) и при работе инструмента загружается в оперативную память. Такой подход исключает необходимость развертывания внешней векторной базы данных — все данные доступны локально.

Поддерживаемые форматы документации#

Документация может быть загружена в одном из следующих форматов:

Формат

Расширение

Примечание

HTML

.html

Извлекается содержимое из <main> или <article class="md-content__inner">

Markdown

.md

Исходный формат документации согласно спецификации CommonMark

Текст

.txt

Простой текст. Экспериментальная функция, не рекомендовано к основному использованию

Внимание

В продуктовой поставке формат документации — HTML. Именно этот набор HTML-файлов рекомендуется использовать как источник для ingest.

См. также

Подробная инструкция по использованию данной функциональности приведена в разделе «Использование ИИ-ассистента» Руководства администратора.

Развертывание ИИ-ассистента описано в разделе «Настройка ИИ-ассистента» Руководства по установке.