Конфигурация AI ассистента
Микросервис ecos-ai обеспечивает работу интеллектуального помощника в платформе Citeck. Он интегрируется с внешними провайдерами больших языковых моделей (LLM) и предоставляет AI-функциональность остальным микросервисам через RESTful API.
Статья описывает технические детали микросервиса, порядок настройки провайдеров LLM, конфигурацию ассистентов и параметры подключения через прокси.
Примечание
Для работы AI-ассистента необходима Enterprise-лицензия с флагом ai и наличие пользователя в группе GROUP_ai-feature-allowed.
Архитектурные решения
Spring Boot: Основа микросервиса
Kotlin: Основной язык разработки
Spring AI: Интеграция с AI провайдерами
Ecos Records: Интеграция с платформой Citeck
RESTful API: Стандартные HTTP эндпоинты для интеграции
Базовая техническая платформа
Базовые инструменты
GetCurrentTimeTool: Получение текущего времени
GetRecordAttributesTool: Извлечение атрибутов записей
GetRecordContentTool: Получение контента записей
GetRecordDisplayNameTool: Получение отображаемых имен
GetRecordContactsTool: Извлечение контактной информации
GetRecordContentHistoryTools: История изменений контента
DocumentAnalysisTool: Анализ документов
DeployDataTypeTool: Развертывание типов данных
GetArtifactMetadataTool: Метаданные артефактов
GetActivitiesTool: Работа с активностями
Безопасность, доступ, авторизация
Лицензионный контроль: Проверка флага
aiв лицензииГрупповые права: Контроль доступа через группу
GROUP_ai-feature-allowedКонтроль доступа: Расширенные проверки доступности AI функций
BPMN авторизация: Улучшенная обработка запросов BPMN с учетом прав пользователя
Конфигурация
Прокси поддержка: HTTP и HTTPS протоколы
Гибкие настройки: Конфигурация через переменные окружения и
application.ymlМониторинг: Логирование и отслеживание ошибок
Spring-профили
Для быстрого старта можно использовать готовые Spring-профили, которые содержат преднастроенную конфигурацию провайдеров и моделей.
Профиль |
Описание |
Обязательные env |
|---|---|---|
|
Рекомендуемый. Yandex Cloud ( |
|
|
Yandex Cloud ( |
|
Подключение в Citeck Launcher
На текущий момент, чтобы конфигурация настроек в лаунчере не перезаписывалась при обновлении версиий в ките, необходимо настраивать через кастомный application-launcher.yml. В дальнейшем планируется добавить отдельный интерфейс для удобной настройки подключения AI ассистента.
Найдите микросервис ai в списке микросервисов.
Нажмите правой кнопкой мыши на шестеренку настроек микросервиса.
Отредактируйте файл
application-launcher.yml.Вставьте содержимое нужного профиля. Например, для конфигурации
ai-default:
citeck:
ai:
base:
model: 'gpt://${CTK_YANDEX_AI_FOLDER_ID}/gpt-oss-120b/latest'
assistants:
bpmn:
model: claude-sonnet-4-6
streaming: true
provider: anthropic
temperature: 0.0
reasoning-effort: none
spring:
ai:
anthropic:
api-key: '${CTK_ANTHROPIC_API_KEY}'
openai:
api-key: '${CTK_YANDEX_AI_API_KEY}'
chat:
options:
model: 'gpt://${CTK_YANDEX_AI_FOLDER_ID}/gpt-oss-120b/latest'
base-url: https://llm.api.cloud.yandex.net
для профиля ai-yandex-gpt-oss:
citeck:
ai:
base:
model: 'gpt://${CTK_YANDEX_AI_FOLDER_ID}/gpt-oss-120b/latest'
assistants:
bpmn:
streaming: false
spring:
ai:
openai:
api-key: '${CTK_YANDEX_AI_API_KEY}'
chat:
options:
model: 'gpt://${CTK_YANDEX_AI_FOLDER_ID}/gpt-oss-120b/latest'
base-url: https://llm.api.cloud.yandex.net
Замените переменные
${CTK_YANDEX_AI_API_KEY},${CTK_YANDEX_AI_FOLDER_ID},${CTK_ANTHROPIC_API_KEY}на реальные значения.Сохраните настройку, микросервис перезапустится автоматически.
Совет
Профиль ai-default — рекомендуемый минимум для стабильной работы ассистента. Комбинация Yandex Cloud для основных задач и Anthropic Claude для генерации BPMN обеспечивает необходимое качество, так как для генерации BPMN-процессов требуется более интеллектуальная модель.
Важно
При использовании Anthropic в качестве провайдера (например, для генерации BPMN в профиле ai-default) необходимо обеспечить сетевой доступ к API Anthropic. Для этого настройте HTTP-прокси (см. раздел Настройка прокси) или используйте VPN.
Провайдеры LLM
Citeck AI Assistant поддерживает работу с различными провайдерами больших языковых моделей (LLM).
Поддерживаемые провайдеры
openai - GPT-модели (gpt-5.1 и др.)
anthropic - Claude модели (claude-opus-4-5 и др.)
deepseek - модели DeepSeek (deepseek-chat, deepseek-coder)
ollama - локальные модели (granite3.3, llama3, mistral)
Выбор провайдера по умолчанию
Провайдер по умолчанию указывается в citeck.ai.default.provider. Этот провайдер используется для всех ассистентов, если не указан специфичный:
citeck:
ai:
default:
provider: openai # openai, anthropic, deepseek, ollama
Важно
Для каждого типа ассистента можно указать своего провайдера через параметр provider. Если не указан - используется citeck.ai.default.provider.
Базовая конфигурация модели
Для работы системы необходимо указать базовую модель в citeck.ai.base.model. Эта модель используется по умолчанию для всех ассистентов, если не указана специфичная модель:
citeck:
ai:
base:
model: gpt-5.1 # Базовая модель для всех ассистентов
Настройка моделей для разных ассистентов
В рамках выбранного провайдера каждый тип ассистента может использовать свою модель и дополнительные параметры:
citeck:
ai:
assistants:
bpmn:
model: gpt-5.1
temperature: 0.1
reasoning-effort: medium # Уровень рассуждений: none, low, medium, high
streaming: true # Потоковый вывод
universal:
model: gpt-5.1
temperature: 0.7
reasoning-effort: medium
intent-detection:
model: gpt-5.1
temperature: 0.1
reasoning-effort: low
use-native-structured-output: true # Использовать нативный structured output
required-content-version-selection:
model: gpt-5.1
temperature: 0.1
reasoning-effort: low
business-app-generation: # Генерация бизнес-приложений
model: gpt-5.1
temperature: 0.5
reasoning-effort: medium
context-analyzer: # Анализатор контекста
model: gpt-5.1
temperature: 0.1
use-native-structured-output: true
description-formatter: # Форматирование описаний
model: gpt-5.1
temperature: 0.1
requirements-generator: # Генератор требований
model: gpt-5.1
temperature: 0.1
use-native-structured-output: true
Параметры ассистентов
provider- провайдер для данного ассистента (если не указан - используетсяciteck.ai.default.provider)
model- модель для использования (должна быть доступна у выбранного провайдера)
temperature- температура генерации (0.0-1.0)
reasoning-effort- уровень рассуждений:none,low,medium,high
streaming- включить потоковый вывод
use-native-structured-output- использовать нативный structured output провайдера
enable-bpmn-generation- включить генерацию BPMN процессов (только дляbusiness-app-generation)
Пример использования разных провайдеров
citeck:
ai:
default:
provider: openai # Провайдер по умолчанию
assistants:
bpmn:
provider: anthropic # Claude для генерации BPMN
model: claude-opus-4-5
universal:
# provider не указан - используется openai
model: gpt-5.1
intent-detection:
provider: deepseek # DeepSeek для быстрой классификации
model: deepseek-chat
Примечание
Все указанные модели должны быть доступны в рамках выбранного провайдера.
Настройка Structured Output
Конфигурация retry-механизма для структурированного вывода:
citeck:
ai:
structured-output:
max-attempts: 3 # Максимум попыток при ошибках парсинга
delay-ms: 500 # Начальная задержка между попытками (мс)
use-exponential-backoff: true # Экспоненциальное увеличение задержки
backoff-multiplier: 2.0 # Множитель увеличения задержки
max-delay-ms: 5000 # Максимальная задержка (мс)
Примеры конфигурации основных провайдеров
OpenAI
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
citeck:
ai:
default:
provider: openai
base:
model: gpt-5.1
assistants:
bpmn:
reasoning-effort: medium
streaming: true
intent-detection:
use-native-structured-output: true
Ollama (локальные модели)
citeck:
ai:
default:
provider: ollama
base:
model: granite3.3
assistants:
bpmn:
model: llama3
DeepSeek
spring:
ai:
deepseek:
api-key: ${DEEPSEEK_API_KEY}
citeck:
ai:
default:
provider: deepseek
base:
model: deepseek-chat
assistants:
bpmn:
model: deepseek-coder
Yandex Cloud (через OpenAI-совместимый API)
Совет
Для Yandex Cloud рекомендуется использовать готовые профили ``ai-default`` или ``ai-yandex-gpt-oss`` — см. раздел Spring-профили выше. Ниже приведена ручная конфигурация.
spring:
ai:
openai:
api-key: ${YANDEX_API_KEY}
chat:
base-url: https://llm.api.cloud.yandex.net
citeck:
ai:
default:
provider: openai # Используем OpenAI-совместимый API
base:
model: 'gpt://{folder_id}/gpt-oss-120b/latest'
Важно
Замените
{folder_id}на реальный идентификатор каталога Yandex CloudПоддержка Yandex Cloud через OpenAI-совместимый API является частичной
Формат модели:
gpt://{folder_id}/model-name/latestДоступные модели:
gpt-oss-120b, и другие модели Yandex CloudВо всех настройках
citeck.ai.*.modelнеобходимо указать модель в формате Yandex Cloud
Настройка прокси
Citeck AI Assistant поддерживает работу через прокси-сервер для доступа к внешним AI-сервисам.
Поддерживаемые протоколы прокси
HTTP - стандартный HTTP прокси
HTTPS - защищенный HTTPS прокси
Переменные окружения
# Включение прокси
CITECK_AI_PROXY_ENABLED=true
# Настройки подключения
CITECK_AI_PROXY_HOST=your-proxy-host.com
CITECK_AI_PROXY_PORT=8080
CITECK_AI_PROXY_PROTOCOL=HTTP # HTTP или HTTPS
# Аутентификация (опционально)
CITECK_AI_PROXY_USERNAME=your-username
CITECK_AI_PROXY_PASSWORD=your-password
Пример конфигурации в application.yml
citeck:
ai:
proxy:
enabled: true
host: proxy.company.com
port: 8080
protocol: HTTP
username: proxy-user
password: proxy-pass