- 防止个人身份信息(PII)泄露
- 检测并阻止提示注入攻击
- 拦截不当或有害内容
- 执行业务规则与合规要求
- 验证输出质量与准确性

确定性防护栏
使用基于规则的逻辑,如正则表达式模式、关键词匹配或显式检查。快速、可预测且成本效益高,但可能遗漏细微的违规情况。
基于模型的防护栏
使用LLM或分类器通过语义理解来评估内容。能捕捉规则遗漏的微妙问题,但速度较慢且成本更高。
内置防护栏
PII检测
LangChain 提供了内置的中间件,用于检测和处理对话中的个人身份信息(PII)。该中间件可以检测常见的PII类型,如电子邮件、信用卡、IP地址等。 PII检测中间件适用于以下场景:具有合规要求的医疗保健和金融应用、需要清理日志的客户服务智能体,以及任何处理敏感用户数据的应用。 PII中间件支持多种处理检测到PII的策略:| 策略 | 描述 | 示例 |
|---|---|---|
redact | 替换为 [REDACTED_{PII_TYPE}] | [REDACTED_EMAIL] |
mask | 部分遮蔽(例如,显示后4位) | ****-****-****-1234 |
hash | 替换为确定性哈希值 | a8f5f167... |
block | 检测到时抛出异常 | 抛出错误 |
内置PII类型与配置
内置PII类型与配置
内置PII类型:
email- 电子邮件地址credit_card- 信用卡号(经过Luhn算法验证)ip- IP地址mac_address- MAC地址url- URL
| 参数 | 描述 | 默认值 |
|---|---|---|
pii_type | 要检测的PII类型(内置或自定义) | 必填 |
strategy | 处理检测到PII的方式("block"、"redact"、"mask"、"hash") | "redact" |
detector | 自定义检测函数或正则表达式模式 | None(使用内置检测器) |
apply_to_input | 在模型调用前检查用户消息 | True |
apply_to_output | 在模型调用后检查AI消息 | False |
apply_to_tool_results | 在执行后检查工具结果消息 | False |
人工介入
LangChain 提供了内置的中间件,用于在执行敏感操作前要求人工批准。这是处理高风险决策最有效的防护栏之一。 人工介入中间件适用于以下场景:金融交易和转账、删除或修改生产数据、向外部发送通信,以及任何具有重大业务影响的操作。自定义防护栏
对于更复杂的防护栏,你可以创建在智能体执行前后运行的自定义中间件。这让你可以完全控制验证逻辑、内容过滤和安全检查。智能体前防护栏
使用“智能体前”钩子在每次调用的开始验证请求。这适用于会话级别的检查,如身份验证、速率限制,或在任何处理开始前阻止不当请求。智能体后防护栏
使用“智能体后”钩子在返回给用户前验证最终输出。这适用于基于模型的安全检查、质量验证,或对完整智能体响应的最终合规性扫描。组合多个防护栏
你可以通过将多个防护栏添加到中间件数组中来堆叠它们。它们按顺序执行,允许你构建分层保护:额外资源
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

