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

Hermes

Hermes — агентская платформа с профилями, разделением ролей и набором подсистем, каждая из которых может работать на своей модели.

Провайдер

В конфигурации config.yaml опишите провайдера в разделе providers:

providers:
itg-aiaas:
name: ITG AIaaS
api: https://<адрес_шлюза>/v1
key_env: AIAAS_API_KEY
api_mode: chat_completions
ПолеНазначение
apiБазовый URL шлюза вместе с суффиксом /v1
key_envИмя переменной окружения, из которой берётся ключ
api_modeРежим обращения — chat_completions

Ключ задаётся переменной окружения и в конфигурацию не попадает:

export AIAAS_API_KEY="<ВАШ_КЛЮЧ>"

Модель по умолчанию

model:
provider: itg-aiaas
default: opr.deepseek4_flash.chat_completions

Перечень моделей

Модели с их контекстом описываются внутри блока провайдера:

providers:
itg-aiaas:
name: ITG AIaaS
api: https://<адрес_шлюза>/v1
key_env: AIAAS_API_KEY
api_mode: chat_completions
models:
opr.deepseek4_flash.chat_completions:
context_length: 1048576
opr.claude-sonnet5.chat_completions:
context_length: 1000000

Указывайте реальный размер контекста: платформа опирается на него, решая, когда сжимать историю диалога. Заниженное значение приведёт к преждевременному сжатию, завышенное — к ошибкам переполнения контекста.

Модели для отдельных подсистем

Служебные подсистемы можно перевести на другие модели — тяжёлую взять только там, где она нужна, а рутину отдать модели подешевле:

vision:
provider: itg-aiaas
model: opr.claude-sonnet5.chat_completions
timeout: 120
web_extract:
provider: itg-aiaas
model: opr.deepseek4_flash.chat_completions
timeout: 360
compression:
provider: itg-aiaas
model: opr.deepseek4_flash.chat_completions
timeout: 300

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

Профили

Если платформа работает с несколькими профилями, у каждого своя конфигурация и свой провайдер. Это позволяет развести нагрузку: например, один профиль работает на быстрой модели, другой — на более сильной.

Провайдера и ключ нужно описать в конфигурации того профиля, который будет обращаться к шлюзу.

Если не работает

СимптомПричина и что делать
401 UnauthorizedПеременная из key_env не видна процессу платформы. Проверьте окружение службы, а не только свою оболочку
Ошибка о неизвестной моделиИдентификатор в default должен совпадать с ключом в блоке models
История сжимается слишком раноЗанижен context_length. Сверьте со значением из списка моделей
Долгие запросы обрываютсяУвеличьте timeout у соответствующей подсистемы