guardrail_id,
该密钥发出的每一次 /v1/* 调用都会在下一次请求时被筛查,
无需重新部署,也无需修改 SDK。
本页只涵盖绑定——如何绑定、解析如何选出生效的策略,以及
关闭开关做什么。规则类型、动作和阶段请见
防护栏参考。
1. 用 guardrail_id 按 API 密钥绑定防护栏
防护栏是工作区级别的,但执行是按密钥决定的。每个
API 密钥都带有一个
guardrail_id 字段。让它指向某个防护栏,那个密钥——也只有那个
密钥——就会被该策略筛查。
这使得一个工作区可以在不同密钥上运行不同的策略:
- 一个生产密钥绑定到严格的
pii-blocker, - 一个预发密钥绑定到较轻的
flag-only策略, - 一个内部密钥不绑定任何东西。
https://api.orcarouter.ai/v1/chat/completions。
中继密钥(
sk-orca-…)是你的应用发送的东西。把防护栏
绑定到它是由你的会话鉴权的控制台 / token API 操作——你
永远不会用中继密钥本身去配置防护栏。2. 在控制台中绑定
从控制台配置绑定(受角色门控:编辑密钥和 防护栏需要 Developer+)。
之后,用绑定密钥发出的普通中继调用会被自动筛查:
[EMAIL] 而永远看不到该地址——同一个调用,无需修改客户端。
3. 解析如何选出生效的防护栏
在每一次请求上,网关按如下顺序精确解析出一个生效的 防护栏(或无):1 — 明确的密钥绑定
1 — 明确的密钥绑定
如果密钥的
guardrail_id 指向一个防护栏,并且该防护栏
存在,并且已启用,则它适用。明确绑定是
权威的——它永不静默回退到工作区默认值。2 — 工作区默认值
2 — 工作区默认值
如果密钥没有绑定(
guardrail_id 为 0 / 未设置),则
工作区已启用的默认防护栏适用(如果设置了的话)。3 — 两者都解析不出
3 — 两者都解析不出
不执行。请求与从未启用该功能的工作区字节相同
——没有拦截、脱敏或记录。
4. 关闭开关:禁用绑定,不回退
这是人们容易忽略的部分。一个明确的密钥绑定本身就是 权威——因此禁用绑定的防护栏会为该密钥关闭执行,并且它 不会回退到工作区默认值。| 密钥状态 | 谁筛查请求 |
|---|---|
guardrail_id → 已启用的防护栏 | 该防护栏 |
guardrail_id → 已禁用的防护栏 | 无(不回退) |
guardrail_id → 已删除 / 不存在 | 无(不回退) |
guardrail_id = 0 / 未设置 | 工作区默认值(如有) |
5. 解绑或清除绑定
要停止用某个特定防护栏筛查一个密钥,你有两种结果不同的 不同操作:- 清除绑定——将密钥的
guardrail_id设为0。该密钥现在 解析为工作区默认值(如果存在),或解析为无。 - 禁用防护栏——将防护栏的
enabled关闭。每个明确绑定到 它的密钥现在都解析为无(按 §4),而那些作为工作区默认值 依赖它的密钥会下沉到不执行。
6. 一个被筛查的请求会(和不会)花费什么
一旦防护栏解析出来,它的规则就决定请求。对于绑定密钥, 值得了解的两个结果:- 一个 block 返回 HTTP 400,错误码为
guardrail_blocked, 并指明触发的防护栏和规则。它不消耗配额——输入阶段的 拦截在计量之前触发,输出阶段的拦截会退回预先扣除的配额—— 并被标记为 skip-retry。 - 一个 mask 会把匹配项改写为一个带类型的标签(例如
[EMAIL]), 并放行净化后的请求;上游模型永远看不到原始内容。
guardrail_blocked 错误
页,输出规则在流式响应上的行为见
流式覆盖。
7. 接下来去哪里
创建你的第一个防护栏
构建你将绑定到密钥的策略。
账户默认防护栏
一次性筛查工作区中的每一个密钥。
防护栏参考
规则类型、动作、阶段、PII、judge、grounding。
密钥、策略与工作区
绑定如何在网关范围内限定。
