Настройка ИИ-ассистента#
ИИ-ассистент поставляется в составе дистрибутива по пути optional/ai-doc/:
bin/
ai-doc.sh # скрипт запуска ассистента
optional/
ai-doc/
conf/
ai-doc-example.json # образец конфигурации
libs/
ai-doc-*.jar # основной jar
*.jar # зависимости
Конфигурация ИИ-ассистента по документации Corax#
ИИ-ассистент использует конфигурационный файл ai-doc.json для настройки поведения, подключения модели и параметров выполнения.
Для настройки работы ИИ-ассистента создайте конфигурационный файл ai-doc.json в одной из предложенных ниже директорий. Ассистент автоматически применяет первую найденное расположение согласно указанному порядку приоритетов:
Приоритет |
Расположение |
|---|---|
1 |
JVM system property |
2 |
Переменная окружения |
3 |
|
4 |
|
По умолчанию $AIDOC_CONF разрешается как путь optional/ai-doc/conf.
Образец конфигурации поставляется в optional/ai-doc/conf/ai-doc-example.json.
Внимание
Для корректной работы ИИ-ассистента должна быть установлена JVM в соответствии с разделом «Системные требования». В противном случае может возникнуть ошибка UnsupportedClassVersionError — подробнее об ошибке и способе устранения описано в документе Ошибка: UnsupportedClassVersionError.
Пример конфигурации#
Необходимо заполнить только секцию выбранного провайдера. Установите значение поля "provider" в "gigachat" или "openai" — неактивная секция будет проигнорирована. Все строковые поля в секции активного провайдера являются обязательными. Поля секции "network" являются опциональными.
Пример общей конфигурации
{
"provider": "gigachat",
"gigachat": {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"auth_url": "https://ngw.devices.sberbank.ru:9443/api/v2/oauth",
"scope": "GIGACHAT_API_PERS",
"api_base": "https://gigachat.devices.sberbank.ru/api/v1",
"model": "GigaChat-Pro",
"embedding_model": "Embeddings",
"timeout_sec": 60,
"temperature": 0.1
},
"openai": {
"api_key": "YOUR_API_KEY",
"api_base": "https://api.openai.com/v1",
"model": "gpt-4o-mini",
"embedding_model": "text-embedding-3-small",
"timeout_sec": 60,
"temperature": 0.1
},
"network": {
"https_proxy": "http://proxy.example.com:3128",
"truststore_path": "/etc/ssl/certs/truststore.jks"
},
"embeddings": {
"batch_limit": 10
},
"doc_agent": {
"docs_dir": "/opt/ign/docs",
"index_dir": "/var/lib/ignite/ai-index",
"top_k": 20
}
}
Настройка интеграции с GigaChat#
Заполняется секция gigachat при "provider": "gigachat". Пример конфигурационной секции:
{
"provider": "gigachat",
"gigachat": {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"auth_url": "https://ngw.devices.sberbank.ru:9443/api/v2/oauth",
"scope": "GIGACHAT_API_CORP",
"api_base": "https://gigachat.devices.sberbank.ru/api/v1",
"model": "GigaChat-Pro",
"embedding_model": "Embeddings",
"timeout_sec": 60,
"temperature": 0.1
}
}
Настройка интеграции с моделями по OpenAI-протоколу#
Заполняется секция openai при "provider": "openai". Подходит для любого OpenAI-совместимого сервиса. Пример конфигурационной секции:
{
"provider": "openai",
"openai": {
"api_key": "YOUR_API_KEY",
"api_base": "https://api.openai.com/v1",
"model": "gpt-4o-mini",
"embedding_model": "text-embedding-3-small",
"timeout_sec": 60,
"temperature": 0.1
}
}
Справочник по конфигурации#
Секция провайдера gigachat:
Поле |
Описание |
|---|---|
|
Идентификатор клиента для авторизации в GigaChat |
|
Секрет для авторизации клиента |
|
Конечная точка (endpoint) токенов OAuth2 GigaChat |
|
Состав (scope) OAuth2 в зависимости от категории пользователя: |
|
Базовый URL для API-вызовов |
|
Имя модели для генерации ответов |
|
Имя модели для эмбеддингов |
|
Тайм-аут HTTP-запроса в секундах |
|
Температура семплирования: чем ниже значение, тем более конкретным будет ответ |
Секция провайдера openai:
Поле |
Описание |
|---|---|
|
API-ключ для доступа к сервису |
|
Базовый URL для API-вызовов |
|
Имя модели для генерации ответов |
|
Имя модели для эмбеддингов |
|
Тайм-аут HTTP-запроса в секундах |
|
Температура семплирования: чем ниже значение, тем более конкретным будет ответ |
network (все поля опциональны):
Поле |
Описание |
|---|---|
|
URL HTTP-прокси |
|
URL HTTPS-прокси |
|
Путь к доверенному JKS-хранилищу (JKS truststore) для корпоративного CA |
|
Значение |
embeddings:
Поле |
Значение по умолчанию |
Описание |
|---|---|---|
|
100 |
Максимальное количество текстов в одном запросе эмбеддингов |
doc_agent
Поле |
Значение по умолчанию |
Описание |
|---|---|---|
|
— |
Директория с файлами документации |
|
— |
Директория для хранения векторного индекса |
|
5 |
Количество фрагментов, извлекаемых на каждый запрос |