LiteLLM 项目简介
LiteLLM 是一个开源的 AI 统一网关,由 BerriAI 开发,目标是用一套标准接口调用市面上几乎所有主流大模型。项目仓库见:https://github.com/BerriAI/litellm 每个 LLM 提供商都有自己的 SDK 和 API 格式,OpenAI、Anthropic、Google 各不相同。一旦需要切换模型或同时使用多个模型,就要维护多套代码。LiteLLM 可以实现——写一次代码,换一个参数,即可调用任意模型。
两种使用形态
| 形态 | 说明 | 适合场景 |
|---|---|---|
| Python SDK | pip install litellm,直接在代码中调用 | 个人开发、快速原型 |
| Proxy Server | 独立部署的 AI 网关服务 | 团队共用、企业管控 |
核心能力
- 统一 OpenAI 格式:支持 100+ 个 Provider,包括 OpenAI、Anthropic、Gemini、Bedrock、Azure 等
- 虚拟密钥管理:统一管控团队 API Key,无需暴露原始密钥
- 成本追踪:按用户/项目统计 Token 消耗和费用
- 负载均衡:跨多个模型或部署自动分流,支持故障转移
- 高性能:1000 RPS 下 P95 延迟约 8ms
安装指南
环境要求
Python 3.8+ macOS 推荐使用 Homebrew 安装:pip
pip 通常随 Python 一起安装,验证是否可用:安装 LiteLLM
环境就绪后,执行:按需安装额外依赖
部分 Provider 需要额外的依赖包:安装 Proxy Server
如果需要部署独立的网关服务,安装带 proxy 的版本:验证安装
Docker 安装(可选)
如果你更倾向于容器化部署:
推荐做法:个人开发直接 pip install litellm,团队部署选 Proxy + Docker。

配置 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
运行对比测试
