跳转到主要内容
PromptQuorum为人类设计。 为AI结构化。
主页/本地LLM进阶
Overview & Reference

LiteLLM 评测:统一网关接入100多个LLM提供商API

·12分钟阅读Hans Kuepper 作者 · PromptQuorum创始人 · 开放权重与开源AI发现引擎

LiteLLM(github.com/BerriAI/litellm)是一个开源网关,让你的代码通过单一的OpenAI兼容接口调用100多个LLM提供商API,而不必为每个提供商编写单独的集成代码。

关键要点

  • 在GitHub(BerriAI/litellm)开源;截至本评测超过61,000个星标
  • 核心仓库根据其自身LICENSE文件采用MIT许可;另有单独许可仅适用于enterprise/子目录——本评测已直接核对LICENSE文件加以验证
  • 两款产品:Python SDK litellm(pip install litellm),用于直接从代码调用提供商;以及LiteLLM Proxy Server(`pip install 'litellm[proxy]'`或Docker),作为带管理仪表盘的自托管网关
  • 根据项目自身README,将100多个提供商API(OpenAI、Anthropic、Google Gemini、AWS Bedrock、Azure OpenAI、Ollama等)统一在同一请求/响应格式之后
  • README和文档站点中记录的功能:负载均衡、路由、故障转移/失败切换、按密钥和按用户的预算、速率限制、请求缓存与支出日志
  • 无需GPU——LiteLLM转发请求而非执行模型权重;代理的生产部署需要PostgreSQL(密钥、支出数据)和Redis(跨实例速率限制),而非GPU
  • 可通过Docker(docker.litellm.ai/berriai/litellm)、Helm charts、官方AWS ECS Fargate Terraform模块、官方Google Cloud Run Terraform模块,或Render/Railway一键部署按钮进行部署
  • litellm.ai/enterprise提供单独的商业Enterprise层级,涵盖SSO、优先功能请求和专属支持——开源SDK和代理无需它也能完全可用

📍 简单一句话

LiteLLM是一个开源网关,让应用通过单一的OpenAI兼容接口调用100多个LLM提供商API,可作为Python SDK使用,也可作为具备路由、故障转移、成本追踪和速率限制功能的自托管代理服务器使用。

💬 简单来说

如果你的应用今天要对接OpenAI,明天又要对接Anthropic或本地的Ollama模型,通常你得为每一个重写集成代码。LiteLLM居中充当翻译层,把每个提供商的API都转换成同一种类OpenAI格式,这样你的代码只需学会一种格式——而代理版本还额外提供一个仪表盘,用来查看谁花了多少钱。

LiteLLM(github.com/BerriAI/litellm,文档见docs.litellm.ai)是一个开源的LLM网关,为你的代码提供单一的OpenAI兼容接口,用于调用100多个不同的提供商API——包括OpenAI、Anthropic、Google Gemini、AWS Bedrock、Azure、Ollama等——而无需为每个提供商单独编写集成代码。它有两种使用形态:可导入的Python SDK(pip install litellm),以及带管理仪表盘的自托管代理服务器,可通过Docker、Helm、AWS ECS Fargate或Google Cloud Run部署。本评测介绍LiteLLM实际能做什么、如何安装和运行这两种模式、它的许可协议(并非整个仓库简单地都是"MIT"),以及它相对于vLLM、LocalAI和OpenRouter这类托管路由服务的定位。

LiteLLM 评测:统一网关接入100多个LLM提供商API

LiteLLM是什么?

LiteLLM是一个网关,将单一的OpenAI兼容请求格式转换为对100多个不同LLM提供商API的调用。 它自身的GitHub仓库简介将其描述为"最快、最轻量的AI网关",采用Rust核心加Python SDK的架构——这是相较项目早期纯Python实现的一次转变。应用无需为OpenAI API、Anthropic API和本地Ollama服务器分别编写客户端代码,只需调用一次LiteLLM,由LiteLLM将请求转发给该模型名称所配置的提供商。

  • 核心功能:接收OpenAI的chat/completions格式(或目标提供商的原生格式)请求,转发给已配置的提供商,并返回标准化响应
  • 两种接入方式:直接导入应用代码的Python SDK litellm,以及供其他应用通过HTTP调用的独立服务LiteLLM Proxy Server
  • 开发方:BerriAI,即github.com/BerriAI/litellm仓库背后的组织
  • 并非模型运行时:LiteLLM本身不加载模型权重也不执行推理——它将请求路由给真正执行这些操作的提供商,包括云端API和Ollama、vLLM等本地服务器
  • 根据文档,生产级代理功能包括:虚拟API密钥、按密钥和按用户的支出预算、速率限制、同一模型多个部署间的负载均衡,以及提供商出错时的自动故障转移

LiteLLM能做什么?

根据LiteLLM自身文档,其功能集涵盖请求路由、成本控制与可靠性——这些正是随着提供商和用户数量增加而愈发棘手的LLM应用运维部分。

  • 统一的API接口 — 发送OpenAI格式的请求;LiteLLM将其转换为目标模型所需提供商的原生格式,并将响应标准化后返回
  • 路由与负载均衡 — 将流量分散到同一模型的多个部署(例如多个Azure OpenAI区域),以避免单点故障或触及速率限制上限
  • 故障转移与重试逻辑 — 请求失败时自动向另一个提供商或模型部署重试,而不是将错误直接暴露给终端用户
  • 成本追踪与预算 — 按API密钥、用户或团队记录支出,并设置硬性预算上限,一旦超出即阻止后续请求
  • 速率限制 — 按密钥或用户限制每分钟/每token的请求数,并通过Redis在多个代理实例间保持一致
  • 护栏与日志 — 提供内容审核和可观测性集成的钩子,以及用于审计的结构化请求/响应日志
  • 管理仪表盘 — 一个Web界面(在代理的/ui提供),用于管理虚拟密钥、查看支出及配置模型,无需直接编辑配置文件
  • 同样适用于本地运行时 — 调用OpenAI或Anthropic的同一路由层,也可以同样指向本地的Ollama或vLLM端点,使一个网关能够混合云端模型和本地模型

使用示例:使用LiteLLM的两种方式

以下是基于上述LiteLLM文档化安装路径构建的具体工作流程——而非假设性用例。

从一个Python脚本调用多个提供商

安装SDK(pip install litellm),然后将直接对openai、anthropic或特定提供商客户端的调用,替换为`litellm.completion(model="gpt-4o", messages=[...])或litellm.completion(model="claude-opus-4", messages=[...])`。两种调用返回相同的标准化响应结构,因此切换提供商只需改动一行模型名称,而无需重写。

为团队运行自托管网关

部署LiteLLM Proxy Server(Docker或Helm),定义一个带model_list的config.yaml,将易读的模型名称映射到真实的提供商部署,并为每位开发者或每个应用签发一个虚拟API密钥。现在每个应用调用的是一个内部端点,而不是各自持有OpenAI/Anthropic密钥,支出则在管理界面中集中追踪。

在同一端点背后混合云端与本地模型

在config.yaml的同一model_list中同时添加云端模型(例如openai/gpt-4o)和由Ollama或vLLM提供的本地模型。将常规或涉及隐私的流量路由到本地模型,仅在需要时才升级到云端模型,而调用方应用与网关的通信方式无需改变。

安装LiteLLM:SDK、代理与Docker

LiteLLM是一个框架兼自托管网关,而不是面向终端用户的可下载应用——没有可以从应用商店"获取"的安装程序。 以下是根据LiteLLM自身文档和Docker快速入门整理的实际安装与快速启动命令;部署前请务必直接查阅文档,因为具体参数和镜像标签可能随版本变化。

Python SDK

命令:
pip install litellm(或uv add litellm)

Proxy Server(pip)

命令:
`pip install 'litellm[proxy]',然后litellm --model gpt-4o`

Proxy Server(Docker)

命令:
docker run -v $(pwd)/config.yaml:/app/config.yaml -e OPENAI_API_KEY=<key> -e LITELLM_MASTER_KEY=sk-1234 -p 4000:4000 docker.litellm.ai/berriai/litellm:latest --config /app/config.yaml

Helm(Kubernetes)

命令:
helm install litellm oci://ghcr.io/berriai/litellm-helm -f values.yaml

AWS ECS Fargate

命令:
官方Terraform模块BerriAI/litellm/aws(配置VPC、Aurora PostgreSQL、ElastiCache Redis、ALB、ECS)

Google Cloud Run

命令:
官方Terraform模块BerriAI/litellm/google(配置Cloud SQL、Memorystore Redis、GCS、HTTPS负载均衡器)

代理默认使用4000端口,管理仪表盘位于http://localhost:4000/ui(默认登录:用户名admin,密码与你的LITELLM_MASTER_KEY相同)。最简config.yaml需要一个model_list数组,将model_name映射到litellm_params(真实的提供商模型字符串及其API密钥)——完整示例参见代理快速入门。根据LiteLLM的部署文档,Render和Railway也为代理提供了一键部署按钮。

LiteLLM定价:真的免费吗?

开源SDK和Proxy Server是免费的——你只需为经LiteLLM路由的底层提供商API调用付费,外加自己的托管成本。 对于开源路径,LiteLLM本身不按请求或按token收费。根据项目自身网站,litellm.ai/enterprise提供单独的付费LiteLLM Enterprise层级,涵盖SSO、优先功能请求和专属支持——本评测未找到公开的Enterprise定价,建议直接联系LiteLLM获取报价。

  • 开源SDK和Proxy Server:无许可费用,核心仓库采用MIT许可(见下方许可说明)
  • 你仍需向所路由到的提供商付费——LiteLLM并不降低OpenAI、Anthropic或Bedrock的API价格,只是将其统一并记录
  • 自托管代理有其自身的基础设施成本:服务器或容器托管,外加生产使用所需的PostgreSQL和Redis
  • 根据litellm.ai/enterprise,LiteLLM Enterprise在同一开源核心之上增加SSO、优先支持及其他商业功能——价格未公开,需联系公司获取
  • Enterprise定价按年计费,根据网关的请求容量、部署架构和支持需求确定,绝不按token计费(据litellm.ai/pricing);提供30天Enterprise试用密钥,报价需通过销售团队获取
  • 据LiteLLM的SSO文档,自v1.76.0起,单点登录(SSO)最多5个用户免费,超出后需要企业许可证

LiteLLM 对比 vLLM 与 LocalAI

LiteLLM、vLLM和LocalAI解决的是不同的问题,因为三者都提供OpenAI兼容API,所以很容易被混淆。 LiteLLM将请求路由到运行在别处的模型;vLLM和LocalAI则自己执行模型权重。

方面
LiteLLM
主要功能将请求路由给提供商自行提供模型服务自行提供模型服务
是否执行模型权重否是是
许可协议MIT(+ enterprise例外)Apache-2.0MIT
是否需要GPU不需要(仅作路由)实时服务需要视模型而定
最适合多提供商路由与支出追踪高吞吐量自托管服务单一自托管OpenAI兼容API

这些工具通常是搭配使用而非互相替代:LiteLLM可以作为路由与成本追踪层置于vLLM或LocalAI部署之前,而实际的模型推理由vLLM或LocalAI完成。关于这两者的详情,参见专门的vLLM详解和LocalAI详解。

在目录中比较

谁适合使用LiteLLM?

LiteLLM是否适合,取决于你的应用是否已经调用(或计划调用)不止一个LLM提供商——单一提供商的应用从路由层获得的收益较小。

以下情况适合使用LiteLLM

  • 你的应用调用两个或以上LLM提供商(或计划这样做),希望用一条代码路径取代按提供商分别编写的集成代码
  • 你需要跨多个应用、团队或客户,实现集中的成本追踪以及按密钥或按用户的预算管理
  • 你希望在主提供商出错或触发速率限制时,自动故障转移到第二个提供商
  • 你希望在同一端点背后混合使用云端模型和本地托管模型(通过Ollama或vLLM)
  • 你希望路由层是开源的(MIT核心),而不是一个封闭、仅提供托管的服务

以下情况应观望或考虑其他方案

  • 你的应用只调用一个提供商,也没有增加第二个的计划——路由层会增加运维面(需要运行的代理或SDK依赖),却没有立竿见影的收益
  • 你需要的是模型服务引擎,而非路由器——你实际需要的是能够执行模型权重的东西(参见vLLM或LocalAI)
  • 你想要完全托管、零运维的路由服务,而不是自托管代理——OpenRouter这类托管路由器可以省去PostgreSQL/Redis的运维负担,但代价是要经由第三方
  • 许可决策特别取决于enterprise/目录内的代码——请直接阅读enterprise/LICENSE,而不要假设整个仓库的MIT许可适用于那里

LiteLLM 对比其他网关与框架

LiteLLM属于PromptQuorum本地LLM软件目录中的路由器/网关细分领域,该领域另有三篇专门评测,列在下方最前面。其余对比来自目录中同属“Run & Serve”部分的相邻工具,以及目录之外一个广为人知的托管替代方案。

  • Plano — 面向智能体应用的自托管、基于Envoy的AI代理与数据平面,具备LLM路由、可观测性和防护栏(Apache-2.0)。
  • ClawRouter — 为智能体设计的自托管LLM路由器,在本地做出路由决策,在前沿模型与免费开放权重模型之间分配请求(MIT)。
  • AIClient2API — 自托管代理,将Gemini CLI、Codex、Grok、Kiro和Antigravity的客户端协议转换为统一的OpenAI兼容API(GPL-3.0)。
  • vLLM — 一个真正提供模型权重服务的自托管推理引擎(需要GPU);通常与LiteLLM搭配使用而非与之竞争,由LiteLLM作为路由层置于一个或多个vLLM部署之前。
  • LocalAI — 一个用于本地运行开放模型的自托管、OpenAI兼容API服务器;它解决的是与LiteLLM不同的问题(提供服务 vs. 路由),但暴露出类似的OpenAI格式API,这也是两者常被混淆的原因。
  • LangChain — 一个用于构建LLM驱动应用(链、智能体、记忆)的应用框架;它可以调用LiteLLM(或直接调用任何提供商)作为其模型访问层,而不是取代LiteLLM所做的事情。
  • OpenRouter(外部工具,未收录于PromptQuorum目录) — 一个托管、受管理的路由服务,覆盖与LiteLLM代理类似的多提供商场景,但它是你调用的第三方服务,而非你自行托管的基础设施;如果你想要零运维路由而不是自己运行代理,值得直接对比。

在目录中比较

评估LiteLLM时的常见误区

关于LiteLLM的大多数困惑,来自将其与模型服务引擎混淆,或对其许可协议过度简化。

误区1:以为LiteLLM自己运行模型

LiteLLM是一个路由器——它将请求转发给提供商API,或你所指定的本地运行时(Ollama、vLLM等)。与vLLM或LocalAI不同,它本身既不加载模型权重,也不执行推理。

误区2:把整个仓库都当作简单的MIT许可

根据仓库自身的LICENSE文件,核心代码采用MIT许可,但enterprise/子目录中的内容根据enterprise/LICENSE单独授权。在假设一律适用MIT条款之前,请确认自己实际使用的是哪些文件。

误区3:跳过PostgreSQL和Redis,随后遇到支出数据缺失或速率限制不一致

仅使用litellm SDK本身不需要任何数据库。自托管的Proxy Server需要PostgreSQL来持久化虚拟密钥和支出记录,需要Redis来在多个代理实例间保持速率限制的一致性——不配置两者运行代理,用于快速测试是可行的,但在规模化场景下会失去这些功能。

误区4:期望LiteLLM能降低提供商API价格

LiteLLM在各提供商之间追踪并统一成本,但并不会为你已经支付的OpenAI、Anthropic或Bedrock底层价格进行议价或打折。节省来自路由/故障转移避免了无谓的重试和速率限制导致的停滞,而不是来自每个token价格的变化。

常见问题

LiteLLM是什么?

LiteLLM(github.com/BerriAI/litellm)是一个开源网关,让应用通过单一的OpenAI兼容接口调用100多个LLM提供商API,可作为Python SDK使用,也可作为具备路由、成本追踪和速率限制功能的自托管代理服务器使用。

LiteLLM是免费的吗?

开源SDK和Proxy Server是免费的——你只需为底层提供商API调用和自己的托管付费。付费的LiteLLM Enterprise增加了超过5个用户的SSO、审计日志和带SLA的7×24小时支持;它按年通过销售报价,依据请求容量确定,绝不按token计费。提供30天试用密钥,但未公布价格。

LiteLLM适合企业使用吗?

适合。采用MIT许可的核心(enterprise/之外的全部内容)可用于商业用途,团队通常将其作为共享的内部网关,配合虚拟密钥、预算和支出追踪使用。超过5个用户的SSO、SCIM、审计日志以及带SLA的支持需要付费的Enterprise许可证;其页面列出了SOC 2 Type 2和ISO 27001(厂商声明,本评测未核实)。数据保护合规性取决于你路由到的提供商和你的配置。这不构成法律建议,请咨询你的数据保护负责人。

LiteLLM使用哪种许可协议?

根据仓库自身的LICENSE文件,核心仓库采用MIT许可。另有单独许可仅适用于enterprise/子目录,见enterprise/LICENSE——本评测已直接核对仓库的LICENSE文件加以验证。

LiteLLM需要GPU吗?

不需要。LiteLLM是请求路由器,而非模型推理引擎——它将调用转发给提供商(云端API或Ollama等本地运行时),而不是自己执行模型权重,因此在纯CPU硬件上也能良好运行。

如何安装LiteLLM?

Python SDK:pip install litellm。自托管代理:`pip install 'litellm[proxy]',然后litellm --model gpt-4o;或挂载config.yaml运行Docker镜像docker.litellm.ai/berriai/litellm:latest`。Helm、AWS ECS Fargate和Google Cloud Run选项参见上方安装表格。

LiteLLM代理需要数据库吗?

生产使用需要——根据LiteLLM自身的部署文档,PostgreSQL持久化虚拟密钥和支出数据,Redis在多个代理实例间保持速率限制一致。快速本地测试可以不用两者运行,但会失去这些功能。

LiteLLM能否路由到本地托管的模型?

可以。指向OpenAI或Anthropic的同一份config.yaml中的model_list,同样可以指向本地的Ollama或vLLM端点,使一个网关能够混合云端和本地模型。

LiteLLM与OpenRouter相比如何?

两者都在单一接口之后统一了多个LLM提供商。LiteLLM是你自行运维的自托管基础设施(开源代理或SDK);OpenRouter是你调用而非自行运维的第三方托管路由服务。选择取决于你是想要零运维(OpenRouter),还是想要没有路由提供商按请求加价的完全掌控(自托管LiteLLM)。

LiteLLM由谁开发?

BerriAI,即github.com/BerriAI/litellm仓库背后的组织,截至本评测显示超过61,000个星标。

资料来源

← 返回 本地LLM进阶

MCP