优秀的编程知识分享平台

网站首页 > 技术文章 正文

27.8K!一把梭 LLM:LiteLLM 带你用一套接口召唤 100+ 大模型

nanyue 2025-09-18 05:05:18 技术文章 1 ℃

代码蜂巢X

探索编程的无限可能

编辑:嘉禾

如果每次切换大模型都要重写接口、改参数、调格式,你会不会抓狂?

LiteLLM 把 OpenAI、Anthropic、Bedrock、Vertex……统统变成「OpenAI 格式」,只需两行代码,模型想换就换。


项目概述

LiteLLM 是 BerriAI 开源的「万能 LLM 适配器」,同时提供

  1. 1. Python SDK(litellm)
  2. 2. Proxy Server(LLM Gateway)

两者都能用 OpenAI 的输入/输出格式 调用 100+ 大模型,并内置重试、负载均衡、成本追踪与速率限制。


问题背景

  • o 供应商碎片化:每接入一家模型,就要研究一套鉴权、请求/响应格式、错误码。
  • o 高可用难做:单点故障、限流、预算控制,都得自己写调度逻辑。
  • o 可观测性缺失:想知道「谁调用了哪个模型、花了多少钱、耗时多久」得自己埋点。

LiteLLM 把上述痛点一次性打包解决。


功能亮点

能力说明100+ 模型统一调用openai/gpt-4oanthropic/claude-3-5-sonnetbedrock/anthropic.claude-v2……全部用同一套参数。零改造迁移现有 OpenAI 代码只需把 client = OpenAI() 换成 from litellm import completion,接口不变。企业级网关Proxy Server 支持 多租户、预算、速率、日志、缓存、回调,可一键部署成内部 LLM Gateway。流式/异步/重试流式输出、async/await、自动 fallback、指数退避重试,一行参数即可开启。成本&可观测内置回调可直推 Langfuse、Helicone、MLflow、Slack 等,实时查看 token 消耗。


技术细节

  • o 统一 I/Ofrom litellm import completion
    completion(model="groq/llama3-70b-8192", messages=[...])
  • 无论底层是 Groq、Bedrock 还是自托管 vLLM,返回结构永远是 OpenAI 的 choices[0].message.content
  • o Router 负载均衡from litellm import Router
    router = Router(model_list=[
    {"model_name": "gpt-4", "litellm_params": {"model": "azure/gpt-4", "api_base": "..."}},
    {"model_name": "gpt-4", "litellm_params": {"model": "openai/gpt-4"}}
    ])
    router.completion(model="gpt-4", messages=[...])
  • 自带熔断、重试、按权重/延迟选择节点。
  • o Proxy Server 架构
    • o 网关层(Go)负责鉴权、速率、缓存
    • o 后端(Python)负责模型路由、计费
    • o 前端(React)提供 /ui 面板,可在线发 key、看报表

安装与使用

Python SDK(3 步搞定)

pip install litellm
export OPENAI_API_KEY="sk-xxx"
export ANTHROPIC_API_KEY="sk-ant-xxx"
from litellm import completion
completion(
    model="anthropic/claude-3-sonnet-20240229",
    messages=[{"role": "user", "content": "写一首五言绝句"}]
)

Proxy Server(5 分钟上线)

pip install 'litellm[proxy]'
litellm --model openai/gpt-4o
# 服务已跑在 http://0.0.0.0:4000

用任何 OpenAI 客户端即可访问:

import openai
client = openai.OpenAI(api_key="anything", base_url="http://localhost:4000")
client.chat.completions.create(model="gpt-4o", messages=[...])

应用案例

  • o SaaS 多租户:每个用户一把 Proxy Key,独立预算、速率、模型白名单。
  • o A/B 测试:Router 同时把 10% 流量切到 Claude,90% 留 GPT-4,对比效果。
  • o 本地离线模型:同一代码既能在云端 Bedrock 跑,也能在内网 Ollama 跑,方便合规场景。

项目地址

GitHub: https://github.com/BerriAI/litellm
文档: https://docs.litellm.ai/docs/

Tags:

最近发表
标签列表