EnglishРусский Map

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, если нужно развернуть агента за шлюзом