В качестве harness взял Hermes, так как при всех её "особенностях" в виде экстравагантного UI, странностей в подключения скилов и провайдеров, она настраивается и ощущается в разы приятнее чем OpenClaw и аналоги.
И так, что надо сделать чтобы пощупать флагманские сберовские модельки в режим agentic loop:
1️⃣ регаемся тут https://developers.sber.ru/studio/login (если у вас уже есть сберовская карта, то можно через приложение зайти)
2️⃣ создаём проект, в модалке выбираем
GigaChat API3️⃣ там будет
Настроить API, следуем инструкции, сохраняем все полученные ключи, позже пригодятся4️⃣ теперь запустим апишку gpt2giga, я всё через docker делаю, так что ловите docker-compose.yaml
services:
gpt2giga:
image: ghcr.io/ai-forever/gpt2giga:latest
ports:
- "8091:8091"
environment:
GPT2GIGA_MODE: DEV
GPT2GIGA_HOST: 0.0.0.0
GPT2GIGA_PORT: 8091
GPT2GIGA_ENABLE_API_KEY_AUTH: False
GIGACHAT_CREDENTIALS: <токен вида base64>
ACCESS_TOKEN: <JWT-токен через oAuth>
GIGACHAT_SCOPE: GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL_CERTS: False
GPT2GIGA_USE_HTTPS: False
GPT2GIGA_PASS_MODEL: True
запускаем через
docker-compose up -d, после чего на 8091 становится доступно API с моделями, запросим список доступных моделей командой:curl http://127.0.0.1:8091/v1/models
если в ответе пачка моделей, включая
GigaChat-2, GigaChat-2-Pro, Embeddings и так далее (кстати где Frida и sbert?) то всё сделали правильно.5️⃣ теперь клонируем исходники Hermes:
git clone https://github.com/NousResearch/hermes-agent.git
и перейдём в корень папки
hermes-agent.6️⃣ придётся чуть прокачать
docker-compose.yml, приведём его к следующему виду:services:
gateway:
build: .
image: hermes-agent
container_name: hermes
restart: unless-stopped
network_mode: host
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
- API_SERVER_HOST=${API_SERVER_HOST:-0.0.0.0}
- API_SERVER_KEY=${API_SERVER_KEY}
command:
- "gateway"
- "run"
dashboard:
image: hermes-agent
container_name: hermes-dashboard
restart: unless-stopped
network_mode: host
depends_on:
- gateway
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
command:
- "dashboard"
- "--host"
- "0.0.0.0"
- "--no-open"
- "--insecure"
плюс создадим в папке
.env файл следующего содержания:HERMES_UID=1000
HERMES_GID=1000
API_SERVER_HOST=0.0.0.0
API_SERVER_KEY=<тут пишем свой api ключ>
запускаем композицию через
docker-compose up -d, если всё ок, то в хомяке пользователя появится папка .hermes, она нам и нужна.7️⃣ теперь надо подправить конфиг, находится он тут:
~/.hermes/config.yaml, вверху, в поле модель заменим блок models, на строки вида:model:
provider: custom
default: GigaChat-2-Pro
base_url: http://127.0.0.1:8091/v1
api_key: ~
api_mode: chat_completions
Кстати, помимо двушки Pro, есть двушка Max, просто двушка и модели первого поколения.
Настройки системы тут http://127.0.0.1:9119
———
После рестарта при помощи
docker compose restart эта конфигурация станет активной и вы сможете работать с Hermes через OpenAI-совместимое API, например:curl -sS --max-time 120 -N -X POST "http://127.0.0.1:8642/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <тут пишем свой api ключ из .env>" \
-d '{
"model": "hermes-agent",
"messages": [
{"role": "user", "content": "Кто ты?"}
],
"stream": false
}'
А ещё эту апишку можно использовать через Open WebUI, LibreChat или в качестве модели агента OpenCode.
Если у вас возникнут какие-то сложности, то не стесняйтесь задавать вопросы, постараюсь подсказать.
