AI 热点监控工具通过 OpenRouter 接入大模型做热点内容分析。OpenRouter 是一个兼容 OpenAI 接口的统一网关,把 70 多家供应商、400 多个模型收拢到同一个 base URL、同一把 sk-or- 开头的密钥。改一个 model 字段就能换模型,还能配置供应商路由与自动回退,避免单家供应商限流导致分析中断。
一、OpenRouter 是什么
它位于你的应用与各模型供应商之间:你只发一次请求,它处理供应商关系、密钥、计费与路由。官方 OpenAI SDK 只要改 base_url 就能复用,已安装的依赖不用动。
| 维度 | 直连供应商 | 走 OpenRouter |
|---|---|---|
| 密钥 | 每家一把 | 一把 sk-or- |
| 接口 | 各家不统一 | 统一 OpenAI 兼容 |
| 换模型 | 改代码适配 | 改 model 字段 |
| 限流兜底 | 自己写 | 自动回退 |
对需要频繁对比多家模型输出、又要控制成本的系统,统一网关显著降低接入与运维负担。
二、三步完成接入
- 在 OpenRouter 后台创建 Key(以
sk-or-开头),存入环境变量,不要写进源码; - 把 SDK 的
base_url指向https://openrouter.ai/api/v1; - 选
provider/model形式的模型标识(如anthropic/claude-3.5-sonnet),改它即换模型。
from openai import OpenAI
import os
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"],
)
resp = client.chat.completions.create(
model="anthropic/claude-3.5-sonnet",
messages=[{"role": "user", "content": "总结这条热点:..."}],
)
print(resp.choices[0].message.content)
模型标识用 provider/model-name 格式,从模型目录复制即可,避免手敲出错导致 model_not_found。
三、模型路由与自动回退
OpenRouter 的路由分两层独立决策:模型路由(哪个模型作答)与供应商路由(哪家供应商服务)。默认按价格倒平方加权,选最便宜且可靠的供应商;可用 provider 对象覆盖顺序、是否允许回退、按价格/吞吐/延迟排序。
用 models 数组配置跨模型回退:主模型报错、限流或拒答时,自动试下一个,仅实际成功返回的那个模型计费。
resp = client.chat.completions.create(
model="anthropic/claude-3.5-sonnet",
messages=[{"role": "user", "content": "分析这条热点"}],
extra_body={
"models": [
"anthropic/claude-3.5-sonnet",
"openai/gpt-4o",
"google/gemini-1.5-pro",
]
},
)
print("实际服务模型:", resp.model)
供应商路由还能强制命中某家(合规、BYOK、区域要求)并关掉静默回退,或按延迟优化面向用户对话。
计费按 token 走,输入与输出都计入用量。早期可用 :free 档模型跑预筛,确认链路正确再切付费强模型;生产环境按”可靠性、速度、输出质量”三因素选模型,而不是盲目追最贵。OpenRouter 在多数模型上不额外加价,账单集中在一个面板,比直连多家更易核算成本。
四、本项目为何选 OpenRouter
- 一套接口接多家,热点分析可横向对比不同模型输出质量;
- 免费模型做预筛、强模型做精析,成本可控;
- 供应商限流或故障自动回退,监控链路不中断;
- 流式输出配合前端推送,分析逐字可见,体验更顺。
热点分析对时延与稳定性敏感,网关层的回退与路由把”单点供应商故障”从致命项变成可忽略项。
分析任务可开启流式输出(stream=True),服务端逐 token 回传,前端经 WebSocket 推到看板,运营人员能看到热点摘要实时生长,而不是等整段生成完才刷新。这把大模型分析的等待感大幅降低,也方便在任意中间状态截断超时请求。
4.1 模型变体后缀
在模型名后附加后缀可微调行为::online 联网搜索、:thinking 深度推理、:nitro 提速、:free 免费档、:extended 更长上下文。按任务需要组合,例如 openai/gpt-4o:online 让模型在分析时取实时网页。
常见问题(FAQ)
Q1:必须用官方 SDK 吗?
不用,兼容 OpenAI 的 SDK 改 base_url 即可,官方 SDK 也行。
Q2:密钥写哪儿安全?
存环境变量或密钥管理,前缀 sk-or-;切勿硬编码进源码或提交到仓库。
Q3:回退会重复计费吗?
不会,仅实际成功返回的那个模型计费,失败尝试不收费。