亚马逊云科技
用户4368
添加快捷方式
分享
通过API 扩展在 Dify 上使用 Amazon Bedrock Guardrail 给聊天应用增加内容审查安全护栏
输入“/”快速插入内容
通过API 扩展在 Dify 上使用 Amazon Bedrock Guardrail 给聊天应用增加内容审查安全护栏
用户4368
用户4368
2024年9月9日修改
Dify 上配置步骤和使用演示
第一步:添加 API 扩展
V2 版本(Latest) - 通过查询 DynamoDB 表 DifyAppGuardrailConfig来获取配置参数
- 代码实现对应下面Lambda V2
API Endpoint:
https://qje5sq7qq1.execute-api.us-east-1.amazonaws.com/prod/dify/receive
API-Key:
xxxxxxxxxx
V1 版本 - 通过在URL 中添加查询字符串的方式传递参数 - 代码实现对应下面 Lambda V1
API Endpoint:
https://qje5sq7qq1.execute-api.us-east-1.amazonaws.com/prod/dify/receive?guardrailId=uxbhxy6cs751&guardrailVersion=1&guardrailRegion=us-west-2
API-Key:
xxxxxxxxxx
第二步:在聊天助手应用中 “添加功能”,启用内容审查
第三步:使用演示 - 在聊天对话中自动进行内容审查
Demo 2 - V2 Lambda Function - 逻辑处理更完善 - 详细参见
V2-流程图
1.
这个演示,我们可以看到信用卡号码,直接 Block ,返回标准回复。
2.
对于 Email Address ,因为 Bedrock Guardrail 中设置的是 Mask。按照 Dify 的API 接口规范,使用了 Flagged = True,Action = overrided 的方式。Dify 收到 Lambda 返回的隐藏了PII信息之后的 Query,发送给 LLM 做响应。
3.
另外,通过反复测试,发现Dify 会把从API 收到的 "action": "direct_output", 时候的 {preset_response} 内容,作为LLM 输出,又送给 Lambda 去做文本审核。这样就会造成不必要的检查动作。下面V2 代码中已经做相应处理,避免调用 Bedrock Apply_Guardrail 产生不必要的成本。
代码块
Plain Text
{
"flagged": true,
"action": "direct_output",
"preset_response": "Your content violates our usage policy."
}