Guardrails 模块通过针对多种验证类型检查内容,验证并保护您的 AI 工作流。在内容进入工作流之前,确保数据质量、防止幻觉、检测 PII(个人身份信息)并强制执行格式要求。

验证类型
JSON 验证
验证内容是否为正确格式的 JSON。这是确保结构化 LLM 输出可以安全解析的理想方法。
使用场景:
- 在解析之前验证 Agent 块的 JSON 响应
- 确保 API 负载格式正确
- 检查结构化数据的完整性
输出:
passed:如果是有效的 JSON,则为true,否则为falseerror:如果验证失败,则为错误消息(例如,“无效的 JSON:意外的标记...”)
正则表达式验证
检查内容是否符合指定的正则表达式模式。
使用场景:
- 验证电子邮件地址
- 检查电话号码格式
- 验证 URL 或自定义标识符
- 强制执行特定的文本模式
配置:
- 正则表达式模式:要匹配的正则表达式(例如,
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$用于电子邮件)
输出:
passed:如果内容匹配模式,则为true,否则为falseerror:如果验证失败,则为错误消息
幻觉检测
使用基于检索增强生成 (RAG) 的 LLM 评分来检测 AI 生成的内容是否与您的知识库相矛盾或不基于事实。
工作原理:
- 查询您的知识库以获取相关上下文
- 将 AI 输出和检索到的上下文发送到 LLM
- LLM 分配一个置信评分(0-10 分制)
- 0 = 完全幻觉(完全没有依据)
- 10 = 完全基于事实(完全由知识库支持)
- 如果评分 ≥ 阈值(默认值:3),验证通过
配置:
- 知识库:从现有知识库中选择
- 模型:选择用于评分的 LLM(需要强推理能力 - 推荐 GPT-4o、Claude 3.7 Sonnet)
- API 密钥:所选 LLM 提供商的身份验证(对于托管/Ollama 或 VLLM 兼容模型会自动隐藏)
- 置信度阈值:通过的最低分数(0-10,默认值:3)
- Top K(高级):要检索的知识库块数量(默认值:10)
输出:
passed:如果置信度分数 ≥ 阈值,则为truescore:置信度分数(0-10)reasoning:LLM 对分数的解释error:验证失败时的错误信息
用例:
- 根据文档验证代理的回复
- 确保客户支持回答事实准确
- 验证生成的内容是否与源材料匹配
- RAG 应用的质量控制
PII 检测
使用 Microsoft Presidio 检测个人身份信息。支持 40 多种实体类型,覆盖多个国家和语言。

工作原理:
- 提交要验证的内容(例如,
<agent1.content>) - 使用模态选择器选择要检测的 PII 类型
- 选择检测模式(检测或屏蔽)
- 扫描内容以匹配 PII 实体
- 返回检测结果,并可选择返回屏蔽后的文本
配置:
- 要检测的 PII 类型:通过模态选择器从分组类别中选择
- 常见:姓名、电子邮件、电话、信用卡、IP 地址等
- 美国:社会安全号码、驾照、护照等
- 英国:NHS 编号、国家保险号码
- 西班牙:NIF、NIE、CIF
- 意大利:税号、驾照、增值税号
- 波兰:PESEL、NIP、REGON
- 新加坡:NRIC/FIN、UEN
- 澳大利亚:ABN、ACN、TFN、Medicare
- 印度:Aadhaar、PAN、护照、选民编号
- 模式:
- 检测:仅识别 PII(默认)
- 屏蔽:将检测到的 PII 替换为屏蔽值
- 语言:检测语言(默认:英语)
输出:
passed:如果检测到任何选定的 PII 类型,则为falsedetectedEntities:包含类型、位置和置信度的检测到的 PII 数组maskedText:屏蔽 PII 的内容(仅当模式为 "屏蔽" 时)error:验证失败时的错误信息
使用场景:
- 阻止包含敏感个人信息的内容
- 在记录或存储数据之前屏蔽 PII
- 符合 GDPR、HIPAA 和其他隐私法规
- 在处理之前清理用户输入
配置
要验证的内容
要验证的输入内容。通常来源于:
- Agent 块的输出:
<agent.content> - Function 块的结果:
<function.output> - API 响应:
<api.output> - 任何其他块的输出
验证类型
从以下四种验证类型中选择:
- 有效 JSON:检查内容是否为正确格式的 JSON
- 正则表达式匹配:验证内容是否匹配正则表达式模式
- 幻觉检查:通过 LLM 评分与知识库进行验证
- PII 检测:检测并可选择屏蔽个人身份信息
输出
所有验证类型返回:
<guardrails.passed>:布尔值,指示验证是否通过<guardrails.validationType>:执行的验证类型<guardrails.input>:被验证的原始输入<guardrails.error>:如果验证失败,返回错误信息(可选)
按类型的额外输出:
幻觉检查:
<guardrails.score>:置信分数(0-10)<guardrails.reasoning>:LLM 的解释
PII 检测:
<guardrails.detectedEntities>:检测到的 PII 实体数组<guardrails.maskedText>:屏蔽 PII 后的内容(如果模式为 "Mask")
示例使用场景
在解析之前验证 JSON - 确保 Agent 输出为有效的 JSON
Agent (Generate) → Guardrails (Validate) → Condition (Check passed) → Function (Parse)防止幻觉 - 验证客户支持响应是否符合知识库
Agent (Response) → Guardrails (Check KB) → Condition (Score ≥ 3) → Send or Flag阻止用户输入中的 PII - 清理用户提交的内容
Input → Guardrails (Detect PII) → Condition (No PII) → Process or Reject最佳实践
- 与条件块链式使用:使用
<guardrails.passed>根据验证结果分支工作流逻辑 - 在解析之前使用 JSON 验证:在尝试解析 LLM 输出之前始终验证 JSON 结构
- 选择合适的 PII 类型:仅选择与您的使用场景相关的 PII 实体类型以提高性能
- 设置合理的置信阈值:对于幻觉检测,根据您的准确性要求调整阈值(值越高越严格)
- 使用强大的模型进行幻觉检测:GPT-4o 或 Claude 3.7 Sonnet 提供更准确的置信评分
- 为日志记录屏蔽 PII:当需要记录或存储可能包含 PII 的内容时,使用 "Mask" 模式
- 测试正则表达式模式:在生产环境部署之前彻底验证您的正则表达式模式
- 监控验证失败:跟踪
<guardrails.error>消息以识别常见的验证问题
Guardrails 验证会在您的工作流程中同步进行。对于幻觉检测,如果延迟至关重要,请选择更快的模型(例如 GPT-4o-mini)。