原文链接:Model Fallbacks
Model Fallbacks
模型之间的自动故障转移
models 参数允许您在主模型的提供商宕机、达到速率限制或因内容审核而拒绝回复时,自动尝试其他模型。
工作原理
按优先级顺序提供模型 ID 数组。如果第一个模型返回错误,OpenRouter 将自动尝试列表中的下一个模型。
TypeScript SDKTypeScript (fetch)Python
import { OpenRouter } from '@openrouter/sdk';
const openRouter = new OpenRouter({
apiKey: '<OPENROUTER_API_KEY>',
});
const completion = await openRouter.chat.send({
models: ['anthropic/claude-sonnet-4.6', 'gryphe/mythomax-l2-13b'],
messages: [
{
role: 'user',
content: 'What is the meaning of life?',
},
],
});
console.log(completion.choices[0].message.content);
故障转移行为
如果您选择的模型返回错误,OpenRouter 将尝试使用备用模型。如果备用模型宕机或返回错误,OpenRouter 将返回该错误。
默认情况下,任何错误都可以触发使用备用模型,包括:
- 上下文长度验证错误
- 过滤模型的审核标记
- 速率限制
- 宕机
定价
请求使用最终使用的模型进行定价,这将在响应体的 model 属性中返回。
与 OpenAI SDK 配合使用
要使用 OpenAI SDK 的 models 数组,请将其包含在 extra_body 参数中。在下面的示例中,将首先尝试 gpt-4o,并且 models 数组将按顺序作为备用尝试。
PythonTypeScript
from openai import OpenAI
openai_client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key={{API_KEY_REF}},
)
completion = openai_client.chat.completions.create(
model="openai/gpt-4o",
extra_body={
"models": ["anthropic/claude-sonnet-4.6", "gryphe/mythomax-l2-13b"],
},
messages=[
{
"role": "user",
"content": "What is the meaning of life?"
}
]
)
print(completion.choices[0].message.content)