统一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应用开发的理想选择。

Star History Chart