天猫精灵与云开发平台在一起,零门槛打造你的私人暖心小管家

简介: 宠你就要给你每个季节的温暖。俗话说“人生如戏,秋如四季”,在这个气温多变的季节里,云开发平台要你一直温暖相伴!语音技能相信大家都不陌生,谁还没有一个AI音箱呢。不过多数时候大家都是拿AI音箱当音乐播放器使了,还没有把这个金矿给利用出来。其实市面上的AI音箱都能够定制开发语言技能,让AI听你的话,比如说现在有听故事的、放音乐的。但是由于之前技能的开发比较麻烦,你需要提前花上近千元买好服务器准备好,想

宠你就要给你每个季节的温暖。俗话说“人生如戏,秋如四季”,在这个气温多变的季节里,云开发平台要你一直温暖相伴!语音技能相信大家都不陌生,谁还没有一个AI音箱呢。不过多数时候大家都是拿AI音箱当音乐播放器使了,还没有把这个金矿给利用出来。其实市面上的AI音箱都能够定制开发语言技能,让AI听你的话,比如说现在有听故事的、放音乐的。但是由于之前技能的开发比较麻烦,你需要提前花上近千元买好服务器准备好,想0基础0门槛上线一个技能简直是太难了。

云开发快速部署后端服务,0门槛上线定制技能

云开发平台跟天猫精灵应用平台合作推出天猫精灵语音技能云开发新功能。帮助大家无需购买服务器0门槛创建和上线个性化AI语音技能,动动手指就能够打造你的私人暖心小管家。

  1. 顶部导航栏中选择 后端服务 ,并在左侧导航栏中选择 服务部署

  1. 单击 编辑部署 ,选择  阿里云云原生开发  的方式,点击关联阿里云账号;

  1. 选择阿里云账号的登录方式 。使用第一步创建和登录的阿里云账号登录即可。

  1. 登录后在团队注册页翻到页面底部,单击 同意授权 ,授权后单击 下一步

5. 云服务管理。查看所需云服务的名称和状态,依次开通所需要的云服务直到4个服务都是已开通状态,点击完成并返回按钮。

6. 返回到技能应用平台后,确认4个云服务资源均已开通,然后点击创建技能应用按钮;

7. 选择开发语言和开发模板进行创建,这里以 Java 空白模板为例 创建应用;

8.创建应用后,点击保存按钮保存阿里云服务器配置;

9.点击前往开发,跳转云阿里云云开发平台;

10. 跳转到阿里云开发平台后,会自动进入 CloudIDE,平台会自动生成模板代码,查看代码路径:src/main/GenieEntry.java,您可以直接在示例代码上进行开发;

将下列示例代码复制到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 {

  @Override
    public 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 if ("weather".equals(taskQuery.getIntentName())) {
            //weather 意图中 date 参数勾选了必选,请求数据中一定会携带 date 参数,只需要判断 city 参数有没有。
            if (paramMap.get("city") == null) {
                taskResult.setReply("您要查询哪个城市的天气?");
                return askReply(taskResult, "city", taskQuery.getIntentId());
            }
            //TODO 根据参数获取天气信息,这里使用假数据替代
           taskResult.setReply(paramMap.get("city") + paramMap.get("sys.date(公共实体)") + "天气 晴");

            //处理名称为 ari_quality 的意图
        }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;
    }
    /**
     * 指定追问参数,音箱自动开麦,用户的回答优先匹配追问的参数
     */
      private ResultModel<TaskResult> askReply(TaskResult taskResult, String parameterName, Long intentId) {
        ResultModel<TaskResult> res = new ResultModel<>();
        taskResult.setExecuteCode(ExecuteCode.SUCCESS);
        taskResult.setResultType(ResultType.ASK_INF);
        AskedInfoMsg askedInfoMsg = new AskedInfoMsg();
        askedInfoMsg.setIntentId(intentId);
        askedInfoMsg.setParameterName(parameterName);
        List<AskedInfoMsg> askedInfos = new ArrayList<>();
        askedInfos.add(askedInfoMsg);
        taskResult.setAskedInfos(askedInfos);
        res.setReturnValue(taskResult);
        return res;
    }
}

11. 提交完成后要选择部署环境,打开 CloudIDE 左侧的 部署调试插件,进入到部署面板,选择预发环境进行部署;

 

5分钟零基础打造你的私人暖心小管家,领阿里云定制卫衣

有了云开发平台,可以快速上线你的定制技能,不用受限于服务器等资源。让你的AI音箱,可以在秋季提醒你天气的变化,及时加减衣物,在你疲惫的时候可以推荐一部温暖治愈的电影让你放松放松。不会写代码?都有现成的保姆式文档,跟着文档5分钟轻轻松完成。

这还没完哦,天气转凉,秋天的第一杯奶茶喝过了, 秋天的第一件卫衣你们买了吗?打造完的小管家还要送你秋天的第一件卫衣,陪你度过一个微暖的秋季。阿里云云开发平台这里为各位粉丝们准备了1000件宠粉礼,粉丝们仅需5分钟完成2个任务中的任意一个就能够拿到我们为粉丝们准备的宠粉礼,让这份宠粉礼温暖粉丝们的整个秋天!最后有一句话想对你们说:天气多变,宠“AI”你们的心不变!

体验还不过瘾,实战营等你来踢馆!

10月18号开始我们邀请天猫精灵智能应用平台的大神们手把手教大家开发技能,从欢迎语的实现到、单轮对话、多轮对话、有屏音箱技能了解技能开发的方方面面吗,同时还有一个小百科的全实战演练,你可以改成你的画画小百科、厨艺小百科、数学小百科等等,是不是很期待啊?!直接在活动页面报名即可。

获奖方式与活动时间

活动页面:https://workbench.aliyun.com/activities/aligenie

9月22日到9月30日,仅需完成页面上的2个任务中的任意一个即可领取呦!定制卫衣会在每个工作日的10点补充到150件,这周日也是工作日,那就也会照常补货哦。当天没有领到的同学也不要着急,第二天10点重新补货后可以直接领取的!

相关文章
|
JavaScript 前端开发 容器
【vue2.x】新手如何快速用vue导入GLTFLoader模型
【vue2.x】新手如何快速用vue导入GLTFLoader模型
646 0
|
机器学习/深度学习 运维 算法
Machine Learning机器学习之向量机(Support Vector Machine,SVM)
Machine Learning机器学习之向量机(Support Vector Machine,SVM)
|
6月前
|
Arthas 监控 Java
Arthas ognl(执行ognl表达式)
Arthas ognl(执行ognl表达式)
359 8
|
7月前
|
运维 数据挖掘 容器
埋点系统客户案例-金融媒体为何选择ClkLog替换10万年费的SaaS平台?
今天,我们继续为大家带来 ClkLog 用户回访系列,本期采访嘉宾是一家国内知名金融媒体平台的运维负责人——严老师。 这家金融媒体平台专注于全球财经新闻、市场动态和投资分析,提供涵盖股票、债券、外汇、大宗商品等领域的实时市场动态、深度分析、行业报告及专家观点。 他们曾使用业内知名的数据分析系统,但出于成本优化的考虑,开启了一轮新的产品选型。最终,ClkLog成功“打动”了他们,让我们一起来看看其中的关键因素。
274 60
埋点系统客户案例-金融媒体为何选择ClkLog替换10万年费的SaaS平台?
|
11月前
|
安全 Java 开发者
final 到底有啥用,99% 的开发者可能只知道一半!
本场主题主要是了解final的各项功能,并且在面试中如何能够自信回答面试官询问final的用途。内容主要为以下五部分。 1.自我经历 2.final修饰变量 3.final修饰类 4.final的实际应用场景 5.面试问答汇总
|
人工智能 自然语言处理 搜索推荐
AIGC:重塑创意产业的“未来”力量
在2024世界人工智能大会上,AI生成内容(AIGC)成为焦点。快手宣布将推出首部全AI制作的奇幻短剧《山海奇镜之劈波斩浪》,标志AIGC在影视领域的突破。AIGC不仅提高效率,也正深度影响千行百业,包括工程设计,推动行业智能化转型。设计师借助AIGC增强效率,但创新和情感表达仍至关重要。出门问问展示的AIGC产品矩阵展示了技术在短视频、直播等领域的应用。大会揭示了AIGC如何拓展创意设计边界,同时强调保持技术与创意的平衡。
|
数据采集 SQL DataWorks
DataWorks产品使用合集之如何配置数据质量监控
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
184 0
|
Linux Shell 网络安全
Linux 强大的网络命令:nc命令操作方法
Linux 强大的网络命令:nc命令操作方法
2018 1
|
缓存 NoSQL 关系型数据库
【中间件】Redis与MySQL双写一致性如何保证?--缓存和数据库在双写场景下一致性是如何保证的
【中间件】Redis与MySQL双写一致性如何保证?--缓存和数据库在双写场景下一致性是如何保证的
645 0
【中间件】Redis与MySQL双写一致性如何保证?--缓存和数据库在双写场景下一致性是如何保证的