AiHummer
Русский
Войти
v1.0.x
{ }Swagger

BYOK и провайдеры LLM

v1.0.x · обновлено 2026-07-05

AiHummer никогда не требует платной модели. Из коробки он работает на свободных и локальных моделях и на транспорте через подписку Codex/ChatGPT, а если модель не подключена вовсе — рантайм откатывается на детерминированный mock, чтобы платформа всё равно запускалась и оставалась тестируемой. Когда же нужна конкретная модель, вы подключаете её сами — либо как конфигурацию на весь процесс, либо на арендатора через BYOK («bring your own key»).

Поддерживаемые провайдеры LLM

AiHummer общается с любым провайдером, у которого есть chat-API в стиле OpenAI (нативно), с остальными провайдерами — через внешний LLM-gateway, а также поддерживает транспорт через подписку ChatGPT. На практике это покрывает:

Провайдер Как подключается Примечания
OpenAI Нативный OpenAI-совместимый путь (AIHUMMER_OPENAI_*)
Любой эндпоинт стандарта OpenAI-API Тот же нативный путь: AIHUMMER_OPENAI_BASE_URL Локальные модели, OpenRouter, OpenAI-совместимый API Gemini и т. п.
Anthropic Через LLM-gateway (AIHUMMER_LLM_*) Модели Claude; нативного клиента Anthropic нет — sidecar-gateway держит ключ сам
Транспорт Codex / подписка ChatGPT Транспорт на базе подписки (AIHUMMER_CODEX_*) Использует подписку ChatGPT вместо тарифицируемого API-ключа

[!WARNING] Платный API модели никогда не обязателен. AiHummer работает на свободных и локальных моделях и на транспорте через подписку Codex/ChatGPT, а если модель не настроена — рантайм использует детерминированный mock: gateway всё равно запускается и отвечает. BYOK и платные ключи полностью опциональны.

Подключение модели через настройки

Ключи модели — это параметры каталога настроек (хранятся в БД): задавайте их в веб-админке («Управление → Настройки») или командой aihummer settings set, а не в gateway.env. Есть два независимых пути подключения — не смешивайте их переменные.

(а) Нативный OpenAI-совместимый путь. Gateway сам обращается к OpenAI-совместимому эндпоинту и сам передаёт ключ:

aihummer settings set AIHUMMER_OPENAI_API_KEY sk-...
aihummer settings set AIHUMMER_OPENAI_BASE_URL https://api.openai.com/v1
aihummer settings set AIHUMMER_OPENAI_MODEL gpt-4o-mini

Тот же путь работает для локального OpenAI-совместимого сервера, OpenRouter или OpenAI-совместимого эндпоинта Gemini — просто укажите его AIHUMMER_OPENAI_BASE_URL.

(б) Путь через внешний LLM-gateway (sidecar). Запросы уходят на ваш LLM-gateway, который сам держит ключи провайдеров — API-ключ через AiHummer не проходит вовсе:

aihummer settings set AIHUMMER_LLM_GATEWAY_URL http://127.0.0.1:8090
aihummer settings set AIHUMMER_LLM_PROVIDER anthropic
aihummer settings set AIHUMMER_LLM_MODEL claude-sonnet-4-5

[!WARNING] Пути не комбинируются: сочетание AIHUMMER_LLM_GATEWAY_URL с AIHUMMER_OPENAI_API_KEY ничего не даёт — на gateway-пути ключ не передаётся, sidecar использует собственные ключи.

Если не настроен ни один путь, используется детерминированный mock.

BYOK: ключи на арендатора

Если переменные окружения настраивают одну модель на весь процесс, то BYOK позволяет каждому арендатору задать свои собственные доступы к LLM. Ключи BYOK управляются через admin API:

GET  /v1/admin/byok
POST /v1/admin/byok

Ключи BYOK хранятся в зашифрованном vault, как и любой другой доступ — они никогда не пишутся в логи и не попадают в контекст модели. Именно это позволяет multitenant-развёртыванию полностью разделять биллинг моделей и ключевой материал между клиентами.

Что выбрать: общие настройки или BYOK

  • Используйте настройки AIHUMMER_OPENAI_* / AIHUMMER_LLM_* для одно-арендаторной или дефолтной модели, которую должен использовать весь gateway.
  • Используйте BYOK, когда разным арендаторам нужны разные ключи, разные провайдеры или раздельный биллинг — ключ на арендатора переопределяет дефолт для этого арендатора.

[!TIP] Поскольку принимается любой эндпоинт стандарта OpenAI-API, вы можете указать в AIHUMMER_OPENAI_BASE_URL локальный сервер модели, OpenRouter или OpenAI-совместимый эндпоинт Gemini, ничего больше не меняя в AiHummer.

Связь с остальной моделью доступов

Ключи BYOK — это доступы к модели, и они живут в том же зашифрованном vault, что и Connections и общие/персональные секреты. Разница в scope: BYOK отвечает на вопрос какую модель и ключ использует этот арендатор, а scope персональный/общий отвечает под чьими доступами выполняется конкретный вызов инструмента.

Куда дальше