respanai/respan-gateway

One endpoint for every LLM vendor. Any SDK, any model, any tool. One Rust binary.

Respan Gateway 是一个单一程序(Rust 二进制文件),位于你的应用程序和所有主要 AI 提供商之间。与其为每个 AI 供应商编写单独的代码,不如将现有的 AI SDK 指向 Respan Gateway,它会将你的请求转换为你想要的任何提供商——OpenAI、Anthropic、Gemini 等——并处理诸如切换格式、重试失败的调用以及路由到最便宜或最快的选项等繁琐细节。

功能

  • 任意客户端,任意模型 — 你可以使用 OpenAI、Anthropic 或 Gemini SDK,仍然可以调用任何提供商的模型。网关会自动在不同 API 格式之间进行转换。
  • 多模态 — 它不仅支持文本聊天,还支持图像、语音(实时)、语音合成、转录、嵌入和视频,跨供应商。
  • 适用于每个模型的工具 — 你可以附加 MCP 服务器(一种为 AI 模型提供额外工具(如网络搜索或代码执行)的标准方式),并让它们与任何模型配合使用,即使该模型最初并非为这些工具而设计。
  • 流量控制 — 你可以设置命名路由、回退、重试和“对冲”请求(其中慢速调用与第二个提供商竞争,以获得最快的响应)。
  • 可观测性 — 它记录每个请求的成本、延迟和令牌使用量,并可以将跟踪发送到 Respan 的分析平台。
  • 性能 — README 声称在其基准测试中,附加延迟非常低(0.07 ms),吞吐量高(每秒超过 56,000 个请求),内存使用量低(31 MB)。
  • 插件 — 网关所做的一切都是基于公共 Rust API 的插件构建的。你只需一个 trait 和四个钩子,就可以编写自己的插件(例如,用于护栏、PII 掩码或计费)。

使用方法

  1. 安装 — pip install respan-gateway(或通过 Cargo 或 GitHub 版本)。
  2. 运行 — 将 API 密钥设置为环境变量(例如 OPENAI_API_KEY),然后运行 respan-gateway。启动时无需配置文件;它会自动拾取任何设置了密钥的提供商。
  3. 调用 — 将现有 SDK 指向 http://localhost:8080(默认地址)。例如,使用 Anthropic SDK,你可以将 base_url 设置为该地址,然后调用任何模型,甚至包括来自 OpenAI 的模型。

Web UI 可在 http://localhost:8080/ui/ 上用于监控。

配置

当你需要更多控制时,运行 respan-gateway init 生成一个带注释的 gateway.toml 文件。该文件允许你定义提供商、路由、工具和跟踪。你可以使用 respan-gateway check 验证它,并使用 --watch 或 SIGHUP 无需重启即可重新加载。如果没有客户端密钥,网关出于安全考虑仅监听 localhost。

支持的 API 格式

网关接受几种常见格式的请求(OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Gemini API,以及实时语音、图像、语音合成、嵌入、视频和决策),并将它们转换为支持该功能的任何提供商。它还会原封不动地中继任何供应商特定的 API 调用。

插件与社区

一切都是基于插件的,因此你可以扩展它。README 列出了 16 个模型提供商、12 个工具供应商,以及与 LangChain、Vercel AI SDK 和 Pydantic AI 等流行框架集成的指南。欢迎贡献,添加新供应商通常只需一个文件。

有关更多详细信息,README 会指向配置、供应商、MCP 工具和插件开发的相关文档文件。

相关

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