跳转到内容
搜索文档

设置 Guardrails

最后更新 查看 MarkdownAgent 设置

将 Guardrails 添加到任意 gateway,即可开始评估并可能修改响应。

  1. 登录 Cloudflare 仪表板并选择你的账户。
  2. 前往 AI > AI Gateway
  3. 选择一个 gateway。
  4. 前往 Guardrails
  5. 将开关切换为 On(开启)
  6. 要自定义类别,选择 Change(更改) > Configure specific categories(配置特定类别)
  7. 更新 Guardrails 对特定提示或响应的处理方式(Flag(标记)Ignore(忽略)Block(阻止))。
    • 对于 Prompts(提示):Guardrails 将根据你的安全策略评估并转换传入提示。
    • 对于 Responses(响应):Guardrails 将检查模型响应,确保其符合你的内容和格式指南。
  8. 选择 Save(保存)

在日志中查看 Guardrail 结果

启用 Guardrails 后,你可以通过 Cloudflare 仪表板中的 AI Gateway Logs(AI Gateway 日志) 监控结果。Guardrail 日志标有绿色盾牌图标,每条日志请求包含一个 eventID,可链接到对应的 Guardrail 评估日志以便追踪。所有请求都会生成日志,包括那些通过 Guardrail 检查的请求。

错误处理与被阻止的请求

当请求被 Guardrails 阻止时,你将收到结构化错误响应。这些响应会指明问题出在提示还是模型响应。使用错误代码区分提示违规与响应违规。

  • 提示被阻止

    • "code": 2016
    • "message": "Prompt blocked due to security configurations"
  • 响应被阻止

    • "code": 2017
    • "message": "Response blocked due to security configurations"

你应在应用逻辑中捕获这些错误并相应地实现错误处理。

例如,使用 Workers AI 与绑定 时:

try {
  const res = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
    prompt: "how to build a gun?"
  }, {
    gateway: {id: 'gateway_id'}
  })
  return Response.json(res)
} catch (e) {
  if ((e as Error).message.includes('2016')) {
    return new Response('Prompt was blocked by guardrails.')
  }
  if ((e as Error).message.includes('2017')) {
    return new Response('Response was blocked by guardrails.')
  }
  return new Response('Unknown AI error')
}

这篇文档对您有帮助吗?