过来看,手把手带你完成定制化天气小助手

简介: 有用知识又增加喽😊

先准备好

自定义技能开发能支持开发者设计符合自己业务场景的 语音交互流程 以及 业务处理逻辑 ,创建出功能强大的专属技能哦。


在开始创建技能开始之前,先来了解下自定义技能时序流程,也就是从用户发出指令到收到回复 的过程。



  1. 用户唤醒精灵,天猫精灵用麦克风收录用户的语音并上传到平台;
  2. 然后平台使用ASR(音频转文字)+ NLP(自然语言处理),解析用户的意图,匹配到对应的技能和意图中。
  3. 将所有解析到的参数信息通过 http(s) 请求访问开发者提供的服务接口。
  4. 开发者的服务内部接收请求参数,然后执行业务逻辑,并组装回复结果。
  5. 然后平台收到开发者服务返回的结果后,使用 TTS(文字转音频)合成音频,并将音频链接下发到天猫精灵设备。
  6. 设备根据下发的音频链接将回复内容播出来,本轮对话也就完成了。


在这个天气查询小程序里,可以参考技能的创建、配置、开发、测试流程。开发属于您自己的自定义技能。


第一步: 创建技能并填写技能基本信息

先登录 AliGenie智能应用平台,在应用列表里面选 技能,然后进入技能列表。点击页面右上角 创建语音技能,开始创建自定义技能吧


  • 技能名称:展示在技能市场的技能名称,在发布时将进行唯一性检测。
  • 技能属性:选择 公有技能 / 私有技能。请谨慎选择技能属性,建议您参考下【公有&私有】。
  • 技能调用词:也称为 唤醒词,是用户使用这个技能所需要说的关键字。如“天猫精灵,抛硬币”,则使用了调用词为“抛硬币”的技能就能唤醒。


  • 技能标签设置:技能标签是开发者设置的与技能相关的标签。
  • 适用的年龄:能用本技能的最低适用年龄,请根据技能的情况合理选择。
  • 收费情况:技能可以选择 免费 / 付费 / 应用内购买
  • 交互方式:在语音交互的基础上,可以选择技能是否是 触屏 / 手势 交互的方式
  • 场景标签:技能适用的设备有哪些,可以选 车内 / 随身 / 家里 等场景设备,最多可选三个。
  • 类别标签:技能所属的类别,可以选择 社交 / 购物 / 休闲娱乐 / 游戏 等细分类别,最多可选三个。
  • 其他标签:选择技能主要服务的用户类型或场所类型;
  • 用户类型有 教师 / 车主 / 男性 / 女性 等,
  • 场所类型有         医院 / 养老 / 社区 / 聚会 等,最多可选三个。
  • 技能展示设置:可标识技能是内部技能还是外部技能


当以上技能信息都填写完成后,点击 确认创建 即可建一个自定义技能了。


第二步:能力申请(非必要)

能力申请在技能开发中不是必要的。如果想要使用此功能,请看下这些文档【Webhook 鉴权】、【OAuth2.0 授权】和【能力开放】;


第三步: 语音交互模型创建(很重要)

1. 配置实体

1.1 创建自定义实体

因为天气需要知道“城市”才能查询,所以我们需要创建一个城市名称的实体,相当于提供一个词典,让算法模型知道如何去识别用户语句中的城市。关于实体,想了解更多可看下【实体】;


点左侧:服务配置 -> 实体 菜单,然后打开实体配置页面,点击 创建实体 ,填写实体名称和实体标识名,如下图:

  • 实体名称:要求必须中文字符,是此实体的中文名,便于开发者在多个实体中快速找到需要的实体。
  • 实体标识名:是实体被意图中参数引用的标识,实体标识名可以使用各种字符。


1.2 添加实体值

在实体值部分选择 添加实体,然后在输入框输入想要添加的实体值内容。支持多个实体值同时输入(最多20个哈),实体值之间要以 空格 分隔,然后 回车键 进行添加实体。


1.3 添加同义词

当某条实体值还有其它同义词时,这个时候需要把同义词配置到相应的实体后。点击 编辑,单击同义词的输入框,逐条输入该实体值的同义词,每输入一条同义词按一次回车完成输入。全部输入后点击  保存


1.4 引用公共实体

又因为查询天气还需要用到日期。平台有提供日期的公共实体,不需要开发者去创建,直接引用这个公共实体即可。点击 引用公共实体,把 sys.date 实体后的 引用 按钮打开,返回到实体列表页面可以看到引用的 sys.date 实体。


2. 创建意图

你可能不知道你意图啥意思?意图用来设置技能的业务逻辑,也就是说是我们技能的核心。

进入 意图 菜单,点击 创建意图,输入意图名称、意图标识、意图描述,打开默认意图按钮。点 提交 创建意图:


3. 配置单轮对话语料

语料分为例句式语料模板式语料,你可以自由选择使用哪种语料,也可同时使用。只要语料的语义规则是相同的,那么语料的作用就是相同的,不需要再重复定义。详情请看【语料】;


3.1  例句式语料配置方法

然后进入意图配置页面,在单轮对话表达中配置我们认为用户查询天气的语句。然后用这些语句,算法会建立语料模型,这样用户说到相同的话时,平台就能识别出用户是在访问天气查询意图了。

上面的语句中,不少包含了天气查询所需要的 日期 城市,我们需要对语句进行标注,目的是告诉算法这些词语可以由标注的实体值动态替换;


鼠标选中我们需要标注的词语,页面上会自动弹出支持标注的实体。如 “杭州今天天气”这句语料,我们分别标注“杭州”为“city”,“今天”为“sys.date(公共实体)”。标注后会自动生成参数“city”和“sys.date(公共实体)”;


平台支持批量标注,当第一次标注后,可以发现所以其他语料中“杭州”词语都被标注了“city”参数,“今天”词语都被标注了“sys.date(公共实体)”参数。所以在输入语料时,所有绑定同一个参数的关键词都设为相同的词语,这样就不需要每条语料都要去标注一遍了;


第一次标注后,自动生成的参数如下图:


3.2 模板式-语料配置方法

模板式语料需要开发者先手动创建参数,创建的参数只需要先指定关联实体和参数名称即可。

添加语料的时候,我们选择语料类型为 模板,语句中关键词部分使用@{参数名称}占位。如下图所示:


4. 如何配置参数

从上一步可以看到:有的语料中包含了两个参数,如“杭州今天天气”。平台能够从这句语料中解析到时间地点的关键信息,这也是查询天气必要的两个参数。但有的语料不包含或只包含部分关键信息,如“天气怎么样”。那么对于缺少的必要信息就需要通过其他方式获取到。获取的方式有三种:

  • 使用默认值,用户不说则参数默认是这个取值。
  • 使用精灵追问,由平台自动向用户追问参数;
  • 使用后台追问,后台追问参数的方法看下【响应数据】;


前两种是在意图参数中进行配置;最后一种是在后台服务中判断参数是否存在以及通过livetime值判断参数的存活时间,依此决定是否需要对此参数向用户追问。


4.1 如何配置精灵追问

在此意图中,日期和地点是查询天气的必要参数,所以我们设置两个参数为 必选。其中“city”参数我们设置了精灵追问,即在没有解析出参数值的时候,平台会自动追问


4.2 如何配置用户可能的回复

无论是使用的精灵追问,还是使用的后台追问。当用户面对 city 参数的追问时,可能只回答城市名称,此时平台能够从用户的回答中解析到 city 参数的取值。但如果用户说“我要查北京的天气”时,平台就不知道如何处理这句话并从中获取到 city 参数的取值了,此时需要设置用户可能回复的句式,如下所示:


4.3 如何配置参数默认值

“sys.date(公共实体)”参数的默认值设置为“今天” ;


PS: 注意参数必选可能导致的问题

如果勾选了必选,没有填写默认值,也没有设置追问。就会出现对话出错,或对话正确但没有任何回复内容;


5. 如何配置多轮对话语料

除了 单轮对话表达,我们还可以设置一下 多轮对话编辑,多轮对话语料代表如果用户已经在本意图里面,可以识别为本意图的语料,比如:


多轮语料的测试示例。请注意蓝框中的回复内容,是配置的后台服务返回的结果


6. 如何配置前置意图

可以再创建一个 空气质量查询意图,在空气质量查询意图中设置天气查询意图为 前置意图


空气质量和查询天气是相似的意图,两者都需要时间和城市两个参数,所以它们可以互相建立起前置意图的关系,在上下文的语境中,用户就不用重复表达相同的参数了。请注意蓝框中的回复内容,是配置的后台服务返回的结果


第四步:如何配置回复逻辑

在创建完语料模型之后,平台就能在用户说到相关的语句时识别出用户的意图,并且解析出其中的参数,通过请求传递给开发者提供的服务进行处理;


开发者可以选择用【Webhook 服务或【阿里云 FaaS 服务


如果选择 Webhook 服务,开发者需要将提供的 Webhook服务 的请求 URL 配置到意图的回复逻辑中,并且每个意图都要配置回复逻辑是什么。


点击 回复逻辑 菜单,再点击 默认逻辑WEBHOOK 前的 “+” 展开意图列表,点击对应意图后的 详情,进入意图逻辑配置配置页面。在此页面中可以 下载认证文件 填写URL

配置完这些后就可以提交保存,我们就可以在 在线测试 功能中对这个我们的技能测试了。


第五步:测试验证

1. 在线测试

点击 测试 --> 在线测试 ,可以在输入框输入语句进行测试。可以只输入调用词,就可以访问默认意图;或直接输入调用词+语料,访问指定意图;


由于直接在技能下测试,可以不用说“天猫精灵”唤醒设备,而直接使用技能的 调用词 或者 调用词 + 语料 的方式进行测试。技能调用后,只要没退出,还可以直接使用语料交互测试的哈


先完成天气查询意图,再触发空气质量查询意图时,前置意图的参数会传递过来,就不需要再次向用户询问了。


2. 真机测试

使用真机测试功能 详情请见 真机测试。,并辅助APP的设备对话信息,你可以验证语音识别和交互的真实效果。如果你的唤醒词和例句包含专有名词、生僻词、同音词,可能导致识别结果达不到预期,建议你调整唤醒词和例句为更容易识别的词句。


第六步:技能发布

这样,我们就完成一个简单的天气技能的创建。从这个技能的创建过程中,您可以了解到自己想要创建的技能该如何实现;当您的技能一切准备就绪后,就可以提交技能进行发布啦。

相关文章
|
Java
最详细 keil5 和 cubeMX安装教程
最详细 keil5 和 cubeMX安装教程
788 0
|
数据安全/隐私保护
SVN切换账号
简述SVN切换账号操作
|
人工智能 Rust 开发者
【MCP教程系列】使用Python在阿里云百炼创建基于UVX的MCP服务完整指南
本文介绍如何使用基于uvx工具链的Python项目,结合阿里云百炼平台实现小红书文案审核助手的MCP服务开发与部署。首先通过安装uv工具初始化项目并配置虚拟环境,编写server.py文件调用qwen-plus模型完成内容审核功能。随后将项目打包上传至PyPI,供全球开发者访问。接着在阿里云百炼平台上配置并部署该MCP服务,解决可能的依赖问题。最后,在智能体应用中引入此MCP服务进行测试验证,确保其正常运行。
2274 0
|
9月前
|
人工智能 编解码 自然语言处理
CogView-3-Flash:智谱首个免费AI图像生成模型,支持多种分辨率,快速生成创意图像
CogView-3-Flash 是智谱推出的首个免费AI图像生成模型,支持多种分辨率,快速生成高质量图像,广泛应用于广告、设计、艺术创作等领域。
286 6
CogView-3-Flash:智谱首个免费AI图像生成模型,支持多种分辨率,快速生成创意图像
|
SQL 数据挖掘 数据安全/隐私保护
即席查询结果交互体验大升级,好用到爆
Dataphin v4.0提升了即席查询体验,新增支持多条SQL语句同时执行并查看独立日志,允许用户移动或隐藏列,以及全屏查看结果。此外,为增强数据安全,引入了禁止数据复制的功能。新版本还优化了细节,如单行详细信息查看和更灵活的列管理,旨在提高数据分析效率并保障数据安全。
299 1
|
数据采集 Web App开发 测试技术
使用Selenium调试Edge浏览器的常见问题与解决方案
在互联网数据采集领域,Selenium常用于自动化网页爬取。针对使用Edge浏览器时遇到的启动远程调试失败、访问受限及代理IP设置等问题,本文提供了解决方案。通过特定命令启动Edge的远程调试模式,并利用Python脚本配合Selenium库,可实现代理IP、User-Agent的设定及Cookie管理等高级功能,有效提升爬虫稳定性和隐蔽性。遵循步骤配置后,即可顺畅执行自动化测试任务。
2533 1
使用Selenium调试Edge浏览器的常见问题与解决方案
|
人工智能 Java Spring
使用 Spring Cloud Alibaba AI 构建 RAG 应用
本文介绍了RAG(Retrieval Augmented Generation)技术,它结合了检索和生成模型以提供更准确的AI响应。示例中,数据集(包含啤酒信息)被加载到Redis矢量数据库,Spring Cloud Alibaba AI Starter用于构建一个Spring项目,演示如何在接收到用户查询时检索相关文档并生成回答。代码示例展示了数据加载到Redis以及RAG应用的工作流程,用户可以通过Web API接口进行交互。
53117 159
|
10月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
机器学习/深度学习 人工智能 弹性计算
|
SQL 缓存 关系型数据库
Mysql跨库操作
Mysql跨库操作
373 0