消息过滤器对象结构
概述
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
| Key | Type | Description | Example |
|---|---|---|---|
| pii.starterPatterns | Array of Strings | 可选的内置启动器模式 ID 子集,用于启用特定模式。省略此项则启用所有启动器模式。 | starterPatterns: [sk_prefix, bearer_header] |
| pii.customPatterns | Array of Objects | 由操作员定义的模式。每个条目都需要 `id`、`label` 和 `regex`。 |
内置的 starter pattern id:
sk_prefix:匹配sk-样式的令牌前缀。bearer_header:匹配文本中的 bearer tokens。api_key_header:匹配api-key标头格式的文本。
customPatterns
| Key | Type | Description | Example |
|---|---|---|---|
| id | String | 用于日志记录和调试的稳定模式 ID。 | id: anthropic_api_key |
| label | String | 拒绝消息中显示的人类可读标签。 | label: Anthropic API key |
| regex | String | JavaScript 风格的正则表达式。LibreChat 会在配置加载时对其进行验证,并使用全局标志进行编译。 | regex: 'sk-ant-[A-Za-z0-9_-]{20,}' |
行为
当提交的消息文本匹配到已配置的 PII 模式时,LibreChat 将返回 HTTP 400 状态码以及 message_filter_pii_block,并提示调用者移除匹配到的凭据类型。
过滤器检查:
- 通过 LibreChat UI 提交的聊天路由用户文本。
- OpenAI 兼容的 Chat Completions 请求中所有调用者提供的消息角色对应的文本内容。
- 在 OpenAI 兼容的 Responses 请求中,跨所有调用者提供的消息角色的文本内容。
该过滤器会对请求体中提供的文本进行评估。它不会扫描文件内容。
这篇指南怎么样?