LiteLLM - 统一接口调用100+ LLM模型
:bullet_train: LiteLLM
LiteLLM 是一个统一的接口层,支持调用100+种大语言模型(LLM),包括Bedrock、Huggingface、VertexAI、TogetherAI、Azure、OpenAI、Groq等。
✨ 核心功能
- 统一API格式:所有模型调用使用OpenAI兼容格式
- 多模型支持:100+种LLM模型的一站式调用
- 智能路由:自动重试和回退机制
- 代理服务器:内置LLM网关,支持预算、速率限制和认证
- 高级特性:函数调用、流式响应、缓存和可观测性
- 企业级功能:团队管理、支出监控、审计日志
🛠️ 安装指南
# 通过pip安装
pip install litellm
# 安装开发环境依赖
make install-dev
# 安装代理服务器完整功能
make install-proxy-dev
🚀 快速开始
基本使用示例
from litellm import completion
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "你好,LiteLLM是什么?"}]
)
print(response.choices[0].message.content)
启动代理服务器
litellm --model gpt-3.5-turbo --api-key your_openai_key
📊 核心代码示例
多模型路由
from litellm import Router
model_list = [
{
"model_name": "gpt-3.5-turbo",
"litellm_params": {
"model": "azure/chatgpt-v-2",
"api_key": "your_azure_key",
"api_base": "https://your-endpoint.openai.azure.com/"
},
"tpm": 240000,
"rpm": 1800
},
{
"model_name": "claude-2",
"litellm_params": {
"model": "claude-2",
"api_key": "your_anthropic_key"
}
}
]
router = Router(model_list=model_list)
response = await router.acompletion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello!"}]
)
代理服务器API
from fastapi import FastAPI
import litellm
from litellm.proxy.proxy_server import initialize
app = FastAPI()
initialize(app)
# 启动服务
# uvicorn app:app --host 0.0.0.0 --port 8000
🌐 项目架构
litellm/
├── llms/ # 各厂商模型实现
├── proxy/ # 代理服务器实现
├── router_utils/ # 负载均衡和回退逻辑
├── types/ # 类型定义
├── integrations/ # 第三方集成
└── caching/ # 缓存后端实现
:chart_increasing: 企业功能
- 自定义管理仪表盘
- 细粒度访问控制
- 高级监控和告警
- 专属支持
🤝 贡献指南
我们欢迎各种形式的贡献!请先签署贡献者协议。
# 开发环境设置
git clone https://github.com/BerriAI/litellm.git
cd litellm
make install-dev