Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Lazu 与 LiteLLM

LiteLLM 是用得最多的开源 LLM 网关。它起初是一个 Python SDK,用一个函数调一百家供应商,代理是围着它长出来的。Lazu 是一个 Go 网关,连同账本、控制台和文档站打包成一个产品。两者在「一个入口,多家供应商」上重合,在周围几乎所有事情上分开。以下事实于 2026 年 11 月 2 日核对。

各自给谁用

LiteLLM 给的是给自家服务跑共享网关的平台团队:要一个能进版本库的 config.yaml,要能挂 Python 回调,要一个管 Key、团队和花费的管理界面。SDK 不带代理也能单独用。

Lazu 给的是给人和 Agent 发 Key 的团队、实验室或公司:每把 Key 有预算,每个请求有记录,Key 的主人自己能读。运营者在控制台里管上游、价格和用户;路由没有配置文件。

并排看

LiteLLMLazu
运行时Python 代理(Rust 路径可选,只服务少数几条路由);pip、Docker、HelmGo 网关和 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 和其他网关概览。