This commit is contained in:
archer
2023-08-15 22:04:41 +08:00
parent d8cd2e9b45
commit e8ff91c455
16 changed files with 433 additions and 11 deletions

View File

@@ -0,0 +1,69 @@
# 问题分类
- 可重复添加
- 有外部输入
- 手动配置
- 触发执行
- function_call 模块
![](./imgs/cq1.png)
## 功能
可以将用户的问题进行分类,分类后执行不同操作。在一些较模糊的场景中,分类效果不是很明显。
## 参数说明
### 系统提示词
被放置在对话最前面,可用于补充说明分类内容的定义。例如问题会被分为:
1. 打招呼
2. laf 常见问题
3. 其他问题
由于 laf 不是一个明确的东西,需要给它一个定义,此时提示词里可以填入 laf 的定义:
```
laf 是云开发平台,可以快速的开发应用
laf 是一个开源的 BaaS 开发平台Backend as a Service)
laf 是一个开箱即用的 serverless 开发平台
laf 是一个集「函数计算」、「数据库」、「对象存储」等于一身的一站式开发平台
laf 可以是开源版的腾讯云开发、开源版的 Google Firebase、开源版的 UniCloud
```
### 聊天记录
适当增加一些聊天记录,可以联系上下文进行分类。
### 用户问题
输入的内容。
### 分类内容
依然以这 3 个分类为例,可以看到最终组成的 function。其中返回值由系统随机生成不需要关心。
1. 打招呼
2. laf 常见问题
3. 其他问题
```js
const agentFunction = {
name: agentFunName,
description: '判断用户问题的类型属于哪方面,返回对应的枚举字段',
parameters: {
type: 'object',
properties: {
type: {
type: 'string',
description: `打招呼,返回: abclaf 常见问题返回vvv其他问题返回aaa`
enum: ["abc","vvv","aaa"]
}
},
required: ['type']
}
};
```
上面的 function 必然会返回 type = abcvvvaaa 其中一个值,从而实现分类判断。