- 防止 PII 泄漏
- 检测并阻止提示注入攻击
- 阻止不适当或有害内容
- 强制执行业务规则和合规性要求
- 验证输出质量和准确性

确定性防护栏
使用基于规则的逻辑,如正则表达式模式、关键词匹配或明确检查。快速、可预测且经济高效,但可能会遗漏细微的违规行为。
基于模型的防护栏
使用大型语言模型 (LLM) 或分类器通过语义理解评估内容。捕捉规则遗漏的细微问题,但速度较慢且成本较高。
内置防护栏
PII 检测
LangChain 提供了内置中间件,用于检测和处理对话中的个人身份信息 (PII)。此中间件可以检测常见的 PII 类型,如电子邮件、信用卡、IP 地址等。 PII 检测中间件对于具有合规性要求的医疗保健和金融应用程序、需要清除日志的客户服务代理以及通常处理敏感用户数据的任何应用程序都很有帮助。 PII 中间件支持多种处理检测到的 PII 的策略:| 策略 | 描述 | 示例 |
|---|---|---|
编辑 | 替换为 [REDACTED_TYPE] | [REDACTED_EMAIL] |
掩码 | 部分模糊处理(例如,最后 4 位数字) | ****-****-****-1234 |
哈希 | 替换为确定性哈希 | a8f5f167... |
阻止 | 检测到时抛出异常 | 抛出错误 |
内置 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 提供了内置中间件,用于在执行敏感操作之前要求人工批准。这是高风险决策最有效的防护栏之一。 人工参与中间件对于金融交易和转账、删除或修改生产数据、向外部方发送通信以及任何具有重大业务影响的操作等情况很有帮助。有关实施审批工作流的完整详细信息,请参阅人工参与文档。
自定义防护栏
对于更复杂的防护栏,你可以创建在代理执行之前或之后运行的自定义中间件。这让你能够完全控制验证逻辑、内容过滤和安全检查。代理前置防护栏
使用“代理前置”钩子在每次调用开始时验证请求一次。这对于会话级检查(如身份验证、速率限制或在任何处理开始之前阻止不适当的请求)非常有用。代理后置防护栏
使用“代理后置”钩子在返回给用户之前验证最终输出一次。这对于基于模型的安全检查、质量验证或对完整代理响应进行最终合规性扫描非常有用。组合多个防护栏
你可以通过将多个防护栏添加到中间件数组来堆叠它们。它们按顺序执行,允许你构建分层保护。附加资源
- 中间件文档 - 自定义中间件的完整指南
- 中间件 API 参考 - 自定义中间件的完整指南
- 人工参与 - 为敏感操作添加人工审查
- 测试代理 - 测试安全机制的策略
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。