天猫精灵功能开发

news/2025/2/24 8:36:01/文章来源:https://www.cnblogs.com/flyingsir/p/18714711
AliGenie技能应用平台
zhwnw
新人必看教程
新人必看教程10分钟带你创建一个技能应用,4堂课掌握语音技能开发能力
快速实现欢迎回复需要时间:10min
 
实现单轮、多轮对话需要时间:20min
 
切换意图,参数传递需要时间:15min
 
开发屏显页面需要时间:20min
 
课程介绍
这是天猫精灵新手必看教程,第一节课主要教你如何创建一个语音技能,实现最简单的欢迎功能。
需要时间
10分钟
你会学到
  • 如何创建语音技能并设定语音调用词
  • 如何创建一个意图
  • 如何配置后端服务
  • 如何编写后端代码
  • 如何部署faas服务
  • 如何测试技能
带你创建「天气小蜜」语音技能
step1:登陆平台
1.登录 智能应用平台:https://iap.aligenie.com/home?platform=3.0,登陆后点击控制台,选择技能应用平台并点击进入。
2.首次登录时,您需要签署平台合作协议。
a.单击查看协议,前往签署协议页面。
b. 选中“我已阅读并同意签署《天猫精灵智能应用平台合作协议》”复选框,并单击同意协议。
3.首次登录时,您还需要完成账号认证。
a.单击立即认证,前往认证页面。
b.请根据实际情况选择认证的类型。并根据页面提示填写开发者真实信息,完成账号认证。下面以认证企业账号为例,介绍认证的操作步骤。
c.单击下一步,填写认证所需的资料。
d.单击完成,进入实人认证页面。
e.认证成功后,单击立即前往,进入企业验证页面
f.选择企业验证的方式。平台提供以下两种认证方式
  • 使用支付宝企业认证方式(推荐使用)
  • 上传企业说明函进行企业认证
当您无法使用支付宝企业认证时,可以通过该方式进行企业认证。此时需要联系商务走审批流程。
g.等待审核结果。
step2:创建语音技能
1.认证通过后进入技能应用平台,我们要创建一个语音技能,选中语音技能分类:点击创建技能。
2.填写技能基本信息
选中语音技能 中的 自定义技能 填写技能创建信息:技能名称和调用词
  • 技能名称:展示在技能市场的技能名称,在发布时将进行唯一性检测。
  • 技能属性选择 公有技能 / 私有技能。技能属性选择,建议您先参考【公有&私有】,由于我们要开发一个面向所有天猫精灵用户的应用,所以技能属性这里选择公有技能。
  • 技能调用词也称为 唤醒词,是用户使用这个技能所需要说的关键字。如“天猫精灵,天气小蜜”,则使用了调用词为“天气小蜜”的技能。
    填写技能调用词时系统会进行唯一性检测,截图中填写的“天气小蜜”仅仅作为范例,请您在创建技能时注意不要和范例相同或填重复过的调用词。
基本信息填好后,创建技能;
技能创建成功。
step3:配置语音交互模型
创建技能成功后,需配置语音交互模型,才可与用户进行语音对话,语音交互模型包含意图、实体、问答三块,本节课先配置意图。
首先了解下什么是意图:意图是用户使用语音技能的目的,语音技能至少要有一个意图(至少向用户提供一个功能,也可以是多个)只说调用词会进入默认意图所以有调用词的技能需要有默认意图。
了解什么是意图后,接下来开始创建语音交互模型。
第一步,点击创建意图按钮进入创建意图页面;
第二步,设置意图名称、意图标识,并将这条意图设置为默认意图,设置好后点击提交。
step4:配置后端服务
1.顶部导航栏中选择后端服务,并在左侧导航栏中选择服务部署。
2.单击编辑部署,选择 阿里云云原生开发 的方式,点击关联阿里云账号。
3.选择阿里云账号的登录方式;
4.登陆阿里云账号(如果没有阿里云账号就注册一个);
5.登陆成功后需要您签署《云开发平台服务协议》,签署之后就可以免费使用云开发平台进行服务开发了;
6.签署协议后,在团队注册页翻到页面底部,单机同意授权,授权后单机下一步;
7.完成并返回技能开发平台;
8.单击开通阿里云资源;
9.依次开通阿里云服务资源;
10.点击创建技能应用按钮;
11.选择开发语言和开发模板进行创建,这里以 Java 空白模板为例 创建应用;
12.创建应用后,点击保存按钮保存阿里云服务器配置;
13.点击前往开发,跳转云阿里开发平台;
14.跳转到阿里云开发平台后,会自动进入 CloudIDE,平台会自动生成模板代码,查看代码路径:src/main/GenieEntry.java,您可以直接在示例代码上进行开发;
示例代码:
package com.alibaba.ailabs;
import com.alibaba.ailabs.common.AbstractEntry;
import com.alibaba.da.coin.ide.spi.meta.AskedInfoMsg;
import com.alibaba.da.coin.ide.spi.meta.ExecuteCode;
import com.alibaba.da.coin.ide.spi.meta.ResultType;
import com.alibaba.da.coin.ide.spi.standard.ResultModel;
import com.alibaba.da.coin.ide.spi.standard.TaskQuery;
import com.alibaba.da.coin.ide.spi.standard.TaskResult;
import com.alibaba.fastjson.JSON;
import com.aliyun.fc.runtime.Context;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;/**
* @Description 天猫精灵技能函数入口,FC
*              handler:com.alibaba.ailabs.GenieEntry::handleRequest
* @Version 1.0
**/
public class GenieEntry extends AbstractEntry {@Overridepublic ResultModel<TaskResult> execute(TaskQuery taskQuery, Context context) {context.getLogger().info("taskQuery: " + JSON.toJSONString(taskQuery));// ResultModel<TaskResult> res = new ResultModel<>();TaskResult taskResult = new TaskResult();// 从请求中获取意图参数以及参数值Map<String, String> paramMap = taskQuery.getSlotEntities().stream().collect(Collectors.toMap(slotItem -> slotItem.getIntentParameterName(), slotItem -> slotItem.getOriginalValue()));//处理名称为 welcome 的意图if ("welcome".equals(taskQuery.getIntentName())) {taskResult.setReply("欢迎使用天气小蜜,使用小蜜可以查询天气哟");//处理名称为 weather 的意图}else {taskResult.setReply("请检查意图名称是否正确,或者新增的意图没有在代码里添加对应的处理分支。");}return reply(taskResult);}/*** 结束对话的回复,回复后音箱闭麦*/private ResultModel<TaskResult> reply(TaskResult taskResult) {ResultModel<TaskResult> res = new ResultModel<>();taskResult.setExecuteCode(ExecuteCode.SUCCESS);taskResult.setResultType(ResultType.RESULT);res.setReturnCode("0");res.setReturnValue(taskResult);return res;}
}
15.完成代码编写后,要把代码提交到仓库中,不然再进来就没有了,提交步骤:点击源代码管理,然后点击提交按钮;
提交到仓库时需要填写本次提交的内容介绍;
16.提交完成后要选择部署环境,打开 CloudIDE 左侧的 部署调试插件,进入到部署面板,选择预发环境进行部署;
17.环境选择好之后,我们要检查路由、函数映射表,第一个字段是应用访问的路径,格式为:/skill-78623/entry,其中数字 67954 为智能应用平台上此应用的技能id,技能id显示在技能概览页中的基本信息表中,这个字段一般系统会默认自动填好。
18.第二个字段表示某个文件的函数入口,如果选择Java语言, 此数据为:com.alibaba.ailabs.GenieEntry::handleRequest,表示当应用发布之后,天猫精灵这边的请求会发送到 com.alibaba.ailabs.GenieEntry类的handleRequest方法,handleRequest是从AbstractEntry类中继承的方法, 请不要重写此方法。如果选择NodeJS语言或Python语言,此数据为:index.handler,表示含义和前面类似;由于我们选的是java语言, 所以第二个字段我们要填com.alibaba.ailabs.GenieEntry::handleRequest。
19.第三个字段表示请求的类型,这里只能是post类型。
20.第三个字段表示请求的类型,这里只能是post类型。
PS: 在 部署日志 标签页可以看到部署的进度以及部署是否成功。
step5:测试
1.在线测试
第一步,进入测试模块,打开在线测试;
第二步,输入创建技能时设置的调用词“天气小蜜”并发送,测试欢迎意图是否配置成功,系统回复默认欢迎语则技能测试成功;
输入创建技能时设置的调用词并发送(调用词以技能创建时的为准),本教程中以“天气小蜜”调用词为例,系统回复则表示技能部署成功。
2.真机测试
第一步,打开真机测试,并开启真机测试开关;
第二步,添加天猫精灵设备,并按照引导输入语音验证码;
第三步,添加设备成功后,通过唤醒词“天猫精灵”来唤醒音箱,然后通过您设置的技能调用词进入技能,这里以教程中的调用词“天气小蜜”为例,音箱回复默认欢迎语,则语音技能测试完成。
本节课学完了!真是太酷了!
在下一课你将会学到基础的语音交互逻辑设计以及语音交互模型的实现。我们会带你用30分钟时间,丰富天气小助手的功能,建立和用户多轮对话的能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883575.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年企业数字化转型必备工具——文件摆渡系统深度解析

在数字化转型的过程中,企业需要优化各类信息流转、提升协作效率、确保数据安全以及合规性。文件摆渡系统作为一个核心工具,承担着文件传输、共享、管理和归档等多重任务,对于企业的信息化建设至关重要。本文将深度解析文件摆渡系统如何助力企业数字化转型。一、文件摆渡系统…

西门子S7 1200PLC使用modbusTCP通讯协议连接北京万维盈创数采仪,并做均值计算,WINCC上进行显示

现场有一套CEMS,数采仪使用的是北京万维盈创产品,需要和中控室西门子S7 1200PLC通讯,考虑到通讯协议兼容性,使用modbusTCP协议。数采仪IP地址设置成192.168.0.130,这是网络中没有其他设备使用的IP地址,万维盈创数采仪通讯协议和IP地址设置方法参考下面的链接,其他厂家数…

Blazor开发框架KnownPro-创建新项目

摘要本文主要介绍如何使用Known专业版创建新项目。操作步骤登录Known专业版VIP会员管理系统。 进入首页,点击【创建项目】按钮。弹出创建项目对话框,填写项目ID、名称和数据库类型(默认SQLite),点【确定】按钮后,等待后台生成完成并下载zip文件。提示创建成功。解压zip文件…

如何给本地部署的DeepSeek投喂数据,让他更懂你

写在前面 在上一篇文章中,我们说了怎么在本地部署DeepSeek。对本地部署DeepSeek感兴趣的小伙伴看过来。 本地部署 DeepSeek:小白也能轻松搞定! 话说回来了,为啥要本地部署呢? ① 在使用DeepSeek中,经常会出现服务器繁忙,请稍后再试。 ② 不想让个人隐私数据暴露出去 ③ …

Maven入门,读完这篇就够了

Maven 项⽬⽣命周期 Maven从项⽬的三个不同的⻆度,定义了三套⽣命周期,三套⽣命周期是相互独⽴的,它们之间不会相互影响。清理⽣命周期(Clean Lifecycle):该⽣命周期负责清理项⽬中的多余信息,保持项⽬资源和代码的整洁性。⼀般拿来清空directory(即⼀般的target)⽬录下的…

【第四期书生大模型实战营】L0G3000 Git 基础知识

闯关任务 任务1: 破冰活动:自我介绍 每位参与者提交一份自我介绍。 提交地址:https://github.com/InternLM/Tutorial 的 class 分支~命名格式为 <id>.md,其中 <id> 是您的报名问卷UID。 文件路径应为 ./icamp4/。 【大家可以叫我】内容可以是 GitHub 昵称、微信…

读算法简史:从美索不达米亚到人工智能时代15读后总结与感想兼导读

读算法简史:从美索不达米亚到人工智能时代15读后总结与感想兼导读1. 基本信息 算法简史:从美索不达米亚到人工智能时代克里斯布利克利 著中信出版集团股份有限公司,2024年9月出版1.1. 读薄率 书籍总字数18.6万字,笔记总字数51653字。 读薄率51653186000≈27.77% 1.2. 读厚方…

公众号[1]-「爱数葡萄」v0.6版本发布

「爱数葡萄」是一款基于yolov5的机器视觉软件,主要功能是对葡萄果粒进行计数,目的是助力农业现代化,提高葡萄果园管理效率。「爱数葡萄」v0.6版本发布 软件简介 「爱数葡萄」是一款基于yolov5的机器视觉软件,主要功能是对葡萄果粒进行计数,目的是助力农业现代化,提高葡萄果园管…

公众号[2]-github项目分享-slambook2.rs项目

宝子们,今天给大家安利一个超酷的项目——slambook2的Rust🔥重构版!这可不是普通的代码重构,而是用Rust语言重新实现的SLAM(同时定位与建图)算法,简直太安全了!(≧▽≦)这个项目提供了超详细的使用说明和开发笔记哦!✨ 宝子们可以用Wasmer运行时直接运行预构建的Wasm…

[2025.2.10 JavaWeb学习]Ajax/Axios Vue-cli Nginx

Ajax 概念Asynchronous JavaScript And XML,异步的JS和XML 作用:数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术Axios 基本概念对原生的Ajax进行了封装 基本使用:前端…

【枚举】遍历矩阵对角线的方法

矩阵为\(n*m\)型,\(n\)为行,\(m\)为列,\(n+m-1\)为对角线数量//撇对角线for (int i = 0; i < n + m - 1; i++){for (int j = max(0, i - m + 1); j <= min(i, n - 1); j++){cout << g[j][i - j] << ;}cout << \n;}//捺对角线for (int i = 1 - m; i…

Typora使用指南

Typora 使用方法 快捷键 标题 +空格=一级标题 +空格=二级标题 +空格=三级标题 最多支持6级 字体 粗体:字体两边+两个** 斜体:字体两边+一个* 斜体加粗:字体两边+三个*** 划横线删除:字体两边+两个~~ 引用:文本前>加 空格 注意引用只能在首字符。例如只能在首字符进行引…