Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

消息过滤器对象结构

概述

messageFilter 对象用于配置服务器端消息过滤器。在 v1.3.13 版本中,支持的过滤器类型为 messageFilter.pii

messageFilter.pii 会在文本到达审核、模型请求或消息持久化之前,拒绝匹配凭据类起始模式或操作员定义的正则表达式的已提交消息文本。

示例

messageFilter:
  pii:
    starterPatterns:
      - sk_prefix
      - bearer_header
      - api_key_header
    customPatterns:
      - id: anthropic_api_key
        label: Anthropic API key
        regex: 'sk-ant-[A-Za-z0-9_-]{20,}'

字段

messageFilter.pii

KeyTypeDescriptionExample
pii.starterPatternsArray of Strings可选的内置启动器模式 ID 子集,用于启用特定模式。省略此项则启用所有启动器模式。starterPatterns: [sk_prefix, bearer_header]
pii.customPatternsArray of Objects由操作员定义的模式。每个条目都需要 `id`、`label` 和 `regex`。

内置的 starter pattern id:

  • sk_prefix:匹配 sk- 样式的令牌前缀。
  • bearer_header:匹配文本中的 bearer tokens。
  • api_key_header:匹配 api-key 标头格式的文本。

customPatterns

KeyTypeDescriptionExample
idString用于日志记录和调试的稳定模式 ID。id: anthropic_api_key
labelString拒绝消息中显示的人类可读标签。label: Anthropic API key
regexStringJavaScript 风格的正则表达式。LibreChat 会在配置加载时对其进行验证,并使用全局标志进行编译。regex: 'sk-ant-[A-Za-z0-9_-]{20,}'

行为

当提交的消息文本匹配到已配置的 PII 模式时,LibreChat 将返回 HTTP 400 状态码以及 message_filter_pii_block,并提示调用者移除匹配到的凭据类型。

过滤器检查:

  • 通过 LibreChat UI 提交的聊天路由用户文本。
  • OpenAI 兼容的 Chat Completions 请求中所有调用者提供的消息角色对应的文本内容。
  • 在 OpenAI 兼容的 Responses 请求中,跨所有调用者提供的消息角色的文本内容。

该过滤器会对请求体中提供的文本进行评估。它不会扫描文件内容。

这篇指南怎么样?