跳到主要内容

采购与成本

OpenRouter 还是厂商直连 API:上线前怎么选、怎么验收

按模型数量、故障处理、功能兼容和费用对账选择接入方式,附迁移检查表与每个有效任务的成本算例。

编写: AI Codex · 更新 · 7 分钟 · 内容方法与 AI 辅助说明

如果你的产品需要频繁比较多家模型,OpenRouter 值得作为统一接入候选;如果长期依赖一家厂商的特定接口能力,先评估直连通常更清楚。 最终决定应由真实请求的兼容性、可接受的故障方式和总费用决定,不能只看能否返回一段文字。

本文是采购与上线检查方法,没有对供应商做延迟实测,也不承诺聚合接入一定更便宜或更可靠。

两条路线分别要管理什么

你最在意什么 OpenRouter 路线要验证 直连路线要验证
多模型切换 目标模型是否可用,参数和输出是否兼容 每家接口的适配、凭据与账单管理
特定厂商功能 路由接口是否支持实际需要的功能 官方接口版本、账户权限及使用限制
故障处理 实际供应商、回退范围和最终错误 本方重试逻辑,以及是否另建第二供应商
数据要求 平台与实际处理供应商的适用政策 厂商政策与自己应用的日志设置
费用归因 模型、实际供应商、失败尝试与额外费用 各厂商账单及应用侧重试费用

这些是需要核查的采购问题,不代表任何路线已经满足你的具体合同或数据要求。

“一个模型名称”并不描述完整链路

OpenRouter 的 Provider Routing 文档 说明了供应商排序、限制和回退配置。同一个模型可能有不同的服务端点。接入时要记录实际处理方,而不只是你在请求中填的模型名。

官方的 require_parameters 可以要求路由到支持请求参数的供应商,allow_fallbacks 用于控制供应商回退行为。具体供应商标识要从当前模型页面核对,不要从旧教程复制后就默认仍然可用。

如果你规定只能使用某些端点,就需要验证完整约束,而不是仅设置一个偏好顺序。故意提供不满足条件的请求,观察系统是否明确失败;“总能返回答案”未必符合你的采购条件。

迁移前准备一份接口验收表

以“从发票文字中提取字段”的产品功能为例,不需要同时做很多新功能,先覆盖下面这些情况:

  1. 正常输入:发票号码、金额与日期是否正确;缺失字段能否按约定返回空值。
  2. 结构约束:结果能否被现有解析器读取,有没有混入说明文字。
  3. 流式输出:如果使用流式响应,检查事件结束、取消与半途失败的处理。
  4. 工具调用:如果应用会调用工具,检查参数格式、重复调用和失败后的恢复。
  5. 错误输入:无效凭据、无效参数与超长材料是否进入正确的错误分支。
  6. 供应商不可用:验证预期回退或明确失败,并记录实际执行路径。

验收标准由你自己的产品定义。例如发票提取必须保留币种,单纯把金额变成一个数字可能不合格。只测试问答接口,不足以证明业务迁移成功。

用有效任务成本做一组假设比较

下面的数字完全是假设,只展示为什么账单较低不必然代表有效成本较低,不对应任何厂商报价或实测。

路线 测试总费用(假设) 通过验收的任务数(假设) 每个有效任务成本
路线 A 12 美元 900 约 0.0133 美元
路线 B 10 美元 700 约 0.0143 美元

路线 B 的总账单更低,但这组假设中的有效任务成本更高。采购时还应单列工程接入、人工复核和故障处理时间,不要把它们藏在“API 很便宜”的判断里。

实际对账时列出币种、充值或平台相关费用、输入输出及缓存计费、重试次数。不同产品可能采用不同规则,使用当时账户和官方账单核对。更完整的计算过程见 AI API 成本预算。

小规模上线的退出条件

先选一个可回退的功能,将供应商选择收敛到服务端配置,保留原实现。切换前明确三件事:什么情况回退、由谁处理告警、怎样防止重试重复执行有副作用的业务操作。

不要把重复扣款或重复发送消息当作可以简单重试的文本请求。业务动作需要自己的幂等和确认机制,API 路由不能代替它们。

如果结构化结果、特定参数或所需端点在测试中不稳定,先保留可用路线并记录缺口。只有在结果、费用与故障路径都能解释时,才扩大使用范围。

常见采购问题

统一接口就能随便换模型吗? 请求形式相似不代表语义、参数、上下文容量和输出行为一样。每次换模型都应重跑业务样本。

有回退就一定不会中断吗? 回退也可能失败,或得到不符合约束的结果。应用仍需处理最终失败与取消。

能混合使用两条路线吗? 可以按功能分开评估,例如稳定的核心功能保留现有直连,新模型探索走候选路由。但需要给两条链路分别做日志、预算与验收。

供应商配置依据 OpenRouter Provider Routing;直连实现可从 DeepSeek 官方 API 文档 对照请求与返回格式。上面的决策表、算例与验收流程是本文独立整理的方法。

继续解决下一个问题