功能概述
流程管理中仅需简单进行对话流程的描述,即可使机器人按特定业务流程进行问题解答。它可以从用户最原始的业务流程出发,将业务流程整体配置到流程画布中,动态地将上下文+相关的流程对话片段,整体同步给到大模型,大模型可以完整地理解整个对话流程,更好地发挥其语义理解和推理能力。
相关概念介绍
流程:通过流程编排画布设计业务流程,机器人将理解流程内容与用户进行对话。
流程节点:流程内节点即机器人执行的动作,需要进行回复、收集信息、调用API或完成某个目标的指令描述。
流程边:流程内进行节点流转的条件,边可以是用户表达的意图或参数判断。
API插件:流程或机器人可以使用API插件与外部业务系统进行交互。
参数:流程或API插件内需要使用的变量信息,由参数名和参数描述构成。
功能入口
进入有关机器人空间后,选择技能管理>流程配置后,即可进入流程配置界面。具体如下图所示:
前提条件:在业务空间,系统管理>实验室中申请【流程配置&API插件】试用。
功能说明
新建流程
点击新建流程,打开新建流程弹窗,填写流程名称和描述,即可新建一个流程画布。
在开始节点,点击加号,添加进入流程的条件分支的配置。
对边进行编辑
a. 边在图中表示跳转条件,主要包括用户意图、参数(包括函数返回值)判断,其中连接开始的边(开启流程意图)上的内容是必填项,其他边上的内容是选填,如果边上没有内容,则默认上一个节点执行完之后即可执行下一个节点。
b. 鼠标放到任意一个节点上都会出现一个“+”号,点击即可增加一条边。
首先输入进入条件,例如“查天气”。
点击添加用户话术,可以添加关于进入条件的用户的示例问法。
对边的设计说明:
意图类边:
进入条件:建议边的进入条件可以简介的用短句描述,如:查天气。
用户示例问法:可以添加关于进入条件的用户的示例问法,如:查一下天气,今天天气怎么样。
重要当前版本话术配置上限为50条,一般情况20条以内足够,通用意图可不用添加话术。
参数类边:
进入条件:边的条件也可以是对话中的参数、API返回参数的判断,参数判断一般直接写到条件上即可,如:返回code等于1,返回code不等于1。
用户示例问法:可以添加同义表达,如code==1。
对节点进行编辑
a. 节点就是机器人需要执行的动作。
b. 节点有两种编辑方式,普通模式和高级模式。
下面以查天气为例进行配置节点:
梳理流程:首先需要收集城市名,然后根据城市名查询天气情况。
普通模式
节点名称:填写当前节点主要执行的动作名称,建议用短句描述,如:收集城市名。
执行动作:普通模式
执行类型:
a. 回复:一般以写指令式的prompt定义当前回复动作,如:请问您需要查询哪个城市的天气,可以添加例子说明,可以让模型更好地理解。
b. 固定回复:当需要机器人固定回复某个内容时,可以打开这个开关。
c. 收集参数:在下拉参数中选择需要收集的参数进行添加。
说明新建参数:
参数名:建议使用代码中参数命名的规范,即单词+下划线/连续单词大写字母间隔,如city_name。注意单独使用参数(槽位)时,参数名也可以使用中文,但是一般来说英文变量比中文效果好。
参数描述:包括中文简称、格式和内容描述、标准示例三部分,中文简称即中文名,格式和内容描述为一段中文文本描述参数的描述和内容,标准示例为符合格式和内容的示例。
c. 调用API插件:在下拉API插件中选择需要调用的API插件进行添加。
说明新建API插件:
服务名称:需要遵守变量名规范,包括单词+下划线和连续单词大写字母间隔两种方式,如 get_weather,注意只能使用英文。
服务描述:主要描述清楚API的功能,可以包含少量出入参的信息,如根据XX查询XX,查询天气等,如果对API有一些特殊要求也可以写到服务描述,如 XX 和 XX参数都是非必选,但是必须要有一个。
超长提示:主要描述清楚API的功能,可以包含少量出入参的信息,如根据XX查询XX,查询天气等,如果对API有一些特殊要求也可以写到服务描述,如 XX 和 XX参数两个均为非必选,但是必须要有一个。
API配置:
接口配置:API调用的链接和token信息,都可以定义在API配置中。
入参:
参数:跟上述参数名规范一样,按照变量名规范来定义,仅支持英文;
类型:文本内容选择string,Number表示数字、Boolean表示true or false的布尔值;
取值来源:包括模型识别和随路参数,其中随路参数不会传输给模型去识别;
是否必填:当前参数是否为必填参数,建议一个API至少包含一个必填参数,对于选填参数,机器人不会主动询问,但是有表达对应内容时也会识别;
参数解释:类似于上述参数说明,包括中文名、格式化描述和示例三部分。
出参:
Mock值:在没有真实的URL去请求时,可以通过该字段设置API的固定返回,注意该部分需要在对话调试窗打开开关,一旦打开则优先级高于URL请求。
高级模式
节点名称:填写当前节点调用的API+条件描述,如:根据城市名调用API查天气。
执行动作:高级模式
说明普通模式无法支持回复+API调用同时配置,如果需要这类动作混合,则需要使用高级模式,高级模式因为动作较多,会把当前节点名称作为子目标传输给模型,然后基于子目标和描述去完成定义的多个动作。
测试流程
此测试窗口仅测试当前配置的流程。
点击测试,打开测试窗口进行测试。
下面以查天气的流程进行测试
首先输入进入流程的条件,比如:我想要查天气。
输入我要查询的城市名,机器人吐出对应城市天气。
扩展功能
1. 导入/导出流程
2. 编辑/发布/下线/删除流程
流程管理配置示例
下面以配置“收集客户信息”流程为例。
步骤一:新建参数
在流程管理>参数中,根据要收集的参数在参数那一栏中创建参数。
点击新建参数,打开新建参数弹窗,在配置“收集客户信息”的流程时,要收集的参数有阿里云账号、产品名称、联系人姓名、联系方式。如果想要增强识别参数的效果,可以关联实体。
下面展示阿里云账号、产品名称、联系人姓名、联系方式这四个参数的设置。
阿里云账号
产品名称:所属的类范围比较明显,所以这里我们可以配置标准实体来进行关联,增强识别参数的效果。
联系人姓名
联系方式:为了保证输入的手机号是正确的,这里关联了手机号的实体。
步骤二:新建流程
点击新建流程,打开新建流程弹窗,输入流程名称和描述。
点击确定,进入流程配置画布页面。
在开始节点,点击加号,添加进入流程的条件分支的配置。
配置意图类边,双击输入分支条件。也可以点击添加用户话术,帮助机器人更好理解条件内容。
配置节点,双击编辑节点内容。
节点名称:收集信息并确认信息是否有误
执行动作:选择高级模式,输入期望机器人执行的动作或完成的任务目标。
关于收集客户信息,我们可以这样配置:根据参数:阿里云账号ID、参数:产品名称、参数:联系人姓名、参数:联系方式的顺序收集一下用户的信息;收集完用户的信息之后,把所有信息罗列出来,和用户做确认,如果用户话术表示没问题或者确认无误,可以这样回复“好的,感谢您提供的信息,后续会有我们负责参数:产品名称的专员联系您,祝您生活愉快,再见!”;如果用户话术表示有问题或信息有误,可以反问一下错误的信息,然后让用户提供正确的信息再做记录。直到用户话术表示没问题或确认信息无误。
说明输入“/”插入参数和API插件。
点击保存,完成节点配置。
步骤三:测试流程
点击测试,打开测试窗。
说明测试窗仅测试当前配置的流程。
输入触发条件“登记信息”,进行测试收集客户信息流程。
步骤四:发布流程
当测试没问题了,就可以点击发布,发布流程至正式环境。
发布成功后,点击左上角返回列表按钮返回流程列表,可以查看当前流程的一些信息。