天猫精灵:微博热搜播报助手

简介: 看热搜不用太麻烦

2.jpeg

🎈 创建技能应用

  • 首先进入天猫精灵开放平台 https://www.aligenie.com
  • 从右上角的 控制台 中选择 技能应用平台
  • 点击创建新技能,即可开始你的创作之旅了

image.png


🎈 选择技能配置

  • 因为我们是自己开发,所以选择 语音技能 中的自定义模版
  • 技能名称:最好取一个跟你开发的功能相对应的名字,比较好识别
  • 技能调用词:是用来唤醒天猫精灵的这个功能的词语
  • 收费情况:因为收费暂时不面对个人用户,所以我们选择免费的
  • 部署方式:我选择的在线开发,如果你在阿里云有自己的服务器,也可以选择FAAS方式进行开发

image.png


🎈 选择开发语言

  • 然后选择自己想要开发的语言
  • 暂时平台提供三种语言来开发天猫精灵 java、nodejs、python
  • 因为个人更喜欢python,这里我选择 python 来进行开发
  • 对于模版的选择,我们看到除了空白模版,我们可以看到系统还会提供另外的三个模版供你选择,如果你开发的是一个电影功能,可以选择对应的电影模版
  • 系统提供的模版,里面已经写好了一些功能逻辑方法,不需要从0开发,可以根据自己的功能去修改其中的代码即可
  • 这里因为我开发的功能是微博热搜实时提供,所以并不适用于其他模版,我选择的是空白模版
  • 然后点击创建即可

image.png


🎈 天猫精灵开发流程

  • 在创建上面的流程后我们可以看到天猫精灵功能的开发流程
  • 主要是配置基本信息、定义交互模型、编写代码逻辑、添加屏幕显示设备、测试、发布
  • 上面的三个步骤就是进行基本信息的配置,所以到了这里可以看到第一步是已经完成的状态了

image.png


🎈 定义语音交互模型

  • 什么是语音交互模型:其实就是你说出你设定的关键词,然后天猫精灵可以自动触发你编写的代码里面的方法,进行执行同你交互
  • 所以在这里我们需要去定义一下关键词
  • 意图:其实就是自定义的关键字
  • 公共意图:其实就是官方已经定义好的一些关键词,比如返回桌面、接听电话等等

image.png


🎈 自定义意图

  • 我们首先需要创建一个默认意图 welcome
  • 就是你说第二步中设置的调用词的时候,天猫精灵默认触发的方法
  • 我们还需要创建一个搜索意图 queryHotNews
  • 用来进行触发天猫精灵实现微博热搜的功能

image.png

image.png


🎈 定义实体

  • 实体是指某领域词汇的集合,技能平台提供了丰富的系统词典来支持技能引用
  • 这里我们需要定义 platform 实体来表示我们需要搜索哪个平台的热门新闻
  • 还需要定义一个 date 日期实体来表示我们需要查找哪天的热门新闻
  • 其实关于热门搜索我们定义这两个实体就已经足够了
  • 这里只是教程,当然在开发中我只开发当天的热门新闻播放,所以 date 实体对于我而言意义并不大
  • 如果是自定义实体的话,需要自己添加实体值
  • 当然我这里只开发微博热门功能,其实只定义微博即可,其他的平台只用做展示

image.png


🎈 实体的使用

  • 在定义完实体后,我们需要在意图中使用实体
  • 也就是告诉天猫精灵,在对话中,将哪些关键字剥离成实体,供开发人员去做逻辑代码的编写
  • 所以我们要在搜索意图 queryHotNews 中使用自己设置的实体
  • 所以我们点击该意图去编辑,在编辑页面可以看到单轮对话表达这个选项
  • 这个选项就是你输入什么话,天猫精灵才会对你的话作出反应
  • 这里我们可以输入几个搜索对话的例句,如下
  • 例句其实就是你跟天猫精灵说这些例句的时候,你才会得到回复,也就是正常用户跟天猫精灵时候所说的话
  • 可以看出我们在例句中写死了交流的句式,这样非常难以变通,如果平台很多,你就得把用户所有想问的话语都写下来,这肯定是不现实的,所以我们需要在例句中引入实体
  • 我们将关键词选中,系统就会跳出实体的选择框,你可以自定义将关键词标记成对应的实体
  • 这里我们将今天标记成 date 实体
  • 将微博标记成 platform 实体
  • 就可以将对话关键词直用实体代替,当天猫精灵捕捉到这些实体时,会将其作为参数传递给你,你进行响应的逻辑编写即可

image.png

image.png

image.png


🎈 代码开发

  • 此时我们可以进入开发流程的第三步
  • 进行代码开发了,首先我们需要创建应用,会进行项目和代码的初始化
  • 然后进入云编辑器中编写代码即可
  • 可以看到初始化的代码中只有简单的回复逻辑
  • 那是因为我们选择的是空白模版

image.png

defhandler(event, context):
request=json.loads(event)
logger=logging.getLogger()
body=base64.b64decode(request['body']).decode()
data=json.loads(body)
logger.info(data)
response= {
"isBase64Encoded": "false",
"statusCode": "200",
"headers": {"content-type": "application/json"},
"body": {
"returnCode": "0",
"returnErrorSolution": "",
"returnMessage": "",
"returnValue": {
"reply": '欢迎使用天猫精灵',
"resultType": "RESULT",
"executeCode": "SUCCESS",
"msgInfo": ""          }
      }
  }
returnresponse


🎈 热搜开发

  • 通过 intent_name = data['intentName'] 可以获得意图名称
  • 通过 data['slotEntities'] 可以获得所有的实体参数
  • 这里我们需要引入 requests 模块,所以我们需要在终端执行 pip install requests 命令进行安装
  • 我们在逻辑里面判断,如果是欢迎 welcome 的意图的话,就回复欢迎使用飞兔热搜
  • 如果是 queryHotNews 意图的话,就查询微博热搜接口进行播放即可
importloggingimportjsonimportbase64importrequestsdefreply(msg):
response= {
"isBase64Encoded": "false",
"statusCode": "200",
"headers": {"content-type": "application/json"},
"body": {
"returnCode": "0",
"returnErrorSolution": "",
"returnMessage": "",
"returnValue": {
"reply": msg,
"resultType": "RESULT",
"executeCode": "SUCCESS",
"msgInfo": ""          }
      }
  }
returnresponsedefhandler(event, context):
request=json.loads(event)
logger=logging.getLogger()
body=base64.b64decode(request['body']).decode()
data=json.loads(body)
logger.info(data)
intent_name=data['intentName']
platform=Nonedate=Noneforslotindata['slotEntities']:
ifslot['intentParameterName'] =="platform":
platform=slot['originalValue']
elifslot['intentParameterName'] =="date":
date=slot['originalValue']
ifintent_name=='welcome':
returnreply('欢迎使用飞兔热搜~')
ifintent_name=='queryHotNews':
response=requests.get('https://api.mdnice.com/trendings')
response=json.loads(response.text)
ifresponse['code'] !=0:
returnreply('网络似乎出现了问题呢~')
current=0msg=''foriteminresponse['data'][1]['trendingItemList']:
current+=1msg+='{},{}\n' . format(current, item['title'])
ifcurrent>=10:
breakreturnreply(msg)


🎈 预发环境部署

  • 我们需要先将代码推送到线上
  • 然后选择将其发布到预发环境即可

image.png



🎈 在线测试和真机测试

  • 在部署之后我们就可以进行测试了
  • 我们可以使用在线测试和真机测试看看自己程序是否可以正常运行
  • 真机测试需要购买天猫精灵才可以的哦,需要跟天猫精灵说 打开技能测试 即可输入验证码进行设备绑定了
  • 真机测试跟在线测试是一样的,只是多了个语言播放功能
  • 至此,微博热搜功能开发完毕

image.png

相关文章
|
6月前
|
NoSQL 前端开发 数据挖掘
私域直播系统源码架构解析:从开播到成交的完整链路设计
本文深度解析私域直播系统源码级实现,涵盖推流鉴权、实时互动(WebSocket+Redis)、商品挂载、秒级下单、支付闭环及用户标签沉淀等全链路架构。强调技术可控、数据归属与业务可扩展性,助力企业构建稳定、自主、可复用的私域直播闭环。(239字)
|
7月前
|
人工智能 弹性计算 对象存储
玄晶引擎:基于阿里云生态的全流程AI自动化方案,赋能中小微企业低成本数字化转型
玄晶引擎是阿里云生态原生AI自动化平台,专为中小微企业设计。依托通义千问、ACK、OSS、VectorDB等服务,实现“内容生产—流量分发—精准获客—成交转化”全流程闭环。云原生架构+零代码操作,算力成本降60%,人力节省超60%,3个月可回本。
508 15
|
6月前
|
人工智能 算法 安全
AI Agent 职业路线:从工具使用者到智能体生态构建者
本文探讨AI Agent驱动的职场范式转移:从人机交互迈向人机协同。提出技术从业者三层角色(执行者、协作者、生态管理者),并系统阐述上下文工程、输出校验、智能体调优三大核心能力,以及单点应用→多体编排→生态治理的进阶路径。(239字)
409 5
|
运维 Prometheus 监控
运维别瞎忙,先把“看板”整明白!——运维数据可视化的最佳实践
运维别瞎忙,先把“看板”整明白!——运维数据可视化的最佳实践
576 1
|
存储 弹性计算 安全
Cloud Backup深度解析:从被动防御到主动保护
《Cloud Backup深度解析:从被动防御到主动保护》由阿里云高级技术专家张磊分享,探讨企业数据保护面临的挑战及应对策略。内容涵盖企业数据安全威胁、小概率事件的高风险性、传统备份系统的不足,以及通过四步主动防御策略(资源发现、风险检测、数据锁定、全局巡检)实现高效的数据保护。同时介绍了基于标签的自动策略关联、多种备份引擎、恶意文件检测、探测效率优化等关键技术,确保备份数据的安全性和完整性。此外,还展示了数据灾备中心和全方位主动数据保护机制,帮助企业在面对勒索病毒、内部攻击等威胁时,构建更强大的防护体系。
414 8
|
安全
磁悬浮交通:超高速运输的未来
【10月更文挑战第13天】磁悬浮交通利用磁力使列车悬浮于轨道,实现高速行驶,具备速度快、安全、环保及维护简便等优势,正逐渐变革出行方式。其原理基于常导或超导磁铁产生的吸斥力,减少摩擦以提高效率。技术探索始于20世纪初,近年来在中、美、日等国取得显著进展。尽管建设成本高昂且存在技术挑战,但磁悬浮交通有望成为未来超高速运输的主力军,提升城市间交通效率。
|
机器学习/深度学习 人工智能 监控
|
图形学
Unity官方中文版!!!附教程——无需破解!
Unity安装官方中文版教程 本文提供全流程,中文翻译。 助力快速完成 Unity 中文汉化的安装 为新手节省宝贵的时间,避免采坑! 安装过程非常简单,这里 Chinar 只说最简单的安装方式 下载官方语言文件 zh-cn.
19553 0
|
域名解析
Discuz如何给 门户、论坛、手机等,设置二级域名
Discuz如何给 门户、论坛、手机等,设置二级域名
793 1

热门文章

最新文章