OpenRouter被收购后,开发者3步用LiteLLM自建多模型网关,再也不怕API涨价锁死
今天发生了什么,为什么你需要学这个
Stripe 70 亿美元收购 OpenRouter 的消息刷屏后,不少开发者的第一反应是:我天天调的模型网关,会不会涨价、会不会被锁死? 与其担心别人,不如自己动手——用开源项目 LiteLLM,30 分钟搭一个”私有版 OpenRouter”:一个接口统一调度 GPT、Claude、DeepSeek 等多家模型,随时切换供应商,成本自己做主。
本教程基于当天这条新闻延伸,解决的真实问题是:如何不依赖任何单一网关服务,把多模型切换能力掌握在自己手里。适用人群:会用终端、有基本 Python 环境的开发者;前置条件:一台能联网的电脑(Windows/macOS/Linux 均可),有至少一个模型服务商的 API Key。
第 1 步:安装 LiteLLM
LiteLLM 是 Python 包,一行命令装好(建议用 Python 3.9+):
pip install 'litellm[proxy]'
验证是否装成功:
litellm --help
能看到命令帮助即成功。成功标准:终端出现 LiteLLM 的版本信息和可用子命令。
第 2 步:写配置文件,把多家模型接进来
新建一个 `config.yaml`,把你要用的模型都登记进去。这里以 DeepSeek 和 OpenAI 为例:
model_list:
- model_name: deepseek-chat
litellm_params:
model: deepseek/deepseek-chat
api_key: os.environ/DEEPSEEK_API_KEY
- model_name: gpt-4o-mini
litellm_params:
model: openai/gpt-4o-mini
api_key: os.environ/OPENAI_API_KEY
然后导出密钥并启动代理服务:
export DEEPSEEK_API_KEY=你的密钥
export OPENAI_API_KEY=你的密钥
litellm --config config.yaml --port 4000
看到 `Uvicorn running on http://0.0.0.0:4000` 说明网关已启动。成功标准:浏览器打开 `http://localhost:4000` 能显示接口文档页面。
为什么要用 LiteLLM 而不是别的方案
市面上的”模型路由”方案不少,但 LiteLLM 有三个独特点:一是全开源、可自托管,代码和数据都在自己手里,不受任何公司收购或政策影响——这正是 OpenRouter 事件后最稀缺的属性;二是兼容性极强,支持 100+ 模型供应商,DeepSeek、OpenAI、Anthropic、谷歌、通义、智谱等主流 API 几乎全覆盖,迁移成本趋近于零;三是生态成熟,作为 Python 库被大量生产项目使用,遇到问题社区资料多,踩坑成本低。对比之下,商用网关胜在省心,但”省心”的代价就是定价权和数据流向都不由你掌控。
第 3 步:用统一接口调用,实现”一键换模型”
网关起来后,所有模型都变成了同一个 OpenAI 兼容接口。用 Python 测试:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:4000/v1", api_key="sk-dummy")
#想用哪家就换 model 名,代码不用改
resp = client.chat.completions.create(
model="deepseek-chat", #换成 gpt-4o-mini 即切换到 OpenAI
messages=[{"role": "user", "content": "用一句话介绍自己"}]
)
print(resp.choices[0].message.content)
成功标准:脚本输出正常回复;把 `model` 改成 `gpt-4o-mini` 后再次运行,无需改其他任何代码即可切换供应商。
常见失败与处理
1. **报 `401 Invalid Authentication`**:密钥没写进环境变量,检查 `export` 语句后重启 litellm。
2. **报 `Model Not Found`**:config.yaml 里的 `model` 前缀写错,DeepSeek 必须是 `deepseek/` 开头,OpenAI 是 `openai/` 开头。
3. **端口被占用**:换 `–port 4001` 或其他空闲端口。
4. **Windows 下环境变量不生效**:用 `set DEEPSEEK_API_KEY=xxx` 或直接在系统环境变量里配置。
进阶提示
LiteLLM 还支持自动重试、限流、成本统计、多 Key 负载均衡。想更进一步,可以在网关层加一个”失败自动切换”策略:DeepSeek 超时就自动转 OpenAI——这本质上就是你自己的”OpenRouter”。
再补一个实用建议:把网关跑在一台常开的机器上(旧笔记本、小主机都行),全家设备都能共用。手机上的聊天工具、脚本里的批处理任务,全部指向同一个本地地址,成本统计一眼看清每月各家模型花了多少钱——这是商用网关很难给你的透明度和掌控感。
一句话总结:OpenRouter 被收购不可怕,可怕的是你没有替代方案。3 步搭好 LiteLLM 网关,多模型切换自由从此握在自己手里。
👇 关注LC智趣厅,每天一个能落地的 AI 开发技能。
🔥 收藏本文,需要搭网关时直接照着做。
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn