以编程方式使用文档

当 PII 或敏感信息脱敏策略处于活动状态时,网关会在请求到达 LLM 提供商之前扫描出站请求。如果检测到敏感数据,会从请求中将其脱敏。代理将继续收到响应。

脱敏内容在 LangSmith 追踪中也会被脱敏,因此敏感数据也不会保留在您的可观测性数据中。

PII 检测

网关检测并脱敏以下类别的个人身份信息:

类别示例
**姓名**自然语言中的人名
**国籍、宗教或政治隶属关系**国籍
**位置**地址、城市、国家

检测使用 Presidio 处理命名实体(姓名、位置和 NRP)以及基于模式匹配的规则处理结构化标识符。

敏感信息检测

网关检测并脱敏跨多种提供商和格式的 API 密钥、令牌和凭据:

类别检测到的模式
**社会安全号码**美国 SSN 模式(例如,123-45-6789)
**电话号码**美国电话号码模式
**LangSmith**个人令牌、服务密钥
**AWS**访问令牌
**GitHub**个人访问令牌、细粒度 PAT、OAuth 令牌、应用令牌
**GitLab**个人访问令牌
**AI 提供商**OpenAI API 密钥、Anthropic API 密钥
**云平台**GCP API 密钥、Azure AD 客户端密钥
**协作工具**Slack bot/user/app tokens, Datadog access tokens
**包注册表**PyPI 上传令牌、npm 访问令牌
**加密**私钥
**Stripe**访问令牌

启用脱敏策略

  1. Go to **设置 → 网关 → LLM 网关**.
  2. 点击 **创建策略**.
  3. 选择 **PII 脱敏** or **敏感信息脱敏** 作为策略类型。
  4. 配置要检测的类别(或启用全部)。
  5. Save.

脱敏策略适用于在配置范围内通过网关的所有请求。立即生效。

脱敏内容的显示方式

当检测到 PII 或密钥时,内容将在发送给提供商和 LangSmith 追踪的请求中被替换为占位符。例如:

原始请求:

Please process the refund for John Smith, SSN 123-45-6789.

上游脱敏:

Please process the refund for [SAFE_TO_USE:PERSON_kbqdjxyz], SSN [SAFE_TO_USE:US_SSN_abqxlmwp]

占位符遵循以下格式 [SAFE_TO_USE:_<suffix>]:

  • SAFE_TO_USE: 用于标记该值为脱敏占位符的固定前缀。
  • \<CATEGORY\>: 检测到的类型。例如: PERSON, LOCATION, US_SSN, US_PHONE_NUMBER, OPENAI_API_KEY, GITHUB_PAT, LANGSMITH_PERSONAL_TOKEN.
  • \<suffix\>: 一个 8 字符的随机标签。

LangSmith 中的追踪显示脱敏后的版本以及元数据,指示已发生脱敏以及检测到的类别。

下游去脱敏响应:

当上游提供商返回响应时,网关将用调用者的原始值替换脱敏占位符。例如,您的智能体可能会看到此响应:

Checking Confirming John Smith's SSN to be 123-45-6789.... Okay! I will process the full refund.

脱敏覆盖范围

覆盖范围:

  • - 出站请求内容(发送给 LLM 提供商的消息)在离开网关前会被扫描和脱敏。
  • - LangSmith 追踪中显示的是脱敏后的版本。

不覆盖范围:

- **LLM 提供商的响应:** 如果模型在其响应中生成敏感数据,该内容不会被脱敏。流式响应脱敏正在进行中。 - **已存在于您追踪中的数据:** 脱敏仅适用于通过网关流动的请求。直接写入 LangSmith API 的追踪(绕过网关)不会被扫描。 - **平台级数据摄取:** 如果您的要求是防止 PII 无论以何种方式进入 LangSmith(例如数据驻留合规性),仅靠网关脱敏是不够的。这需要数据摄取级的脱敏,这是一个独立的功能。 - **提示词扫描:** 系统提示词、开发者提示词和工具调用参数不会被扫描。 **扫描器故障采用失败关闭策略**:如果 PII 或密钥扫描器无法访问、响应缓慢或出现错误,该阶段会阻止请求继续进行。

这个区别很重要。如果您的安全模型要求敏感数据永远不接触任何系统(不仅仅是 LLM 提供商),请确保您了解网关覆盖的范围以及哪些范围需要额外的控制。

后续步骤

  • - 消费策略:在数据保护之外添加成本控制。