【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人。
在该系列文章中,每一篇都将通过添加更多的功能来构建机器人。当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather Bot)。在本系列中将学会以下内容:
4)使用语言生成功能(LG: Language Generation)
5)把机器人的回复转换为卡片
6)添加LUIS功能,理解自然语言
准备条件
- 完成系列(1,2,4)中的简单对话机器人创建(https://www.cnblogs.com/lulight/p/14891002.html),发送HTTP请求(https://www.cnblogs.com/lulight/p/14897260.html)和使用LG(https://www.cnblogs.com/lulight/p/14902657.html)
- LG: Language Generation (https://docs.microsoft.com/en-us/composer/concept-language-generation?tabs=v2x) 在Bot中定义多种形式的短语,根据机器人运行时的参数组合生成回复内容。
- Cards: 让机器人能使用图片+文字,音频或者按钮多样化的形式提供响应(https://docs.microsoft.com/en-us/azure/bot-service/bot-service-design-user-experience?view=azure-bot-service-4.0#cards)。
添加Button
Button作为一个建议操作添加在机器人与人之间的对话中,通过预设按钮,代替输入文字,改善用户体验。让我们在本文你中为输入邮政编码的提问部分增加“Help”和“Cancel”两个按钮。
第一步:启动Bot编辑器,打开 weather_bot 项目
第二步:在getWeather对话组件中,选择“BeginDialog”事件 ,在其第二个组件“Prompt for text”的右侧属性栏中,点击文本旁边的“+”号按钮。
第三步:在弹出的窗口中选择“建议的操作”。然后点击“Add suggested action”并在文本框中输入“ HELP ”. 重复点击“Add suggested action”,再次输入“ CANCEL ”
第三步(可选):也可以通过修改代码的方式添加SuggestedActions。操作步骤为:
在属性栏的右边,选择显示代码
在Activity中添加SuggestedActions属性。代码内容如下:
[Activity
Text = What is your postal code?
SuggestedActions = help | cancel
]
UI显示效果如:

让我们一起来观看添加动画及效果演示:

添加Cards
第一步:在getWeather对话的True分支下,选择"Send a response"组件
第二步:在右边的属性栏中,点击“+”号按钮,在下拉列表中选择“Attachments”
第三步:在出现的附件栏中,点击 “ 添加新附件 ” --> “ 通过模板创建 ” --> “ 缩略图卡 ”
第四步:在代码编辑框中会列出缩略图模板所需要填充的内容。可以使用以下的内容替换:
[ThumbnailCard
title = Weather in ${dialog.city} in ${dialog.country}
text = ${DescribeWeather(dialog.weather)}
image = http://openweathermap.org/img/wn/${dialog.icon}@2x.png
]
完成以上4步后,一起观看添加Cards及效果演示:

在下一篇中将演示:添加LUIS功能,理解自然语言
(以上内容均是参考微软官方的机器人文档进行的中文操作步骤,原文连接见参考资料)
参考资料
Tutorial: Add cards and buttons to your bot:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-cards?tabs=v2x
Design the user experience: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-design-user-experience?view=azure-bot-service-4.0#cards
[完]
【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)的更多相关文章
- 【Azure 机器人】微软Azure Bot 编辑器系列(2) : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 通过Azure bot framework composer 设计一个AI对话机器人bot(查询天气)
本文介绍通过机器人框架设计器 (Bot framework composer)接近拖拉拽的方式设计一个聊天机器人,该聊天机器人的主要功能是发起http请求查询天气.当然,稍微变通下,可以用来查询几乎任 ...
- (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介
网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...
- 免费电子书:微软Azure基础之Azure Automation
(此文章同时发表在本人微信公众号"dotNET每日精华文章") Azure Automation是Azure内置的一项自动化运维基础功能,微软为了让大家更快上手使用这项功能,特意推 ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化
在上一篇中,我们介绍了消息的顺序收发保证: Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证 在本文中我们主要介绍下复杂对象消息是否需要支持序列 ...
随机推荐
- idea中注释变成繁体字
原因:idea中快捷键与输入法快捷键冲突:crtl+shift+f 解决方法:修改输入法的简繁切换快捷键的设置,crtl+shift+f切换回简体输入方式 注意:如果调出全局搜索用crtl+shift ...
- 微服务架构开发电商系统需要用Redis、ES和MQ吗?
如果不用什么很高大上的东西,就是有多个微服务就行这种技术架构会很难吗? 我看了一些视频,他们都用到了es.mq.redis的东西,我想不用这些东西,就简单的有多个服务,这样可行吗? 01 使用微服务你 ...
- 利用实体bean对象批量数据传输处理
利用实体bean对象批量数据传输处理 需求 现在有两方数据库表结构相同,一方A.另一个方B,现想从A处查询出多个表的数据,传输到B地保存起来. 解决方案1 最简单粗暴的方法就是,查询出A处相关表的数据 ...
- 中国排名前100的IC设计公司
中国排名前100的IC设计公司 北京地区大唐微电子技术有限公司北京北大众志微系统科技有限责任公司北京中星微电子有限公司中国华大集成电路设计中心 北京中电华大电子设计有限责任公司 北京清华同方微电子 ...
- .NET平台系列10 .NET统一平台愿景
系列目录 [已更新最新开发文章,点击查看详细] 2019年,微软分享了[统一的.NET堆栈和生态系统的愿景].给开发者带来的价值是,将能够使用一组API,语言和工具来针对广泛的应用程序类型,包 ...
- [bug] java.sql.SQLException: Unknown initial character set index '255' received from server. Initial cl...
参考 https://www.jianshu.com/p/d86de6463cbd
- [c++] 开发问题
语言中的很多细节都是为了应对实际开发中会遇到的问题 当编写程序时,我们使用的定义多数不是自己写的,如sqrt(),是很多年前别人写的,我们只是使用它们 在C++中,对于"别处"定义 ...
- at在指定的时间执行命令+atq列出用户待处理作业(jobs)
按下crtl+d取消定时任务 # at now+1hourat> echo"a">aat> <EOF>at> <EOT>job 4 ...
- Linux创建RAID5_实战
Linux创建RAID5实战 Linux创建RAID5 RAID5最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证 RAID5最多能允 ...
- STM32用FreeRTOS时任务优先级和中断优先级说明
下面对 FreeRTOS 优先级相关的几个重要知识点进行下说明,这些知识点在以后的使用中务必要掌握牢固. FreeRTOS 中任务的最高优先级是通过 FreeRTOSConfig.h 文件中的 co ...