GoModel
Go语言AI网关,一套接口聚合18+家LLM提供商,支持统一计费、监控与安全防护
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Go语言AI网关,一套接口聚合18+家LLM提供商,支持统一计费、监控与安全防护
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你同时使用了 GPT-5、Gemini 2.5、Claude 和 DeepSeek v4 四款大模型,每家都有独立的 API key、调用格式和计费逻辑。管理它们就像同时操控四台不同品牌的遥控器——焦头烂额,成本不清,延迟各异。而 GoModel 做的事情,就是给这四台遥控器提供一个 统一的万能遥控器,让你用一套 OpenAI 兼容的接口,调用所有这些大模型。
2025 年,LLM 生态呈现「百模大战」格局:OpenAI、Google、Anthropic、DeepSeek、xAI、阿里云、腾讯等各大厂商相继发布新模型,企业和开发者面临一个现实问题——如何高效管理和切换这些 LLM 提供商?
直接集成多个 SDK 的代价是:代码膨胀、维护成本高、计费分散、超时处理各异。更关键的是,当某一提供商的模型出现降级或价格波动时,无法快速切换。GoModel 正是为解决这一痛点而生的:它是一个用 Go 编写的轻量级 AI 网关,通过统一的 OpenAI 兼容 API,将 18+ 家 LLM 提供商聚合在一起,提供可观测性、流量控制、成本追踪和安全防护能力。
GoModel 由团队 ENTERPILOT 开发,主分支为 main,采用 Go 1.26.4 开发。项目结构清晰,采用标准的 Go 项目布局:
cmd/gomodel:主程序入口internal/:核心业务模块(40+ 个子包)
gateway:请求路由与协议转换llmclient:多提供商 LLM 客户端封装providers/:各 LLM 提供商实现(openai、anthropic、gemini、groq 等 18+ 提供商)guardrails:请求/响应安全过滤cache:多级缓存(Redis + 内存响应缓存)storage:多存储后端(PostgreSQL / MongoDB)observability:可观测性(Prometheus metrics)auditlog:完整审计日志authkeys:API Key 认证管理budget:用量预算控制batch / batchrewrite:批量请求处理与请求改写realtime:实时流式响应(Server-Sent Events)validation:请求参数校验config/:配置模板helm/:Kubernetes Helm Charttests/:集成测试依赖方面,核心技术栈包括:
GoModel 支持 18+ 家 LLM 提供商,通过统一的 /v1/chat/completions 接口进行智能路由。模型 ID 采用 provider/model-name 格式(如 openai/gpt-5-chat-latest、anthropic/claude-sonnet-4-20250514),无需修改任何调用代码。
| 提供商 | 代表模型 | 特色 |
|---|---|---|
| OpenAI | GPT-5 系列 | Chat / Responses / Embeddings / Batches 全支持 |
| Anthropic | Claude 系列 | 原生 /v1/messages 接口支持 |
| Google Gemini | Gemini 2.5 | Vertex AI + AI Studio 双模式 |
| DeepSeek | DeepSeek v4 | Passthrough 高速推理 |
| Groq | Llama-3.3-70B | 超低延迟推理 |
| xAI (Grok) | Grok-4 | 特色对话能力 |
| 阿里云 Bailian | Qwen3-Max | 通义千问系列 |
| MiniMax | M3 | TTS 语音合成 / ASR 语音识别 |
| 小米 MiMo | MiMo-v2.5 | 代码/推理优化 |
| Amazon Bedrock | Claude/Gemini/Llama | AWS 原生集成 |
| Ollama / vLLM | 本地模型 | 本地部署支持 |
| Oracle AI | GPT-OSS-120B | Oracle Cloud 部署 |
GoModel 提供企业级可观测性能力:
/metrics 端点,可直接接入 Grafana 看板/admin/providers/status内置多层安全机制:
X-GoModel-User-Path 实现用户路径追踪和审计batchrewrite 模块支持请求改写和模型参数覆盖modelselectors 模块根据请求特征自动选择最优模型openai-east、openai-west)GoModel 提供三种部署方式,难度从低到高:
# 仅需一个 API key 即可启动
docker run --rm -p 8080:8080 -e OPENAI_API_KEY="sk-xxx" enterpilot/gomodel
# 测试调用
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"gpt-5-chat-latest","messages":[{"role":"user","content":"Hello!"}]}'
# 启动完整技术栈(GoModel + Redis + PostgreSQL + MongoDB + Adminer + Prometheus)
cp .env.template .env
docker compose --profile app up -d
服务访问地址:
http://localhost:8080http://localhost:8081http://localhost:9090提供官方 Helm Chart(helm/ 目录),支持生产级 K8s 部署,包含 values.schema.json 验证。
git clone https://github.com/ENTERPILOT/GoModel.git
cd GoModel && cp .env.template .env
make run
硬件需求极低:无需 GPU,512MB RAM + 200MB 磁盘即可运行。Go 编译型二进制,单文件部署,内存占用远低于 Node.js/Python 同类工具。
| 特性 | GoModel | LiteLLM | FreeAI |
|---|---|---|---|
| 语言 | Go | Python | Python |
| 内存占用 | ~50MB | ~300MB+ | ~200MB |
| 启动速度 | <1s | 5-10s | 3-5s |
| 提供商数量 | 18+ | 15+ | 8 |
| 多存储后端 | PostgreSQL + MongoDB | PostgreSQL only | SQLite |
| Helm 支持 | 官方 Chart | 社区 Chart | 不支持 |
| Admin Dashboard | 原生支持 | 不支持 | 不支持 |
| 预算控制 | Budget 模块 | Proxy 层面 | 不支持 |
GoModel 的核心优势在于 Go 语言的性能优势:编译型二进制、低内存占用、快速冷启动,适合作为生产环境 Sidecar 或独立网关服务。相比 Python 生态的 LiteLLM,GoModel 在资源效率和并发处理上有显著优势。
配置复杂度:18+ 提供商各有不同的认证方式和模型列表,完整配置需要理解每个提供商的环境变量语义,上手有一定学习成本。
供应商绑定:虽然支持 Passthrough,但核心能力仍依赖各提供商的 API 稳定性,提供商 API 变更可能影响路由逻辑。
模型映射局限:部分提供商模型能力不一致(如某些只支持 Chat 不支持 Embeddings),需要查阅功能矩阵表才能正确选型。
生产验证:虽然代码质量较高(有完整 CI/CD、golangci-lint 代码检查、goreleaser 自动发布),但作为新兴项目(2024 年),生产环境的长期稳定性验证案例相对有限。
文档语言:目前文档以英文为主,对中文用户有一定门槛。
GoModel 代表了 LLM 网关领域的一个重要趋势——从 Python 生态向 Go 生态迁移。随着 AI 应用在生产环境中的普及,网关层需要更高的性能和更低的资源占用,Go 的并发模型和编译特性天然适合这一场景。
其多存储架构(PostgreSQL + MongoDB)和完整可观测性设计,也反映了 AI Gateway 从「简单代理」向「企业级管理平台」演进的行业方向。对于需要在多云、多提供商环境中统一管理 LLM 调用的团队,GoModel 是一个值得关注的技术选型,尤其适合对性能和资源占用敏感的场景。
本报告基于 GitHub 最新代码库(main 分支,2026-06-15)生成。