LiteLLM - 统一接口调用100+ LLM模型

:bullet_train: LiteLLM

Deploy to Render Deploy on Railway

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

📞 联系我们

posted @ 2025-06-28 12:46  qife  阅读(9)  评论(0)    收藏  举报