Перейти к основному содержимому

AI-агент (LLM-провайдер)

к сведению

Интеграция с AI-агентом необходима для работы AI-Advisor — подсистемы CLI-утилиты Recovery Manager, которая предоставляет рекомендации по настройке политики резервного копирования на основе анализа исторических телеметрических данных и целевых показателей RTO/RPO.

AI-Advisor использует большую языковую модель (LLM), доступ к которой осуществляется через AI-агент (LLM-провайдер), предоставляющий OpenAI-compatible API.

Последовательность действий​

  1. Обратитесь к администратору AI-агента для получения:

    • API-ключа — уникальный токен для аутентификации.
    • URL — базовый адрес сервиса (например, https://api.ai.exmpl/openai/v1).
    • Идентификатора модели — название модели LLM (например, GigaChat-2).
  2. Откройте конфигурационный файл recovery-manager.yaml добавьте секцию ai и заполните параметры:

    # --------------------------------------
    # Настройки для взаимодействия с API Gateway
    # --------------------------------------
    api_gateway:
    address: http://api.pbr.host:29000 # адрес API Gateway
    trusted_ca: root.crt # путь к доверенному сертификату для безопасного взаимодействия с API Gateway

    # --------------------------------------
    # Общие настройки приложения
    # --------------------------------------
    common:
    timeout: 10s # максимальное время выполнения запроса

    # --------------------------------------
    # Настройки для взаимодействия с OpenID
    # --------------------------------------
    open_id:
    realm_url: https://keycloak.host/realms/realm-name
    client_id: some-client-id # идентификатор клиента из keycloak
    client_secret: some-client-secret # секрет из keycloak
    trusted_ca: root.crt # путь к доверенному сертификату для безопасного взаимодействия с OpenID

    # --------------------------------------
    # Настройки для взаимодействия с AI-агентом (LLM-провайдером)
    # --------------------------------------
    ai:
    api_key: copywala@sbertech.ru|some-api-key # API-ключ для аутентификации в LLM-провайдере
    base_url: https://api.ai.sbt/openai/v1 # базовый URL LLM-провайдера (OpenAI-compatible endpoint)
    model: GigaChat-2 # идентификатор LLM

    # --------------------------------------
    # Настройка ведения журналов приложения
    # --------------------------------------
    log:
    path: /var/log/pbr/recovery-manager.log # путь к лог-файлу
    max_size: 100 # максимальный размер лог-файла в мегабайтах. По умолчанию `100 МБ`
    max_age: 90 # максимальный возраст лог-файла в днях
    max_backups: 10 # максимальное количество резервных копий лог-файлов, которые будут храниться. Если выбрано 0, то количество файлов не ограничено
    use_local_time: true # параметр определяет, в каком формате будут записываться метки времени в имена файлов при ротации. Если выбрано true, используется локальное системное время, при false (и по умолчанию) – `UTC`.
    compress_backups: false # параметр определяет необходимость сжатия резервных копий лог-файлов. Если выбрано true, лог-файлы будут сжаты, если false, лог-файлы будут храниться без сжатия

Проверка результата​

  1. Авторизуйтесь в Recovery Manager.

  2. Выполните команду получения рекомендации recovery-manager advisor recommend (ознакомьтесь со справкой по команде ниже).

    Справка по команде recovery-manager advisor recommend

    Описание:

    Запрос рекомендации по настройке политики резервного копирования для заданного агента PBR-Agent на основании целевых значений RPO (Recovery Point Objective) и RTO (Recovery Time Objective). Если значения RPO и RTO не переданы в команде флагами --rpo и --rto, используются значения по умолчанию: RPO = 15m (15 минут), RTO = 1h (1 час).

    Команда анализирует последние 500 задач резервного копирования, агрегирует результаты по уникальным конфигурациям политик и с помощью AI-агента (внешнего LLM-провайдера) формирует рекомендацию с оценкой уверенности модели и уровня риска.

    Синтаксис:

    recovery-manager advisor recommend <agent-id> [flags]

    Обязательные параметры:

    <agent-id> – уникальный идентификатор агента PBR-Agent, для которого необходимо получить рекомендацию.

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    --rto <duration>Целевой Recovery Time Objective (по умолчанию: 1h). Пример значений: 4h, 30m
    --rpo <duration>Целевой Recovery Point Objective (по умолчанию: 15m). Пример значений: 15m, 1h

Успешный ответ в формате YAML с полями model_confidence, risk_level, recommendation_reason, backup_policy подтверждает корректную интеграцию с AI-агентом.


$ advisor recommend 019f0349-47b7-737a-8d33-fddbba8649a9

recommendation_reason: Данная конфигурация демонстрирует 100% успешность выполнения (100 задач) без единого сбоя. Дифференциальные и инкрементальные резервные копии завершаются за 4–18 минут, что укладывается в целевые окна RPO и RTO. Политику рекомендуется из-за максимальной наблюдаемой надежности и наибольшего объема подтвержденных данных в телеметрии.

backup_policy:
fast_checkpoint: true
workers_no: 8
read_direct_io: true
write_direct_io: true
write_parts_workers_no: 16
write_wals_workers_no: 4
verify_page_checksums: true

model_confidence: 0.95

risk_level: LOW

Возможные проблемы​

ПроблемаРешение
failed to get configurationПроверьте, что все три параметра секции ai заполнены в файле конфигурации recovery-manager.yaml
401 UnauthorizedПроверьте валидность API-ключа. При необходимости запросите новый
failed to create chat completionУбедитесь, что URL доступен из текущей сети
chat completion returned no choicesМодель не вернула ответ. Обратитесь к администратору LLM-провайдера