模型路由
动态路由模型请求
OpenRouter 为模型路由提供了两种选择。
自动路由
自动路由器:一个特殊的模型 ID,您可以根据提示词在选定的高质量模型之间进行选择,由 NotDiamond 提供支持。
{
"model": "openrouter/auto",
... // 其他参数
}
输出生成的结果将models
集合为所使用的模型。
models 参数
如果主模型的提供商出现故障、速率受限或由于内容审核而拒绝回复,则models
参数可让您自动请求其他模型。
{
"models": ["anthropic/claude-3.7-sonnet", "deepseek/deepseek-chat"],
... // 其他参数
}
如果您选择的模型返回错误,OpenRouter 将尝试使用备用模型。如果备用模型发生故障或返回错误,OpenRouter 将返回该错误。
默认情况下,任何错误都可能触发备用模型的使用,包括上下文长度验证错误、已筛选模型的审核标志、速率限制和停机时间。
API请求按最终使用的模型进行定价,该模型将在响应主体的model
属性中返回。
使用 OpenAI SDK
要将 models
数组与 OpenAI SDK 一起使用,请将其添加到 extra_body
参数中。在以下示例中,将首先使用 gpt-4o,然后按顺序尝试 models
数组作为后备。
- TypeScript
- Python
import OpenAI from 'openai';
const openrouterClient = new OpenAI({
baseURL: 'https://openrouter.co/v1',
// API 密钥和标头
});
async function main() {
// @ts-expect-error
const completion = await openrouterClient.chat.completions.create({
model: 'openai/gpt-4o',
models: ['anthropic/claude-3.7-sonnet', 'gryphe/mythomax-l2-13b'],
messages: [
{
role: 'user',
content: '生命的意义是什么?',
},
],
});
console.log(completion.choices[0].message);
}
main();
from openai import OpenAI
openai_client = OpenAI(
base_url="https://openrouter.co/v1",
api_key=<OPENROUTER_API_KEY>,
)
completion = openai_client.chat.completions.create(
model="openai/gpt-4o",
extra_body={
"models": ["anthropic/claude-3.7-sonnet", "gryphe/mythomax-l2-13b"],
},
messages=[
{
"role": "user",
"content": "生命的意义是什么?"
}
]
)
print(completion.choices[0].message.content)