Skip to main content

LiteLLM 项目简介

LiteLLM 是一个开源的 AI 统一网关,由 BerriAI 开发,目标是用一套标准接口调用市面上几乎所有主流大模型。项目仓库见:https://github.com/BerriAI/litellm 每个 LLM 提供商都有自己的 SDK 和 API 格式,OpenAI、Anthropic、Google 各不相同。一旦需要切换模型或同时使用多个模型,就要维护多套代码。LiteLLM 可以实现——写一次代码,换一个参数,即可调用任意模型
Image

两种使用形态

核心能力

  • 统一 OpenAI 格式:支持 100+ 个 Provider,包括 OpenAI、Anthropic、Gemini、Bedrock、Azure 等
  • 虚拟密钥管理:统一管控团队 API Key,无需暴露原始密钥
  • 成本追踪:按用户/项目统计 Token 消耗和费用
  • 负载均衡:跨多个模型或部署自动分流,支持故障转移
  • 高性能:1000 RPS 下 P95 延迟约 8ms

安装指南

环境要求

Python 3.8+ macOS 推荐使用 Homebrew 安装:
验证:
Windows 前往 python.org/downloads 下载安装包,安装时勾选 “Add Python to PATH” 验证:
Linux(Ubuntu/Debian)

pip

pip 通常随 Python 一起安装,验证是否可用:
如果提示未找到,手动安装:

安装 LiteLLM

环境就绪后,执行:
验证安装成功,在终端运行:
这已经包含了调用所有主流 Provider 的能力。

按需安装额外依赖

部分 Provider 需要额外的依赖包:

安装 Proxy Server

如果需要部署独立的网关服务,安装带 proxy 的版本:

验证安装

Docker 安装(可选)

如果你更倾向于容器化部署:

推荐做法:个人开发直接 pip install litellm,团队部署选 Proxy + Docker。
Image

配置 API Key 并调用

获取 AiHubMix API Key

前往 aihubmix.com 控制台,创建一个 API Key。

设置环境变量

发起第一次调用

基础用法

1. 切换不同模型

AiHubMix 支持主流模型,切换只需改 model 参数:

2. 流式输出(Streaming)

加一个 stream=True,模型会像打字机一样逐字输出:

3. 多轮对话

把历史消息拼进 messages 列表,模型就能记住上下文:

4. 异步调用

适合需要同时发多个请求的场景,不用等一个完成再发下一个:

5. 设置超时与重试

避免请求卡住或因网络抖动失败:
timeout 单位是秒,num_retries 建议设 2~3,太高会拖慢响应。

6. 统计 Token 用量和费用

每次调用的返回结果里自带 Token 用量信息:

统计多次调用的累计费用:

7. 负载均衡 / 故障转移

配置多个模型,自动分流或在某个模型失败时切换到备用模型:
两个模型共用同一个 model_name,LiteLLM 会自动轮询;若其中一个报错,自动切换到另一个。

8. 部署 Proxy Server

Proxy Server 是一个独立运行的网关服务,团队成员统一通过它访问模型,无需每个人单独配置 API Key。

安装

创建配置文件

新建 config.yaml

启动服务

看到以下输出说明启动成功:

调用本地服务

服务启动后,把 api_base 换成本地地址即可:
api_key 此时可以填任意字符串,真实的 AiHubMix Key 由 Proxy 统一管

9. 虚拟密钥管理

虚拟密钥让你可以给不同成员或项目分配独立的 Key,统一管控权限和用量,而不暴露真实的 AiHubMix API Key。

前置条件

虚拟密钥需要数据库支持,先启动一个 PostgreSQL:

更新配置文件

config.yaml 中加入数据库配置:

重启服务

创建虚拟密钥

master_key 创建一个新的虚拟 Key:
返回结果中的 key 字段就是虚拟密钥,例如 sk-xxxxxx

使用虚拟密钥调用

查看用量

每个虚拟 Key 可以单独设置可用模型、预算上限、过期时间,适合团队多人协作场景。
先设置环境变量:

实战:多模型对比测试

同一个问题同时发给多个模型,对比输出质量、速度和 Token 消耗。

设置 API Key

运行对比测试


Image
最新更新日期:2026年4月29日