Files
vkus-ai-v4/llm.config.yaml
T

190 lines
7.5 KiB
YAML

# =============================================================================
# ВКУС — конфигурация подключения к LLM и платформе ИИ Beeline
# =============================================================================
# Документ-основание: Start data/Архитектура ассистента.txt (v2.0)
#
# Секреты (API-ключ, JWT) не храните в этом файле.
# Задайте их через переменные окружения или файл .env в корне проекта:
#
# VKUS_LLM_API_KEY=your-api-key
# VKUS_LLM_JWT_TOKEN=your-jwt-token # опционально, если используется Keycloak
#
# =============================================================================
version: "1.0"
# -----------------------------------------------------------------------------
# Общие настройки провайдера
# -----------------------------------------------------------------------------
provider:
# beeline-ai-platform | openai-compatible | mock
name: beeline-ai-platform
# false — ответы из локальной базы знаний (текущий прототип)
# true — запросы к корпоративной платформе ИИ
enabled: false
# -----------------------------------------------------------------------------
# API платформы ИИ (единая точка входа, OpenAI-совместимый API)
# -----------------------------------------------------------------------------
api:
# FQDN корпоративного шлюза
base_url: https://apiai.sibur.local
# IP (из архитектуры, для справки / внутренней сети)
host: 10.204.128.14
# Стандарт OpenAI API
api_version: v1
# Таймаут HTTP-запросов, сек
timeout_seconds: 60
# Проверка TLS-сертификата (в dev можно отключить)
verify_ssl: true
# Повтор при временных сбоях
retry:
max_attempts: 3
backoff_seconds: 2
# -----------------------------------------------------------------------------
# Аутентификация (JWT + Keycloak, secure-by-default)
# -----------------------------------------------------------------------------
auth:
type: jwt
# Имя переменной окружения с API-ключом платформы ИИ
api_key_env: VKUS_LLM_API_KEY
# Имя переменной окружения с JWT (если авторизация через Keycloak)
jwt_token_env: VKUS_LLM_JWT_TOKEN
keycloak:
enabled: true
# realm_url: https://keycloak.sibur.local/realms/corporate
# client_id: vkus-it-assistant
# -----------------------------------------------------------------------------
# LLM — генерация ответов
# -----------------------------------------------------------------------------
llm:
# Основная модель (архитектура v2.0)
model: gpt-oss-120b
# Хост GPU-кластера (справочно)
host: 10.204.128.13
# OpenAI-совместимый endpoint
chat_completions_path: /v1/chat/completions
# Параметры генерации
parameters:
temperature: 0.3
max_tokens: 2048
top_p: 0.9
frequency_penalty: 0.0
presence_penalty: 0.0
# Роль system-сообщения в запросе
system_prompt:
# Путь относительно корня репозитория
file: "Start data/Системный промпт - правила общения с пользователем.md"
# Если file недоступен — краткий fallback
fallback: |
Ты — корпоративный ИТ-ассистент портала ВКУС. Помогаешь сотрудникам
решать рабочие ИТ-задачи. Отвечай на русском, обращайся на «вы».
# -----------------------------------------------------------------------------
# Эмбеддинги (RAG-слой, BERT Inference Service)
# -----------------------------------------------------------------------------
embeddings:
enabled: true
# Сервис эмбеддингов на GPU-кластере
host: 10.204.128.13
service: bert-inference
# OpenAI-совместимый endpoint (если проксируется через apiai.sibur.local)
embeddings_path: /v1/embeddings
model: bert
dimensions: 768
# -----------------------------------------------------------------------------
# RAG — поиск по инструкциям и документам
# -----------------------------------------------------------------------------
rag:
# local — ВРЕМЕННО: RAG внутри backend (для тестирования витрины)
# external — ЦЕЛЕВОЙ КОНТУР: Docling + BERT + VectorDB на платформе ИИ
mode: local
# --- Временный локальный RAG (в backend, MVP) ---
local:
enabled: true
documents_path: Manuals
top_k: 5
min_score: 0.12
chunk_size: 450
# --- Целевой внешний RAG (платформа ИИ Beeline) ---
external:
enabled: false
docling:
host: 10.204.128.13
vector_db:
index_type: hnsw
top_k: 5
min_similarity_score: 0.65
# Запасной путь при недоступности внешнего ИИ (client_journey.md)
fallback:
use_local_index: true
use_keyword_search: true
# -----------------------------------------------------------------------------
# Бизнес-логика ассистента (пороги из клиентского пути)
# -----------------------------------------------------------------------------
assistant:
# Эскалация в ITSM при уверенности ниже порога (%)
confidence_threshold: 70
# Язык ответа по умолчанию
default_language: ru
# Лимит уточняющих вопросов за один шаг диалога
max_clarification_questions: 1
# Таймаут ожидания ответа пользователя, мин (системный промпт)
user_reply_timeout_minutes: 10
# -----------------------------------------------------------------------------
# Поведение при сбоях LLM / RAG
# -----------------------------------------------------------------------------
fallback:
# Локальная база знаний backend (knowledge_base.py)
use_local_knowledge_base: true
# Шаблонный ответ из инструкции без LLM
use_template_on_llm_failure: true
# Логировать ошибки интеграции
log_failures: true
# -----------------------------------------------------------------------------
# Мониторинг (опционально, из архитектуры)
# -----------------------------------------------------------------------------
monitoring:
enabled: false
# metrics_url: http://victoriametrics.sibur.local
# logs_url: http://opensearch.sibur.local
# -----------------------------------------------------------------------------
# Пример переменных для .env (скопируйте в .env и заполните)
# -----------------------------------------------------------------------------
# VKUS_LLM_API_KEY=
# VKUS_LLM_JWT_TOKEN=
# VKUS_LLM_BASE_URL=https://apiai.sibur.local
# VKUS_LLM_MODEL=gpt-oss-120b
# VKUS_LLM_ENABLED=true