Lazu 与 LiteLLM
LiteLLM 是用得最多的开源 LLM 网关。它起初是一个 Python SDK,用一个函数调一百家供应商,代理是围着它长出来的。Lazu 是一个 Go 网关,连同账本、控制台和文档站打包成一个产品。两者在「一个入口,多家供应商」上重合,在周围几乎所有事情上分开。以下事实于 2026 年 11 月 2 日核对。
各自给谁用
LiteLLM 给的是给自家服务跑共享网关的平台团队:要一个能进版本库的 config.yaml,要能挂 Python 回调,要一个管 Key、团队和花费的管理界面。SDK 不带代理也能单独用。
Lazu 给的是给人和 Agent 发 Key 的团队、实验室或公司:每把 Key 有预算,每个请求有记录,Key 的主人自己能读。运营者在控制台里管上游、价格和用户;路由没有配置文件。
并排看
| LiteLLM | Lazu | |
|---|---|---|
| 运行时 | Python 代理(Rust 路径可选,只服务少数几条路由);pip、Docker、Helm | Go 网关和 worker、React 控制台、Vocs 文档站;一套 Docker Compose |
| 配置 | config.yaml 加环境变量;管理界面 | 上游、价格、用户、公告都在控制台;环境变量和 config.yaml 只放凭据 |
| 账户 | 虚拟 Key、内部用户、团队、组织、客户 | 用户、团队和项目、成员预算、API Key |
| 预算 | 按 Key、团队、成员、用户、客户,可定期重置;到 max_budget 硬拦 | 预付余额;按 Key 上限、项目和支出预算;调用前预留,按上游计数结算,失败释放 |
| 用量记录 | 花费统计和日志;花费报表、按团队记日志和多种导出属企业版 | 每个请求一条记录,含用量、测量来源和计费明细,发起请求的 Key 可读;Agent 会话;核对脚本 |
| 路由 | Router 在多个部署间重试和回退,负载均衡 | 每个模型按优先级和权重选渠道,健康窗口,同模型重试;公开的线路健康页 |
| 协议 | 接收 OpenAI、Anthropic /v1/messages、Gemini generateContent,转给任意供应商 | 接收同样三族;只在无损时转换,否则返回点名该功能的 400 |
| 扩展 | litellm_settings 里的 Python CustomLogger 钩子和护栏 | 编译进构建的 Go 和前端扩展点;核心不知道扩展的存在 |
| 付费版 | 企业许可:5 人以上 SSO、审计日志、RBAC、标签预算、预警、花费报表、日志导出、更多护栏 | 没有;仓库里的东西不需要许可证就能全部跑起来 |
| 许可 | MIT,enterprise/ 另有许可 | AGPL-3.0-or-later |
钱
LiteLLM 按层级统计花费,超预算的层级被拦。Lazu 开始得更早、结束得更晚:调上游之前从预付余额里预留一个估算值,调完之后按上游报的用量结算,并把每个维度标成上游测量、本地估算或不可用。失败且没有可计费输出的请求退回预留;账户付不起的请求到不了上游;账户永远不会被悄悄透支。规则写在计费合同里,也老实写了一句:预留是估算不是上限,没限制输出长度的请求可能花得比预留的多。
如果你要的是给十几个内部服务按月重置的预算,LiteLLM 今天就有。如果你要把一把 Key 交给外包或者 Agent,事后要能准确说出它花了多少,Lazu 就是围着这件事做的。
协议
两者都接受 OpenAI、Anthropic 和 Gemini 格式的请求,并发给说另一种格式的供应商。LiteLLM 的文档写了能转到它支持的每家供应商,没有写保真规则。Lazu 只沿着验证过无损的边转换,其余的在调上游之前返回点名功能和字段的 400,所以工具调用或推理参数不会在路上被丢掉(设计说明)。
什么时候选哪个
- 网关是你平台内部的一块、你要 YAML 和 Python 钩子、或者你已经在用 LiteLLM SDK,选 LiteLLM。
- 网关本身就是你要交给人的产品:带预算的 Key、钱包、他们自己能读的请求记录、一个不写代码的运营者也能用的控制台,选 Lazu。
- 两个一起跑也合理:LiteLLM 当服务里的库,Lazu 当那个服务扣钱的账户。
另见 Lazu 与 New API 和其他网关概览。