敏感内容审查

该模块用于审查应用中终端用户输入的内容和 LLM 输出的内容,分为两个扩展点类型。

扩展点

  • app.moderation.input 终端用户输入的内容审查扩展点

    • 用于审查终端用户传入的变量内容以及对话型应用中对话的输入内容。

  • app.moderation.outputLLM 输出的内容审查扩展点

    • 用于审查 LLM 输出的内容,

    • 当 LLM 输出为流式时,输出的内容将分 100 字为一个分段进行请求 API,尽可能避免输出内容较长时,审查不及时的问题。

app.moderation.input 扩展点

当在 Chatflow、Agent、聊天助手等应用下开启内容审查>审查输入内容时,Dify 会给相应的 API 扩展发送下列 HTTP POST 请求:

Request Body

{
    "point": "app.moderation.input", // 扩展点类型,此处固定为 app.moderation.input
    "params": {
        "app_id": string,  // 应用 ID
        "inputs": {  // 终端用户传入变量值,key 为变量名,value 为变量值
            "var_1": "value_1",
            "var_2": "value_2",
            ...
        },
        "query": string | null  // 终端用户当前对话输入内容,对话型应用固定参数。
    }
}
  • Example

API 返回规范

  • Example

    • action=direct_output

    • action=overridden

app.moderation.output 扩展点

当在 Chatflow、Agent、聊天助手等应用下开启内容审查>审查输出内容时,Dify 会给相应的 API 扩展发送下列 HTTP POST 请求:

Request Body

  • Example

API 返回规范

  • Example

    • action=direct_output

    • action=overridden

代码示例

下面展示一段可部署在 Cloudflare 的 src/index.ts 代码。(Cloudflare 完整的使用方法参见此文档

代码工作原理是进行关键词匹配,实现对 Input (用户输入的内容)以及输出(大模型返回的内容)进行过滤。用户可以按照需求自行修改匹配逻辑。

Last updated