大模型统一入口:LiteLLM_模型大师的模型视频
LiteLLM 本身不是一个网关框架,而是一个用于统一调用多种大语言模型(LLM)API 的开源 Python 库。不过,它具备一些类似“API 抽象网关”或“LLM 层网关”的能力,因此在某些场景下可以被用作轻量级的 LLM 调度中间层。
什么是 LiteLLM?
- 项目地址: https://github.com/BerriAI/litellm
- 语言: Python
- 目标: 统一大型语言模型(如 GPT、Claude、Gemini、Llama 等)的调用接口,让开发者可以用统一的方式调用不同厂商的 LLM API。
LiteLLM 的核心特性
统一 API 接口
import litellm
response = litellm.completion(model="gpt-3.5-turbo", prompt="Hello, world!")
- 不管后端是 OpenAI、Anthropic、Google、Groq、Hugging Face 还是本地模型,都使用相同的 litellm.completion() 接口。
支持 100+ 模型提供商
- 包括:OpenAI、Azure、Anthropic、Google Gemini、Cohere、HuggingFace、Ollama、Groq、Together AI、Replicate、本地 HuggingFace 模型等。
负载均衡与故障转移
response = litellm.completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hey"}],
deployment_id_list=["key1", "key2"] # 多密钥轮询
)
- 支持将请求分发到多个模型或模型副本,实现简单的负载均衡和容错。
速率限制(Rate Limiting)
- 内置对每分钟请求数(RPM)、每分钟令牌数(TPM)的限流支持。
日志与监控
- 支持通过回调函数记录日志、追踪成本、集成 Langfuse、Weights & Biases 等工具。
成本追踪
- 自动计算每次调用的 token 成本(基于模型价格表)。
代理模式(LiteLLM Proxy)
- 可启动一个本地 HTTP 代理服务器,对外提供 OpenAI 兼容的 API 接口,背后路由到不同模型:
$ litellm --model gpt-3.5-turbo --api_key <your-key>
- 启动后可在 http://0.0.0.0:8000 接收请求,兼容 OpenAI SDK:
openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello"}],
api_base="http://localhost:8000"
)
LiteLLM 如何“像”一个网关?
虽然它不是传统意义上的 API 网关(如 Kong、APISIX),但在 LLM 应用架构中,它可以扮演以下类网关角色:
功能 | 是否支持 | 说明 |
统一入口 | 所有 LLM 请求通过 litellm.completion | |
多后端路由 | 根据 model 名称路由到不同服务商 | |
负载均衡 | 支持多密钥/部署轮询 | |
认证与密钥管理 | 支持环境变量、配置文件管理密钥 | |
限流与配额 | 支持 RPM/TPM 限制 | |
日志与监控 | 支持自定义回调和集成 | |
协议转换 | 将 OpenAI 格式请求转为其他平台格式 |
适用场景
- 构建多模型 AI 应用,需要灵活切换 LLM 提供商。
- 在 LangChain、LlamaIndex 等框架中统一调用后端模型。
- 快速搭建一个兼容 OpenAI API 的私有代理服务。
- 实现模型灰度发布、A/B 测试、降级策略。
- 中小团队不想自研 LLM 网关,希望快速集成。
局限性(与专业网关对比)
维度 | LiteLLM | 专业网关(如 Kong、APISIX) |
协议支持 | 主要 HTTP/REST | HTTP、gRPC、WebSocket、MQTT 等 |
性能 | Python 同步/异步,中等性能 | 高性能(Lua/C++/Go),高并发 |
插件生态 | 专用于 LLM | 通用插件(鉴权、限流、日志等) |
服务发现 | 手动配置 | 支持 Consul、etcd、K8s 等 |
安全能力 | 基础认证 | WAF、OAuth、JWT、ACL 等完整体系 |
运维管理 | 简单 CLI 和配置 | Admin API、Dashboard、审计日志 |
总结
LiteLLM 不是传统意义上的“开源网关框架”,但它是一个面向 LLM 的 API 抽象层和轻量级调度代理,在 AI 应用架构中可以充当“LLM 网关”的角色。
如果正在构建 AI 应用,并希望统一管理多个 LLM 服务,LiteLLM 是一个非常实用的工具。如果需要更强大的网关能力(如高并发、复杂路由、企业级安全),建议结合使用 LiteLLM + 专业网关(如 APISIX 或 Kong)。
推荐组合用法:
Client → Kong/APISIX (认证、限流) → LiteLLM Proxy (模型路由) → 各大 LLM API
相关文章
- MyBatis如何实现分页查询?_mybatis collection分页查询
- 通过Mybatis Plus实现代码生成器,常见接口实现讲解
- MyBatis-Plus 日常使用指南_mybatis-plus用法
- 聊聊:Mybatis-Plus 新增获取自增列id,这一次帮你总结好
- MyBatis-Plus码之重器 lambda 表达式使用指南,开发效率瞬间提升80%
- Spring Boot整合MybatisPlus和Druid
- mybatis 代码生成插件free-idea-mybatis、mybatisX
- mybatis-plus 团队新作 mybatis-mate 轻松搞定企业级数据处理
- Maven 依赖范围(scope) 和 可选依赖(optional)
- Trace Sql:打通全链路日志最后一里路