add default deny message (#1347)

Co-authored-by: Kent Dong <ch3cho@qq.com>
This commit is contained in:
rinfx
2024-09-27 13:25:50 +08:00
committed by GitHub
parent ea99159d51
commit 1b119ed371
3 changed files with 89 additions and 27 deletions

View File

@@ -28,7 +28,21 @@ description: 阿里云内容安全检测
| `responseContentJsonPath` | string | optional | `choices.0.message.content` | 指定要检测内容在响应body中的jsonpath |
| `responseStreamContentJsonPath` | string | optional | `choices.0.delta.content` | 指定要检测内容在流式响应body中的jsonpath |
| `denyCode` | int | optional | 200 | 指定内容非法时的响应状态码 |
| `denyMessage` | string | optional | openai格式的流/非流式响应,回答内容为阿里云内容安全的建议回答 | 指定内容非法时的响应内容 |
| `denyMessage` | string | optional | openai格式的流/非流式响应 | 指定内容非法时的响应内容 |
| `protocol` | string | optional | openai | 协议格式非openai协议填`original` |
补充说明一下 `denyMessage`对于openai格式的请求对非法请求的处理逻辑为
- 如果配置了 `denyMessage`
- 优先返回阿里云内容安全的建议回答格式为openai格式的流式/非流式响应
- 如果阿里云内容安全未返回建议的回答,返回内容为 `denyMessage` 配置内容格式为openai格式的流式/非流式响应
- 如果没有配置 `denyMessage`
- 优先返回阿里云内容安全的建议回答格式为openai格式的流式/非流式响应
- 如果阿里云内容安全未返回建议的回答,返回内容为内置的兜底回答,内容为`"很抱歉,我无法回答您的问题"`格式为openai格式的流式/非流式响应
如果用户使用了非openai格式的协议应当配置 `denyMessage`,此时对非法请求的处理逻辑为:
- 返回用户配置的 `denyMessage` 内容用户可以配置其为序列化后的json字符串以保持与正常请求接口返回格式的一致性
- 如果 `denyMessage` 为空,优先返回阿里云内容安全的建议回答,格式为纯文本
- 如果阿里云内容安全未返回建议回答,返回内置的兜底回答,内容为`"很抱歉,我无法回答您的问题"`,格式为纯文本
## 配置示例
### 前提条件
@@ -90,6 +104,7 @@ requestContentJsonPath: "input.prompt"
responseContentJsonPath: "output.text"
denyCode: 200
denyMessage: "很抱歉,我无法回答您的问题"
protocol: original
```
## 可观测