BerriAI/litellmView GitHub Homepage for Latest Official Releases
统一LLM API调用网关,支持100+大语言模型提供商的OpenAI格式调用
NOASSERTIONPythonlitellmBerriAI 26.8k Last Updated: August 03, 2025
LiteLLM - 统一大语言模型API调用网关
项目概述
LiteLLM是一个开源的Python SDK和代理服务器(LLM网关),能够以OpenAI格式调用100多个大语言模型API,包括Bedrock、Azure、OpenAI、VertexAI、Cohere、Anthropic、Sagemaker、HuggingFace、Replicate、Groq等主流提供商。
GitHub地址:https://github.com/BerriAI/litellm
核心功能
1. 统一API格式
- 输入格式标准化:将所有提供商的输入转换为统一格式
- 输出格式一致性:文本响应始终可在
['choices'][0]['message']['content']
获取 - 多端点支持:支持completion、embedding和image_generation端点
2. 高可用性保障
- 重试/回退逻辑:支持多个部署间的自动重试和回退(如Azure/OpenAI)
- 路由功能:智能路由到最佳可用模型
- 负载均衡:在多个部署间分配请求负载
3. 成本和权限控制
- 预算管理:按项目、API密钥、模型设置预算限制
- 速率限制:防止API调用过度使用
- 使用追踪:详细的调用统计和成本分析
主要特性
Python SDK使用示例
基础调用
from litellm import completion
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"
messages = [{"content": "Hello, how are you?", "role": "user"}]
# OpenAI
response = completion(model="openai/gpt-4o", messages=messages)
# Anthropic
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)
异步调用支持
from litellm import acompletion
import asyncio
async def test_get_response():
user_message = "Hello, how are you?"
messages = [{"content": user_message, "role": "user"}]
response = await acompletion(model="openai/gpt-4o", messages=messages)
return response
response = asyncio.run(test_get_response())
流式响应
from litellm import completion
response = completion(model="openai/gpt-4o", messages=messages, stream=True)
for part in response:
print(part.choices[0].delta.content or "")
代理服务器功能
快速启动
pip install 'litellm[proxy]'
litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000
客户端调用
import openai
client = openai.OpenAI(
api_key="anything",
base_url="http://0.0.0.0:4000"
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{
"role": "user",
"content": "this is a test request, write a short poem"
}]
)
支持的提供商
LiteLLM支持超过30个主要的LLM提供商,包括:
主流云服务商
- OpenAI - GPT系列模型
- Azure - Azure OpenAI服务
- AWS - Bedrock和SageMaker
- Google - Vertex AI、PaLM、Gemini
- Anthropic - Claude系列模型
开源和专业平台
- HuggingFace - 开源模型托管
- Replicate - 模型API服务
- Together AI - 开源模型推理
- Groq - 高速推理芯片
- Ollama - 本地模型运行
特色功能平台
- Cohere - 企业级NLP
- AI21 - Jurassic模型
- Perplexity - 搜索增强生成
- DeepInfra - 高性能推理
可观测性和日志记录
LiteLLM内置支持多种监控和日志平台:
import litellm
import os
os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
os.environ["HELICONE_API_KEY"] = "your-helicone-auth-key"
os.environ["LANGFUSE_PUBLIC_KEY"] = "your-langfuse-public-key"
litellm.success_callback = [
"lunary", "mlflow", "langfuse",
"athina", "helicone"
]
response = completion(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hi 👋"}]
)
支持的监控平台:
- Lunary - LLM应用监控
- MLflow - 机器学习实验追踪
- Langfuse - LLM应用追踪
- Helicone - API调用监控
- Athina - AI应用评估
企业级功能
密钥管理系统
curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{
"models": ["gpt-3.5-turbo", "gpt-4", "claude-2"],
"duration": "20m",
"metadata": {
"user": "user@company.com",
"team": "core-infra"
}
}'
Docker部署
git clone https://github.com/BerriAI/litellm
cd litellm
echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
echo 'LITELLM_SALT_KEY="your-salt-key"' > .env
docker-compose up
Web管理界面
- 访问
/ui
获得可视化管理界面 - 设置多项目预算和速率限制
- 实时监控API使用情况
- 用户和团队管理
技术规范
系统要求
- Python版本:需要Python 3.7+
- 依赖要求:
openai>=1.0.0
(v1.0.0+必需)pydantic>=2.0.0
(v1.40.14+必需)
代码质量标准
- 代码风格:遵循Google Python风格指南
- 格式化工具:使用Black和isort
- 类型检查:MyPy和Pyright
- 代码检查:Ruff进行lint检查
稳定性保证
- 稳定版本:使用带
-stable
标签的Docker镜像 - 负载测试:发布前进行12小时负载测试
- 持续集成:完整的CI/CD流程
商业支持
企业版特性
- 高级安全功能:单点登录(SSO)集成
- 专业支持:专用Discord和Slack支持
- 自定义集成:定制化LLM提供商集成
- SLA保证:服务级别协议
- 功能优先级:优先开发企业需求功能
社区支持
- GitHub Issues:功能请求和问题报告
- Discord社区:实时交流和支持
- 文档完善:详细的API文档和教程
使用场景
1. 多云LLM部署
- 避免供应商锁定
- 实现跨平台模型调用
- 降低迁移成本
2. 成本优化
- 智能路由到最便宜的可用模型
- 预算控制和使用监控
- 批量API调用优化
3. 高可用架构
- 自动故障转移
- 负载均衡
- 多区域部署支持
4. 开发效率提升
- 统一的API接口
- 简化的模型切换
- 丰富的SDK支持
安装和快速开始
基础安装
pip install litellm
代理服务器安装
pip install 'litellm[proxy]'
开发环境设置
git clone https://github.com/BerriAI/litellm
cd litellm
python -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"
uvicorn litellm.proxy.proxy_server:app --host localhost --port 4000 --reload
总结
LiteLLM已被Rocket Money、Samsara、Lemonade和Adobe等知名公司采用。它通过提供统一的API接口、强大的路由功能和企业级管理特性,显著简化了多LLM环境的管理复杂性,是现代AI应用开发的理想选择。