GoModel
- title
- GoModel
- type
- toolbox
- summary
- Шлюз ИИ на Go с единым OpenAI-совместимым API для 10+ провайдеров LLM
- tags
- golang, ai-gateway, llm, proxy, observability
- language
- Go
- license
- MIT
- created
- 2026-04-22
- updated
- 2026-04-22
- lang
- ru
- translation_of
- gomodel
- source_updated
- 2026-04-22
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
GoModel - это шлюз ИИ на Go, предоставляющий единый OpenAI-совместимый API к более чем 10 провайдерам LLM: OpenAI, Anthropic, Google Gemini, Groq, OpenRouter, Z.ai, xAI (Grok), Azure OpenAI, Oracle Generative AI и Ollama. Проект явно позиционируется как альтернатива LiteLLM - та же предметная область (единый уровень доступа к LLM для разработчиков приложений), но другой язык (Go вместо Python).
Создан командой ENTERPILOT, лицензия MIT, 379 звёзд, появился в декабре 2025 года.
Что входит
Шлюз автоматически определяет доступных провайдеров по переданным учётным данным. Таблица возможностей из README:
| Возможность | Охват |
|---|---|
| Chat completions | Все 10 провайдеров |
/v1/responses (OpenAI Responses API) |
Все 10 провайдеров |
| Embeddings | 7 провайдеров (кроме Anthropic, Oracle; Ollama - частично) |
| Files | 5 провайдеров (OpenAI, Gemini, Groq, OpenRouter, xAI, Azure) |
| Batches | 6 провайдеров |
Provider-native passthrough по адресу /p/{provider}/... |
OpenAI, Anthropic, OpenRouter, Z.ai по умолчанию |
Кроме того: аналитика использования по моделям/дням/периодам, журнал аудита, кэширование ответов, метрики Prometheus, панель администратора, Swagger UI, конвейер guardrails, настраиваемое хранилище (SQLite, PostgreSQL, MongoDB).
Эксплуатация
Спроектирован как готовый к развёртыванию в продакшене сервис, а не библиотека:
- Образ Docker
enterpilot/gomodelна Docker Hub. - Профили Docker Compose для чистой инфраструктуры (Redis/Postgres/MongoDB/Adminer) или полного стека (+ GoModel + Prometheus).
- Переменная окружения
GOMODEL_MASTER_KEYдля авторизации в API. README отдельно предупреждает: без этого ключа все эндпоинты остаются открытыми без аутентификации. - Учётные данные передаются через переменные окружения; в README рекомендуется использовать
--env-fileвместо-e, чтобы не светить секреты в истории shell и списке процессов.
Для сборки из исходников требуется Go 1.26.2+.
Почему это важно
Исполнение LiteLLM на Python всегда создавало неудобства командам с бэкендом на Go или Rust: поднимать отдельный процесс на Python только ради шлюза накладно с точки зрения эксплуатации. GoModel устраняет это несоответствие: один бинарник, одна среда исполнения, встраивается в развёртывание на Go точно так же, как любой другой сервис.
Кроме того, сквозная передача запросов (/p/{provider}/...) - интересное архитектурное решение. Вместо того чтобы принудительно заворачивать каждый клиент в shim со схемой OpenAI, шлюз открывает сырой API провайдера, добавляя лишь аутентификацию, логирование и учёт использования. Это соответствует реальному разделению продакшен-трафика: для одних задач удобен нормализованный формат OpenAI, для других нужны специфичные возможности провайдеров, которые не укладываются в схему OpenAI (кэширование промптов у Anthropic, grounding у Gemini и так далее).
Репозиторий
https://github.com/ENTERPILOT/GoModel - 379 звёзд, MIT. Документация на gomodel.enterpilot.io. Ссылки на Discord и Docker Hub есть в README.
Связанные страницы
- rawquery - смежный инструмент для работы со структурированными данными (платформа для работы с данными с упором на CLI), а не LLM-шлюз
- build-your-own-openclaw - руководство по созданию агента; отлично подойдёт к GoModel, если нужно развернуть агента за шлюзом