跳转到主要内容
你在客户面前运行 AI,你的品牌岌岌可危。一个支持机器人绝不能 说脏话,一个营销副驾驶绝不能点名竞争对手,你的流量中任何东西 都不应触及儿童安全词项。品牌与语气安全是执行这三者最快的 方式:Brand 防护栏预设类别提供了你绑定到密钥的关键词拒绝 列表,网关会在每一次调用触达 OpenAI、Anthropic 或 Google 之前 根据它们筛查调用。 这是品牌安全用例的专注落地页。完整的引擎——每种规则类型、 字段和路由——请见防护栏参考

1. 一个预设搞定 AI 品牌安全

防护栏模板选择器中的 Brand 类别是一组keyword 拒绝列表。 每个预设是一条 keyword 规则,你一键应用然后编辑——把种子词项 换成你自己的列表。没有模型调用,没有网络跳转,也无需修改 SDK:策略存在于网关中,你的应用继续像以前一样调用 /v1/chat/completions

脏话

一份在请求上拦截脏话或禁用词项的拒绝列表——或一个改为 脱敏它们的 mask 变体。

竞争对手提及

拦截(或 flag)任何对你列出的名字的提及——让副驾驶不要 替竞争对手说好话。

儿童安全

一份你从自己标准中填充的儿童安全词项保守拒绝列表,在请求上 拦截
这三者都是确定性的关键词匹配——在上游调用之前对请求运行的 不区分大小写的子串扫描。它们不额外花费任何成本,也从不串行 排在模型之后。

2. Brand 预设,正如其发布的样子

在控制台 Guardrails 视图中打开 New guardrail 分裂按钮, 选择 Brand 模板类别。那里有五个种子:
一条 keyword 规则,阶段 input,动作 block。随附占位 词项——把列表编辑为你真实的禁用词、竞争对手名字或禁区 短语。一个匹配会在提示词离开网关之前返回 HTTP 400 guardrail_blocked
同样的拒绝列表,但动作 mask,阶段 both——被拒绝列表 收录的词被替换为 [REDACTED] 而不是拒绝调用。当你宁愿让 请求清洗后通过而不是拒绝时的更柔和选择。
一条 keyword 拦截规则,以各市场占位符(zh、es、fr、de、ja、 ar)作为种子。把每一个替换为你的策略禁用的区域特定词项—— 种子词项刻意是通用的。
一条 keyword 规则,阶段 input,动作 block,以单个 占位符作为种子。添加你的竞争对手名字;把动作切换为 flag 以在不拒绝流量的情况下监控提及。
一份保守的 keyword 拒绝列表,阶段 input,动作 block。 种子是一个刻意的占位符——在你依赖它之前,用你自己的安全 策略或标准中的确切词项填充它。
预设是种子,而不是锁。 每个 Brand 预设都随附占位词项,因此 规则开箱即用就有效——你需要在绑定密钥之前为你的品牌编辑拒绝 列表。这些预设刻意不随附真实的禁用词或儿童安全列表。

3. 在控制台中应用一个 Brand 预设

这里的每一步都是你自己会话下的控制台操作。创建和编辑 防护栏需要工作区中的 Developer+。只有最后的 /v1/* 调用使用 sk-orca-... 中继密钥。
1

打开模板

在控制台中打开 Guardrails,点击 New guardrail 分裂 按钮,从 Brand 模板类别中选择 Competitor Mentions (或任何 Brand 预设)。
2

编辑拒绝列表

把种子占位符替换为你真实的词项——例如你的竞争对手名字。 给防护栏起一个名字(≤ 64 字符),如 brand-safety,并保存。
3

测试它

打开 Test 标签页,在 input 阶段粘贴一个样本,并在本地 运行该策略——没有上游调用,没有配额(参见 §5)。
4

绑定一个密钥

编辑一个 API 密钥,从 Guardrail 下拉菜单选择 brand-safety (在密钥上设置 guardrail_id),或将它标记为工作区默认值。 参见绑定到密钥账户默认值

4. 一个具体示例

一个名为 brand-safety 的竞争对手提及防护栏被绑定到一个密钥。 种子占位符已被替换为真实名字 Acme。像以前一样调用网关—— 无需新的请求头:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Write a tweet praising Acme over us"}
    ]
  }'
keyword 规则在请求上匹配 Acme,网关会在任何东西到达上游 模型之前以 HTTP 400 guardrail_blocked 拒绝调用——并指明 触发的防护栏和规则。
一个 block 判定不消耗配额。 输入阶段拦截在用量被计量之前 触发,并且该请求被标记为 skip-retry——针对另一个通道重新 运行同一个提示词只会再次拦截。参见 guardrail_blocked 错误
对于脏话,当你宁愿清洗提示词而不是拒绝它时,优先用 mask 而不是 block——被拒绝列表收录的词渲染为 [REDACTED],请求 通过。对于竞争对手提及,当你想在开始拦截之前衡量暴露时,优先用 flag动作页涵盖完整的 block / mask / flag 取舍。

5. 绑定前先测试

在任何密钥指向它之前,先证明拒绝列表如你所愿地工作。打开编辑器 内的 Test 标签页,粘贴一个样本,选择 input 阶段,然后运行:
Write a tweet praising Acme over us
沙箱在本地评估当前策略并返回判定结果——不会向上游发送任何 内容,也不计量。要针对一个措辞语料库做扫查, Eval 工具就在隔壁那个 标签页。
关键词匹配是一次不区分大小写的子串扫描,因此 class 也会在 classic 内部匹配。把拒绝列表条目保持具体,等你看到真实流量后 从 Matches 信息流调优误报

6. 查看触发了什么

每条触发的规则都会记录一条匹配——规则类型、动作、阶段和 一个详情字符串——呈现在工作区 Matches 信息流中 (GET /api/guardrail/match,Member)。匹配的子串本身(禁用词、 竞争对手名字)在开启 Log raw content 时才记录,而它 默认关闭
对于一份儿童安全拒绝列表,让 Log raw content 保持关闭通常 正是重点:你能看到一个词项被拦截了以及多频繁,而不必把词项 复制回你自己的遥测。只有在你需要子串进行分诊时才按防护栏开启 它;该设置不可追溯。参见 Matches 信息流日志与隐私
对一个 Brand 防护栏的每次编辑都会在同一事务中写入一条版本化的 历史记录——diff 任意两个版本,并从 History 视图回退。参见 版本管理

7. 接下来去哪里

敏感词过滤

深入介绍每个 Brand 预设背后的关键词拒绝列表机制。

拦截密钥

用 Secrets Blocker 预设捕获 API 密钥和凭证。

调优误报

从 Matches 信息流标记误报并收紧拒绝列表。

模板

跨每个类别的完整预设库。
Brand 预设把关内容。要阻止一个被恶意提示词带偏品牌的模型, 把它们与提示注入防护栏越狱威胁配对。完整的引擎—— 阶段、高级规则和路由——请阅读 防护栏参考