Appearance
OpenRouter Preset(预设)允许你将 LLM 配置(模型选择、提供商路由、系统 prompt、生成参数)从代码中分离,统一在 Web 界面管理。通过 @preset/preset-slug 作为 model 值、或在请求体中传 preset 字段来引用预设,更新配置无需重新部署代码。
OpenRouter Presets(预设)
Preset 让你把 LLM 的全部配置从代码里分离出来。在 OpenRouter 控制台创建和管理预设,控制提供商路由、模型选择、系统提示和生成参数,然后在 API 请求中引用预设名称即可。
什么是 Preset?
Preset 是命名配置,封装了特定用途所需的所有设置。例如:
email-copywriter:营销文案生成inbound-classifier:客户咨询分类code-reviewer:Pull Request 代码审查
每个 Preset 可以管理:
- 提供商路由偏好(按价格、延迟等排序)
- 模型选择(指定模型或 fallback 列表)
- 系统提示
- 生成参数(temperature、top_p 等)
- 提供商白名单/黑名单
快速开始
- 在 Settings > Presets 创建一个 Preset。选择模型,限制提供商路由范围。
- 在 API 请求中引用该 Preset:
json
{
"model": "@preset/ravenel-bridge",
"messages": [
{
"role": "user",
"content": "What's your opinion of the Golden Gate Bridge? Isn't it beautiful?"
}
]
}优势
关注点分离
Preset 让应用代码和 LLM 配置彻底解耦,代码语义更清晰,维护更简单。
快速迭代
更新 LLM 配置无需发布代码:
- 切换到新版模型
- 调整系统提示
- 修改生成参数
- 更改提供商偏好
三种引用方式
方式一:直接作为 model 值
把 Preset 当作模型 ID 使用,发送请求到 @preset/preset-slug:
json
{
"model": "@preset/email-copywriter",
"messages": [
{ "role": "user", "content": "Write a marketing email about our new feature" }
]
}方式二:preset 字段
同时指定 model 和 preset,preset 配置会覆盖或补充 model 的默认设置:
json
{
"model": "openai/gpt-4",
"preset": "email-copywriter",
"messages": [
{ "role": "user", "content": "Write a marketing email about our new feature" }
]
}方式三:组合写法
在 model 字段内用 @preset/ 后缀同时指定模型和 Preset:
json
{
"model": "openai/gpt-4@preset/email-copywriter",
"messages": [
{ "role": "user", "content": "Write a marketing email about our new feature" }
]
}其他说明
- 组织账号共享:组织账号的所有成员都可以访问组织级 Preset,是跨团队共享最佳实践的好方式。
- 版本历史:Preset 保留变更历史,支持回滚。通过 API 引用时,始终使用最新版本。
- 参数合并:请求中显式传入的参数会与 Preset 配置进行浅合并,请求参数优先级更高。
常见问题
Q: Preset 和直接在请求中设置参数有什么区别?
A: 功能上等价,但 Preset 的好处是"配置集中管理"——改一次 Preset,所有使用该 Preset 的请求立即生效,无需修改代码。
Q: 可以在 Preset 里设置 fallback 模型列表吗?
A: 可以。Preset 支持配置 models 数组,实现主模型不可用时自动切换到备用模型。
Q: 同一个 API key 可以关联多个 Preset 吗?
A: 每次请求只能引用一个 Preset,但不同请求可以指定不同的 Preset,灵活组合使用。