# ============================================================================= # ВКУС — конфигурация подключения к 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