ENTERPILOT/GoModel

AI gateway / AI control plane / AI proxy written in Go. Unified OpenAI-compatible and Anthropic-compatible API for OpenAI, Anthropic, Gemini, Groq, xAI, Ollama, vLLM and more. A LiteLLM alternative with observability, guardrails, streaming, cost tracking, intelligent routing, sticky sessions, failover, real-time logs and usage tracking. Prod ready.

GoModel 是什么?

GoModel 是一个用 Go 编写的开源 AI 网关。它位于你的应用程序(或任何兼容 OpenAI/Anthropic 的 SDK)与众多 LLM 提供商之间,为你处理 HTTP 调用。其主要目标是让使用多个模型变得廉价、可靠且可观测。


核心概念

概念 为何重要
单一端点 – 暴露一个 /v1(OpenAI)或 /v1/messages(Anthropic)API,转发到任何已配置的提供商。 你可以在不更改现有代码的情况下切换或混合后端。
缓存与提示压缩 – 存储精确或语义响应,并可选地在请求到达提供商之前压缩提示。 减少 token 使用量,从而降低成本。
成本与预算跟踪 – 每次请求的成本估算、仪表板、硬性支出限制。 防止使用昂贵模型时产生意外账单。
故障转移与密钥轮换 – 自动重路由、熔断器、多个 API 密钥的轮询。 提高可靠性并绕过每个密钥的速率限制。
可观测性 – Prometheus 指标、OpenTelemetry 追踪、Web UI 中的实时请求流。 为你提供监控性能和调试问题所需的数据。
可扩展插件与工作流 – 自定义护栏、响应过滤器、路由逻辑,以 Go 插件(.so)形式加载。 让团队无需更改应用程序代码即可实施策略(例如,不当内容过滤器)。

主要功能(如 README 中所列)

  • 缓存 – 精确和语义响应缓存。
  • 成本跟踪与预算 – 实时支出分析,每个用户/团队/密钥的硬性限制。
  • 速率限制 – 对请求、token、并发数的上限。
  • 虚拟模型 – 稳定的模型别名,可在提供商之间进行负载均衡。
  • 会话保持 – 将客户端会话固定到特定提供商,以保持其提示缓存温暖。
  • 故障转移与弹性 – 重试、熔断器、备用提供商。
  • 标签与用户路径 – 密钥、预算和审计日志的分层范围。
  • MCP 网关 – 在一个端点后聚合多个 MCP 服务器。
  • 透传 API – 在 /p/{provider}/… 下直接访问提供商原生端点。
  • 音频与图像 API – TTS、转录、图像生成/编辑,均具有相同的访问控制。
  • 护栏与插件 – 请求/响应策略、自定义过滤器、路由策略。
  • 工作流 – 版本化的每请求策略包。
  • 提供商密钥轮换 – 多个 API 密钥的轮询。
  • 可观测性 – Prometheus、OpenTelemetry、审计日志、实时流。
  • Playground UI – 从仪表板试用任何模型并查看原始 JSON。

谁可能使用它?

使用场景 GoModel 如何帮助
初创公司或 SaaS 平台,需要在 OpenAI、Anthropic、Gemini 等之间切换而无需重写代码。 一个可配置的网关取代了许多 SDK 更改。
预算严格的团队,希望按项目或用户限制支出。 内置成本跟踪、预算和速率限制。
企业,需要审计日志、SSO 和自定义护栏。 仪表板、OpenTelemetry、OIDC SSO(Pro)、插件系统。
运行自托管 LLM 的开发者(例如,Ollama、vLLM)。 支持“所有兼容 OpenAI 的提供商”,并可代理到本地模型。
需要指标和警报的运维团队。 Prometheus 指标、熔断器逻辑、健康检查。

快速入门(简要回顾)

  1. 安装 – macOS/Linux 的一行脚本、Windows 的 PowerShell 脚本或 Docker 镜像。
  2. 配置 – .env、config.yaml 或仪表板 UI;模板列出了所有环境变量。
  3. 运行 – gomodel(或 docker run …)。管理 UI 位于 http://localhost:8080/admin/dashboard。
  4. 调用 API – 向 /v1/responses(OpenAI 风格)发送 POST,或使用任何指向 http://localhost:8080/v1 的 OpenAI/Anthropic SDK。

许可证与社区

该仓库是开源的(README 未指定许可证,但 CI、Docker 镜像和公共仓库的存在表明是 OSS 许可证)。该项目正在积极维护 – 链接了 CI 徽章、Docker 拉取、Discord 社区和 Hacker News 讨论。


总结

GoModel 是一个基于 Go 的自托管 AI 网关,允许你在单个兼容 OpenAI 的端点后路由、缓存、监控和控制对数十个 LLM 提供商的请求。它面向需要成本控制、可靠性和可观测性,同时保持现有 SDK 不变的团队。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目