产品详细介绍

LiteLLM 是由 BerriAI 开源的多模型访问与管理层,核心目标是用一套统一的 OpenAI 风格接口,打通和管理 100+ 不同厂商与部署方式的大语言模型(LLM)。无论你使用的是 OpenAI、Azure OpenAI、AWS Bedrock、Google Vertex AI、Anthropic、Cohere、HuggingFace、SageMaker、本地 VLLM 或 NVIDIA NIM 等,都可以通过 LiteLLM 以几乎一致的方式进行调用。

产品提供两种主要使用形态:

  1. Python SDK:在你的 Python 应用中直接以函数调用方式访问多家 LLM 服务。
  2. Proxy Server / AI Gateway:以 HTTP 接口形式对外暴露统一的 /chat/completions/responses/embeddings/images/audio/batches/rerank/a2a/messages 等端点,作为团队或公司级的“模型网关”。

核心特性

  1. 统一 OpenAI 风格接口

    • 使用 OpenAI API 习惯即可无缝切换到其他模型供应商。
    • 支持聊天补全、文本补全、嵌入、图片生成、音频处理、重排序等多种任务类型。
  2. 支持 100+ LLM 与多种生态集成

    • 覆盖主流云厂商与模型平台:OpenAI、Azure、AWS Bedrock、Google Vertex AI、Anthropic、Cohere、Groq、HuggingFace、SageMaker、VLLM、NVIDIA NIM 等。
    • 与 LangGraph、Vertex AI Agent Engine、Azure AI Foundry、Bedrock AgentCore、Pydantic AI 等框架集成,方便在智能体(Agent)与工作流中统一接入。
  3. AI Gateway(代理服务器)能力

    • 通过 Proxy 模式,将多家模型服务统一暴露为一个网关:
      • 统一鉴权与虚拟密钥(virtual keys)管理。
      • 统一路由与负载均衡,可在多模型、多实例之间分流。
      • 统一日志记录与调用审计,便于排错与合规。
    • 提供 A2A(Agent-to-Agent)与 MCP(Model Context Protocol)网关能力:
      • A2A Agent Gateway:将你的 Agent 注册到网关,通过 A2A SDK 调用。
      • MCP Gateway:将 MCP Server 接入网关,通过 /chat/completions 端点调用 MCP 工具。
  4. 成本追踪与配额控制

    • 内置调用费用统计,可按模型、用户、密钥等维度查看成本。
    • 便于团队内部做费用分摊、预算控制与使用监控。
  5. 安全防护与 Guardrails

    • 支持在网关层面配置安全策略与内容过滤,对敏感输出进行拦截或改写。
    • 可结合企业内部合规要求,对不同模型与用户设置不同访问策略。
  6. 高性能与稳定版本

    • 官方基准测试显示,在 1k RPS 下 P95 延迟可达约 8ms(具体性能视部署环境而定)。
    • 提供带有 -stable 标签的 Docker 镜像,经过长时间(如 12 小时)压力测试后发布,适合生产环境使用。
  7. 可扩展与社区驱动

    • 若缺少某个模型提供商或平台,可以在 GitHub 提交 Feature Request。
    • 开源项目,文档完善,支持快速迭代与社区贡献。

简单使用教程

下面以常见的两种使用方式为例:Python SDK 与 Proxy Server(AI Gateway)。

一、使用 Python SDK 快速调用多家 LLM

  1. 安装依赖
    在你的 Python 环境中安装:

    • 使用 pip install litellm(具体命令以官方文档为准)。
  2. 配置环境变量 / API Key

    • 根据你要使用的模型供应商,准备对应的 API Key,例如:
      • OPENAI_API_KEY
      • AZURE_OPENAI_API_KEY
      • AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY(用于 Bedrock)等。
    • 将这些密钥配置为环境变量,或在代码中通过 LiteLLM 的配置方式传入。
  3. 在代码中调用统一接口

    • 在 Python 中导入 LiteLLM:
      • 例如:from litellm import completion 或类似接口(以官方文档为准)。
    • 指定模型名称与参数:
      • model="gpt-4o"model="azure/gpt-4"model="bedrock/anthropic.claude-3" 等。
    • 发送请求并获取返回:
      • 传入 messagesprompt,以 OpenAI 风格调用。
    • 通过更换 model 字段,即可在不同供应商之间切换,而无需改动业务逻辑。
  4. 查看调用成本与日志(可选)

    • 若在 SDK 中开启日志或接入网关,可在后端查看每次调用的 token 用量与费用估算。
    • 便于在开发阶段评估不同模型的性价比。

二、使用 Proxy Server / AI Gateway 统一管理模型

  1. 部署 LiteLLM Proxy

    • 推荐使用 Docker:
      • 拉取官方镜像(生产环境可使用带 -stable 标签的版本)。
      • 通过 docker run 或编排工具(如 Docker Compose、Kubernetes)启动服务。
    • 也可以在本地或服务器上通过 Python 命令启动 Proxy(具体命令参考官方文档)。
  2. 配置虚拟密钥与模型路由

    • 在 LiteLLM 配置文件或管理界面中:
      • 添加后端模型提供商的真实 API Key。
      • 为内部用户生成“虚拟密钥”(virtual keys),对外只暴露虚拟密钥。
      • 配置不同虚拟密钥可访问的模型列表、QPS 限制与配额。
    • 可设置负载均衡策略:
      • 在多个相同模型实例之间分流,或在不同模型之间做 A/B 测试。
  3. 通过 HTTP 接口调用模型

    • 应用侧只需将原本指向 OpenAI 的 API 地址,改为指向 LiteLLM Proxy:
      • 例如:/v1/chat/completions/v1/embeddings 等端点。
    • 使用虚拟密钥作为 Authorization: Bearer <virtual_key>
    • 请求体结构保持与 OpenAI 接口基本一致,便于无缝迁移现有代码。
  4. 接入 Agent 与 MCP(可选)

    • A2A Agent Gateway
      • 第一步:将你的 Agent 注册到 LiteLLM AI Gateway。
      • 第二步:在应用中通过 A2A SDK 调用该 Agent,实现 Agent 间协作或统一调度。
    • MCP Gateway
      • 第一步:将 MCP Server 添加到 AI Gateway。
      • 第二步:通过 /chat/completions 端点调用 MCP 工具,将外部工具能力统一纳入对话流程。
  5. 监控、日志与成本管理

    • 在网关层面查看:
      • 每个虚拟密钥、用户或服务的调用次数、延迟与错误率。
      • 不同模型的 token 用量与费用估算。
    • 根据监控结果,动态调整模型选择、限流策略与预算配置。

通过以上两种方式,LiteLLM 可以帮助你在保持 OpenAI 风格开发体验的同时,灵活切换和统一管理多家大模型服务,适用于从个人项目到企业级 AI 平台的多种场景。