迁移指南
更换 AI 网关?哪些可以迁移,哪些不行。
在 ModelRiver 中,model 是一个工作流的名称,工作流里保存了模型、备用模型和各项设置。下面介绍迁移的思路,以及 ModelRiver 目前还不支持的功能。
- 自带密钥(BYOK)
- token 不加价
- 免费版每月 25,000 次请求封顶
模型 中一个名称,背后一个工作流
工作流包含什么,以及为什么 模型 就是它的名称。
工作流是一个带名称的已保存配置,例如 support_bot。它包含一个主模型、最多 2 个备用模型、可选的结构化输出、输入防护、每个模型的美元预算以及响应缓存。遇到 429、5xx、408、404 和连接错误时切换到备用模型,流式响应中同样生效。修改先保存到 Draft,发布前生产环境一直调用 Live 版本,并且可以回滚。您的代码通过现有的 OpenAI SDK 发送这个名称,使用您自己的服务商密钥,模型用量不加价。
support_bot
- 主模型
- OpenAI/gpt-4o
- 备用 1
- Anthropic/claude-sonnet-5
- 备用 2
- Google/gemini-3.5-flash
- 结构化输出
- ticket(JSON schema)
- 预算
- 主模型每天 $50
- 发布
- Draft → Live,随时回滚
两行代码 + 一个工作流
继续使用 OpenAI SDK。在创建客户端的那一行修改 base URL 和密钥,在请求那一行把 模型 设为工作流的名称。
步骤 0:在控制台创建一个工作流,设置主模型和备用模型。它的名称就是您发送的 模型。
之前
import os
from openai import OpenAI
client = OpenAI(
base_url="https://your-gateway.example/v1",
api_key=os.environ["GATEWAY_API_KEY"],
)
resp = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Summarize this ticket."}],
)之后
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.modelriver.com/v1",
api_key=os.environ["MODELRIVER_API_KEY"],
)
resp = client.chat.completions.create(
model="support_bot", # workflow name
messages=[{"role": "user", "content": "Summarize this ticket."}],
)之前
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://your-gateway.example/v1",
apiKey: process.env.GATEWAY_API_KEY,
});
const resp = await client.chat.completions.create({
model: "openai/gpt-4o",
messages: [{ role: "user", content: "Summarize this ticket." }],
});之后
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.modelriver.com/v1",
apiKey: process.env.MODELRIVER_API_KEY,
});
const resp = await client.chat.completions.create({
model: "support_bot", // workflow name
messages: [{ role: "user", content: "Summarize this ticket." }],
});之前
curl https://your-gateway.example/v1/chat/completions \
-H "Authorization: Bearer $GATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "openai/gpt-4o", "messages": [{"role": "user", "content": "Summarize this ticket."}]}'之后
curl https://api.modelriver.com/v1/chat/completions \
-H "Authorization: Bearer $MODELRIVER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "support_bot", "messages": [{"role": "user", "content": "Summarize this ticket."}]}'各平台的对应关系
OpenRouter
把
从 OpenRouter 迁移(英文)models[]备用列表和@preset/配置变成工作流。LiteLLM
把每个
从 LiteLLM 迁移(英文)model_name别名及其fallbacks变成工作流。Portkey
把
从 Portkey 迁移(英文)x-portkey-config中的备用目标变成一个工作流。Vercel AI Gateway
把模型备用列表和
从 Vercel AI Gateway 迁移(英文)vmc/虚拟模型变成工作流。
关于 ModelRiver 的事实
兼容 OpenAI:base URL 为
https://api.modelriver.com/v1,支持/chat/completions、/completions、/embeddings和/models。model是工作流名称,只用字母、数字和下划线。每个工作流有一个主模型和最多 2 个备用模型,遇到 429、5xx、408、404 和连接错误时切换,流式响应中同样生效。
支持 13 家服务商,另可接入任意 OpenAI 兼容的 base URL。
只支持自带密钥,模型用量不加价。
套餐按请求量计价:Free 免费,每月 25,000 次请求,用完即停止;Pro 每月 $49;Scale 每月 $299。
Draft 与 Live 发布、版本历史和回滚。
结构化输出、输入防护、每个模型的美元预算、精确匹配缓存、测试模式。
请求日志、请求时间线和费用估算。
用您自己的密钥试试。免费版每月 25,000 次请求封顶,不收超额费用。模型用量由您的供应商按您自己的密钥计费。
免费创建工作流ModelRiver 目前还不支持
如果您现在就需要其中某项,请继续使用现有方案。
统一账单或预付额度。您需要为每个服务商提供密钥。
在请求中直接写模型名,或自动路由。每次调用都要使用事先创建好的工作流名称。
负载均衡、密钥轮换,以及按延迟或成本路由。
熔断、可配置的重试或超时。重试只针对断开的连接,超时为 120 秒。
语义缓存。响应缓存只支持精确匹配。
输出、PII 或提示词注入防护。防护只检查输入。
图像、音频和视觉请求,Responses API 和 Anthropic Messages API。
OpenAI、Google、Cohere 和 Mistral 以外服务商的 embeddings。
每个工作流超过 2 个备用模型。
超出 13 家服务商约 139 个模型的目录。支持自定义 OpenAI 兼容 base URL。
SSO、SAML 或 SCIM,审计日志,OpenTelemetry 和日志导出。
自行部署,或选择区域。
第三方合规认证和合同 SLA。我们的可用性目标是 99.9%,状态发布在 服务状态.ModelRiver.com;可提供涵盖 GDPR、UK GDPR 和 CCPA 的 数据处理协议。
常见问题
为什么 ModelRiver 使用工作流名称而不是模型名?
这样模型选择、备用模型、结构化输出、防护和预算都在一处修改,无需重新部署代码。Draft 与 Live 发布让您可以先测试修改,再回滚。
需要更换 SDK 吗?
不需要。ModelRiver 在 https://api.modelriver.com/v1 提供 OpenAI 兼容接口。您只需修改 base URL、API 密钥和 model 的值。
如果误发了 OpenAI/gpt-4o 会怎样?
API 会返回 404,code 为 "model_not_found";如果项目中有工作流使用该模型,错误信息会给出它的名称。GET /v1/models 会列出可以发送的名称。
ModelRiver 怎么收费?
您使用自己的服务商密钥,Token 费用由服务商向您收取。ModelRiver 不对 Token 加价,按请求量收取套餐费用:Free 免费,每月 25,000 次请求(用完即停止);Pro 每月 $49;Scale 每月 $299。
可以一次只迁移一个工作流吗?
可以。每个工作流相互独立。先迁移一种调用,其余调用继续走现有网关,确认稳定后再迁移下一个。
核对日期 · 报告不准确之处
来源
OpenRouter、LiteLLM、Portkey、Vercel 是其各自所有者的商标。ModelRiver 与它们没有隶属关系,也未获得其认可或赞助。