HybridInference

HybridInference 是一个开源的 LLM 推理网关。它对外只提供一套 OpenAI 兼容的 HTTP API,背后可以同时接你自己部署的推理服务器(vLLM、SGLang、Ollama,或其他任何兼容 OpenAI API 的服务)和各家托管的 provider API,每个请求交给谁来回答,由网关决定。

整个系统围绕一个想法:客户端请求的是模型 id,而实际处理请求的端点可以随时替换。同一个模型 id 背后可以同时挂多条路由,于是可以按权重在它们之间分流、在某个端点变差时自动切到别的路由、分别计价并记录日志——客户端一行代码都不用改。

这份文档讲的是网关软件本身:怎么运行、怎么理解、怎么扩展,以及怎么参与开发。源码在 github.com/HarvardMadSys/hybridInference,采用 MIT 许可;发现 bug 或有问题,请提交到它的 issue tracker。

包含哪些部分

  • OpenAI 兼容的接口——POST /v1/chat/completions、POST /v1/embeddings、POST /v1/responses 和 GET /v1/models;另外,/v1/messages 和 /anthropic/v1/messages 提供 Anthropic Messages 接口,方便使用这套协议的客户端。

  • 路由引擎——每个模型可以选自己的 router;同一个模型 id 的多条路由按权重挑选,失败了自动换下一条;每个端点还有熔断器,持续失败的端点会被暂时移出。

  • provider adapter——一个通用的 OpenAI 兼容 adapter,你自己部署的本地服务器也用它;另外还有 OpenRouter、Anthropic 官方 API、Google Vertex 上的 Claude 和 Gemini 的专用 adapter。

  • Web 控制台与管理后台——一个 Next.js 应用,提供注册登录、API key 管理、用量和最近请求、对话调试页(playground),以及管理后台:用户、模型可见性、provider key、路由权重和数据分析。

  • 运行数据存储——用 Postgres 存账号、API key 和请求日志;表结构由网关在启动时自动创建,不需要单独的迁移工具。

后端是 apps/backend/ 下的 Python 代码(3.10–3.13),分成两部分:serving/(HTTP 接口、鉴权、adapter、存储、可观测性)和 routing/(路由表、路由策略、端点健康、回退)。控制台是 apps/frontend/ 下的 Next.js 应用。整个仓库采用 MIT 许可证。

从哪里开始

如果你想

看这里

不用账号、key 或 GPU,先看网关处理一次请求

快速开始

用真实的 provider 跑起你自己的网关

安装

了解发行版能配置、能定制哪些东西

发行版定制

跟着一个请求,从 HTTP 入口一路走到上游调用

架构

从网关已经支持的 provider 再接入一个模型

添加新模型

接入一个网关还不支持的 provider API

编写 provider adapter

不改 YAML、不重启,直接在管理控制台里添加 provider、key 或模型

配置 里的从管理控制台做运行时配置一节

改变端点的挑选方式,或者自己写一个路由策略

路由

提交代码改动

参与贡献

确认运行的是哪个版本,或规划一次升级

发布与升级

查一个术语,例如路由、端点或发行版

术语表

本站的范围

这些页面讲的是软件本身,不针对任何一个具体部署。某个网关提供哪些模型、怎么在上面开账号,由各自的运营方另行公布。

仓库的组织方式也体现了这一点:每个部署把自己的站点信息、配置文件位置和功能开关放在 distributions/ 下的发行版 overlay里,而不是写进代码。所以新克隆下来的仓库不带任何别人的部署信息,跑起来就是你自己的网关。怎么配置和扩展 overlay,见 发行版定制。