Skip to main content
防护栏通过在代理执行的关键点验证和过滤内容,帮助您构建安全、合规的AI应用程序。它们可以检测敏感信息、执行内容策略、验证输出,并在问题发生前防止不安全的行为。 常见用例包括:
  • 防止个人身份信息泄露
  • 检测和阻止提示注入攻击
  • 阻止不当或有害内容
  • 执行业务规则和合规要求
  • 验证输出质量和准确性
您可以使用中间件在战略点拦截执行来实现防护栏——在代理开始前、完成后,或在模型和工具调用前后。
中间件流程图
防护栏可以通过两种互补的方法实现:

确定性防护栏

使用基于规则的逻辑,如正则表达式模式、关键词匹配或显式检查。快速、可预测且经济高效,但可能遗漏细微的违规行为。

基于模型的防护栏

使用LLM或分类器通过语义理解评估内容。能捕捉规则遗漏的微妙问题,但速度较慢且成本较高。
LangChain提供了内置防护栏(例如,PII检测Human in the Loop)和一个灵活的中间件系统,用于使用任一方法构建自定义防护栏。

内置防护栏

PII检测

LangChain提供内置中间件,用于检测和处理对话中的个人身份信息(PII)。此中间件可以检测常见的PII类型,如电子邮件、信用卡、IP地址等。 PII检测中间件适用于具有合规要求的医疗保健和金融应用、需要清理日志的客户服务代理,以及通常任何处理敏感用户数据的应用程序。 PII中间件支持多种处理检测到的PII的策略:
内置PII类型:
  • email - 电子邮件地址
  • credit_card - 信用卡号(Luhn验证)
  • ip - IP地址
  • mac_address - MAC地址
  • url - URL
配置选项:
有关PII检测功能的完整详细信息,请参阅中间件文档

Human in the Loop

LangChain提供内置中间件,用于在执行敏感操作前要求人工批准。这是高风险决策最有效的防护栏之一。 Human in the Loop中间件适用于金融交易和转账、删除或修改生产数据、向外部方发送通信,以及任何具有重大业务影响的操作。
有关实现审批工作流的完整详细信息,请参阅Human in the Loop文档

自定义防护栏

对于更复杂的防护栏,您可以创建在代理执行前或后运行的自定义中间件。这使您能够完全控制验证逻辑、内容过滤和安全检查。

代理前防护栏

使用“代理前”钩子在每次调用开始时验证请求一次。这适用于会话级检查,如身份验证、速率限制或在任何处理开始前阻止不当请求。

代理后防护栏

使用“代理后”钩子在返回给用户前验证最终输出一次。这适用于基于模型的安全检查、质量验证或对完整代理响应的最终合规扫描。

组合多个防护栏

您可以通过将多个防护栏添加到中间件数组中来堆叠它们。它们按顺序执行,允许您构建分层保护:

附加资源