Настройка ИИ-ассистента#

ИИ-ассистент поставляется в составе дистрибутива по пути 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 -DKFK_AI_DOC_CONFIG=<путь>

2

Переменная окружения $KFK_AI_DOC_CONFIG

3

$AIDOC_CONF/ai-doc.json

4

~/.kafka/ai-doc.json

По умолчанию $AIDOC_CONF разрешается как путь optional/ai-doc/conf.

Образец конфигурации поставляется в optional/ai-doc/conf/ai-doc-example.json.

Внимание

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

Пример конфигурации#

Необходимо заполнить только секцию выбранного провайдера. Установите значение поля "provider" в "gigachat" или "openai" — неактивная секция будет проигнорирована. Все строковые поля в секции активного провайдера являются обязательными. Поля секции "network" являются опциональными.

Пример общей конфигурации
JSON#
{
  "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". Пример конфигурационной секции:

JSON#
{
  "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-совместимого сервиса. Пример конфигурационной секции:

JSON#
{
  "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:

Поле

Описание

client_id

Идентификатор клиента для авторизации в GigaChat

client_secret

Секрет для авторизации клиента

auth_url

Конечная точка (endpoint) токенов OAuth2 GigaChat

scope

Состав (scope) OAuth2 в зависимости от категории пользователя: GIGACHAT_API_PERS — для физических лиц, GIGACHAT_API_B2B — для ИП/юрлиц (предоплата), GIGACHAT_API_CORP — для ИП/юрлиц (постоплата)

api_base

Базовый URL для API-вызовов

model

Имя модели для генерации ответов

embedding_model

Имя модели для эмбеддингов

timeout_sec

Тайм-аут HTTP-запроса в секундах

temperature

Температура семплирования: чем ниже значение, тем более конкретным будет ответ

Секция провайдера openai:

Поле

Описание

api_key

API-ключ для доступа к сервису

api_base

Базовый URL для API-вызовов

model

Имя модели для генерации ответов

embedding_model

Имя модели для эмбеддингов

timeout_sec

Тайм-аут HTTP-запроса в секундах

temperature

Температура семплирования: чем ниже значение, тем более конкретным будет ответ

network (все поля опциональны):

Поле

Описание

http_proxy

URL HTTP-прокси

https_proxy

URL HTTPS-прокси

truststore_path

Путь к доверенному JKS-хранилищу (JKS truststore) для корпоративного CA

verify_ssl

Значение false отключает проверку TLS (только для разработки)

embeddings:

Поле

Значение по умолчанию

Описание

batch_limit

100

Максимальное количество текстов в одном запросе эмбеддингов

doc_agent

Поле

Значение по умолчанию

Описание

docs_dir

Директория с файлами документации

index_dir

Директория для хранения векторного индекса

top_k

5

Количество фрагментов, извлекаемых на каждый запрос