复杂多任务助理搭建(一)| 学习笔记

简介: 快速学习复杂多任务助理搭建。

开发者学堂课程【3节课带你走进云小蜜产品 :复杂多任务助理搭建(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/739/detail/13116


复杂多任务助理搭建(一)

 

内容介绍:

一、如何设计复杂多任务助理

二、如何实现复杂多任务助理

 

一、如何设计复杂多任务助理

1、复杂场景案例

会员卡助理

2、对话流设计要点

image.png

(1)抽象功能要点

会员卡会有一些基本的操作,包括挂失、查余额、补缴补办或退卡等,主要关注里面的核心功能,在做对话流设计前,助理要完成的主要的功能点要做一定的抽象。

(2)抓住高频路径

这里用户最关心的三个诉求是挂失、查余额、退卡,针对这里面最高频的查余额进行详细的设计,比如交互过程要清楚的描述出来,比如用户查余额,机器人问卡号是多少?用户可能会忘记卡号,或者可以提供卡号,机器人把卡号收集上来,同时调用外部的 api 进行合法性的校验,如果校验通过调用下一个 api,查询余额,通过机器人回复给用户,告知具体的余额,如果校验不合法要通知用户同时引导客户再次输入他的卡号,整个流程要设计清晰。

(3)采用 Visio 等工具画出草图

有草图后通过不断的推衍把旁路的一些分支不断的考虑进来,不断的丰满整个流程,得到一个好的图纸后,后面的实践就有了一个好的依据。

(4)小步快跑,快速迭代

3、对话流构建的最佳实践

(1)优先主流程,尽快跑通

关心整个流程的主路径是什么,防止一上来就进入一些细节的调优,需要将主路径尽快的走通,进入一个迭代的入口,通过反馈,不断的增强流程。

(2)设计合理的异常流程,引导用户回到主流程

在调试过程中也会发现一些异常的情况需要处理,这时需要把用户说的话,句式掉了或者要新增一些节点或是其他的一些情况,注意要把情况描述清楚,同时在机器人回复时要给出比较好的引导话术,比如卡号有问题,卡号不合法,需要有一些好的引导语,引导用户再次进行输入的动作。

(3)节点命名表义清晰

配的流程中间有一些节点,这些节点命名需要做到清晰直观,有一定的规范,防止使用太多符号和数字,后期维护会比较困难。

(4)意图话术尽可能丰富多样

毕竟是机器人,所以对用户的一些语言理解是比较关键的,虽然有平台定制的算法模型,但是也需要提供一些话术的样例,希望把典型的多样的话术配置进来,保证意图理解的准确性和覆盖度,

4、节点功能简介

image.png

(1)用户说,就是用户说一句话时,有一个触发节点,把用户输入的内容进行理解。

(2)机器人想,里面做的动作是函数上的一些操作和判断,比如判断节点就类似于编程里面的 if、else 的语法,服务调用节点就相当于是一个 api 外部的接口,函数节点是给大家更自由的去开发函数功能的节点,赋值节点是把具体的值赋给某个变量,后续可以继续使用变量。

(3)机器人回答,回复节点。

(4)系统能力,跟对话相关的,槽位信息的收集是一个普遍通用的一个能力,把它抽象成填槽节点,比如收集卡号、收集手机号等信息。

5、学会用调试窗分析和定位问题

在整个配置过程中会有问题,在配置完之后要进行 debug 调试,跟写代码差不多,下面会有写文本的输入框,输入完之后,右边是用户输入部分,左边是机器人回答,这只是一种交互,下面会有详细的调试信息,要知道如何看这些信息,怎么去分析问题,怎么去订阅问题,以及如何根据这些信息优化流程和话术配置等。

image.png

6、开发前的准备:  API 接口

(1)校验卡号是否合法的接口

https://1043547601975995.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/nick_ dm/check_ card_ no/?card_ no=0573

返回0合法,返回1不合法

(2)查询余额接口

https://1043547601975995.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/nick _dm/get _balance/?card_ no=0573

把输入输出定义清楚,配置时会很方便

相关文章
|
自然语言处理 算法
RAG真能提升LLM推理能力?人大最新研究:数据有噪声,RAG性能不升反降
随着大型语言模型(LLM)在自然语言处理领域的广泛应用,检索增强生成(RAG)技术因能引入新知识和减少幻觉而受到关注。然而,RAG对LLM推理能力的实际提升效果仍存争议。中国人民大学的一项研究表明,RAG虽能辅助LLM推理,但在处理含噪信息和深度推理时面临挑战。为此,研究团队提出了DPrompt tuning方法,旨在解决噪声问题并提升RAG性能。
311 12
|
Java 机器人 程序员
从入门到精通:五种 List 遍历方法对比与实战指南
小米是一位热爱分享技术的程序员,本文详细介绍了 Java 中遍历 List 的五种方式:经典 for 循环、增强 for 循环、Iterator 和 ListIterator、Stream API 以及 forEach 方法。每种方式都有其适用场景和优缺点,例如 for 循环适合频繁访问索引,增强 for 循环和 forEach 方法代码简洁,Stream API 适合大数据量操作,ListIterator 支持双向遍历。文章通过生动的小故事和代码示例,帮助读者更好地理解和选择合适的遍历方式。
541 2
|
存储 Python
`input()` 函数是 Python 中的一个内置函数,用于从用户那里获取输入。
`input()` 函数是 Python 中的一个内置函数,用于从用户那里获取输入。
|
机器学习/深度学习 人工智能 自然语言处理
如何利用AI提高内容生产效率?
如何利用AI提高内容生产效率?
633 0
|
人工智能 自然语言处理 前端开发
自然语言处理语音识别
自然语言处理语音识别
472 6
|
Linux 网络安全
百度搜索:蓝易云【centos7通过配置hosts.allow和hosts.deny限制登陆教程】
从现在开始,根据您在 `hosts.allow`和 `hosts.deny`文件中配置的规则,特定的主机将被允许或拒绝登录到您的CentOS 7系统。请确保您谨慎地配置这些文件,以避免意外地限制访问。同时,建议备份这些文件以备不时之需。
365 1
同步和异步的区别?
同步和异步的区别?
896 0
|
SQL 小程序 数据库连接
【Python学习】Python基础必背的内容
【Python学习】Python基础必背的内容
166 1
|
测试技术
loadrunner入门教程(11)--回放脚本
使用loadrunner工具回放脚本
401 0
loadrunner入门教程(11)--回放脚本
|
数据可视化 网络协议 Java
【软件测试】Jmeter性能测试(性能测试,Jemeter使用与结果分析1)
【软件测试】Jmeter性能测试(性能测试,Jemeter使用与结果分析)
【软件测试】Jmeter性能测试(性能测试,Jemeter使用与结果分析1)