Настройки ИИ-ассистента#
Конфигурация ИИ-ассистента по документации DataGrid#
ИИ-ассистент настраивается в ./config/ignite-doc-assistant.yaml. Относительные пути отсчитываются от корня дистрибутива, где находится скрипт запуска.
Для корректной работы должна быть установлена Java версии 17 или выше.
Настройка провайдера моделей#
Для работы нужны чат-модель и модель эмбеддингов. Можно использовать GigaChat или провайдера с API, совместимым с OpenAI-протоколом.
Пример конфигурации провайдера с API, совместимым с OpenAI
spring:
ai:
model:
chat: openai
embedding: openai
openai:
api-key: ${OPENAI_API_KEY}
base-url: https://api.example.com
chat:
options:
model: provider/chat-model
embedding:
options:
model: provider/embedding-model
Пример конфигурации GigaChat
spring:
ai:
model:
chat: gigachat
embedding: gigachat
gigachat:
auth:
scope: GIGACHAT_API_PERS
unsafe-ssl: false
bearer:
api-key: ${GIGACHAT_AUTH_KEY}
base-url: https://gigachat.devices.sberbank.ru/api/v1
chat:
options:
model: GigaChat-2-Max
temperature: 0.1
max-tokens: 10000
embedding:
enabled: true
options:
model: EmbeddingsGigaR
dimensions: 2560
Внимание
GIGACHAT_AUTH_KEY должен содержать ключ авторизации для получения OAuth-токена, а не готовый токен доступа. Не храните ключи в конфигурационном файле: подставляйте их с помощью переменных окружения или другого принятого механизма управления секретами.
Настройка источников и RAG#
Пример настройки источников и RAG в конфигурационном файле ./config/ignite-doc-assistant.yaml:
assistant:
sources:
docs-path: /opt/ign/docs
base-url: https://platformv.sbertech.ru/docs/public/IGN/17.8.0/common
rag:
top-k: 8
similarity-threshold: 0.0
chunk-size: 160
chunk-overlap: 20
max-chunk-chars: 2000
max-context-chars: 14000
Параметр |
Назначение |
|---|---|
|
Корневая директория распакованного дистрибутива документации |
|
Публичный HTTP(s)-адрес директории, внутри которой находится |
|
Максимальное количество найденных фрагментов |
|
Минимальная релевантность от |
|
Целевой размер фрагмента в словах |
|
Перекрытие соседних фрагментов в словах |
|
Максимальный размер фрагмента в символах |
|
Максимальный размер контекста для чат-модели в символах |
После изменения модели эмбеддингов, размерности вектора (параметр dimensions задается в настройках провайдера) или параметров разбиения перестройте индекс.
Векторное хранилище#
По умолчанию используется локальное хранилище SimpleVectorStore. Индекс сохраняется в ignite-doc-assistant-vector-store.json, поэтому отдельная векторная база данных не нужна.
Для удаленного хранения можно использовать Qdrant (задается в конфигурационном файле ./config/ignite-doc-assistant.yaml):
spring:
ai:
vectorstore:
type: qdrant
qdrant:
host: ${QDRANT_HOST}
port: ${QDRANT_PORT}
api-key: ${QDRANT_API_KEY}
collection-name: ign-docs
initialize-schema: true
После изменения размерности вектора пересоздайте коллекцию Qdrant или укажите новое collection-name.
JVM и журналы#
JVM-параметры задаются в ./config/jvm.opts, настройки Log4j2 — в ./config/log4j2.xml.
Относительные пути в конфигурации отсчитываются от корня дистрибутива, где находится скрипт запуска.
Диагностические сообщения записываются в ./log/ignite-doc-assistant.log. Архивные журналы хранятся до 30 дней, их общий размер ограничен 100 МБ.