【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人。
在该系列文章中,每一篇都将通过添加更多的功能来构建机器人。当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather Bot)。在本系列中将学会以下内容:
1)创建一个简单的对话天气机器人
2)在机器人中提出问题,并获取从HTTP API获取响应
3)在机器人中增加帮助提示和取消功能
4)使用语言生成功能(LG: Language Generation)
5)把机器人的回复转换为卡片
6)添加LUIS功能,理解自然语言
准备条件
- 对Bot Framwork Composer(机器人编辑器)有一定的了解,包含Composer中元素的命名约定(https://docs.microsoft.com/en-us/composer/introduction?tabs=v2x)
- 下载并安装 Bot Framwork Composer(https://docs.microsoft.com/en-us/composer/install-composer)
- 设置Composer的语言环境为“中文简体”,如使用英文,教程内容可参考官网(https://docs.microsoft.com/en-us/composer/tutorial/tutorial-introduction)

创建机器人
使用 Composer 创建机器人的第一步是从模板开始一个项目。 这将在本地计算机上创建一个新文件夹,其中包含构建、测试和运行机器人所需的所有文件。
第一步:启动编辑器
第二步:点击 “+ Create New”
第三步:选择 C# 语言 Empty Bot为模板,然后选择“下一步”
第四步:在创建机器人项目的窗口中填入下列的值
a. 名称:输入“weather_bot”
b. 机器人服务的Runtime类型:选择 Azure Web App
c. 位置:选择一个本地路径存储机器人的源文件
第五步:选择“创建”按钮,这一步会占用几分钟的时间从空模板中创建机器人
当创建完成后,编辑器的停留在机器人的创建页面(主页面)
注:一个对面包含一个或多个触发器(Trigger),这些触发器定义了机器人的对话行为。创建新机器人时,会默认创建一个“问候语(Greeting)”的触发器。
第六步:选择“问候语(Greeting)”触发器,选中它的底部的“Send a response”动作
第七步:在右边的“文本”属性中,使用下面的内容替换默认文字(Welcome to your bot)
Welcome to the weather bot! Say "weather" to get started.
欢迎来到天气机器人,请说“天气”来触发机器人指令!
当前这一步完成后的截图如下:

使用空模板的机器人创建完成。
请查看创建过程的演示动画:

添加一个对话
第一步:选中“weather_bot”机器人,点击“...” 选中“+ 添加对话框”

第二步:在弹出的“创建对话”窗口中输入名称和说明,点击 “确定”。
a. 名称: getWeather
b. 描述: Get the current weather conditions.
第三步:在BeginDialog的对话事件中,点击“+”号,添加一个“Send a response”,在它的“文本”属性中输入以下内容
Let's check the weather.
让我们来查看天气情况吧!
第四步:添加getWeather对话的触发器。重新选中“weather_bot”, 在右边的属性中改变识别器类型。由“默认识别器”改为“正则表达式识别器”
第五步:在第二级的“weather_bot”中,点击“...”,然后创建新的触发器“+ Add new trigger”
第六步:在“Create a trigger”的对话框中,为触发器的名字和触发关键字设置内容
a. 此触发器的名称是什么(RegEx): weather
b. 请输入regEx模式:weather|天气
c. 点击“提交”按钮
第七步:在“weather”的触发器编辑页面,点击“+”号按钮,选择“Dialog management” -> “Begin a new dialog”
第八步:在右边的属性栏中,在对话框名称下列框中选择第二步所创建的getWeather对话框。
通过以上步骤,天气对话框和触发器添加完成。
请查看对话框和触发器的演示动画:

测试机器人
第一步:在编辑器的右上角点击 “Start Bot”按钮,启动机器人
第二步:启动后,会弹出一个“Local bot runtime manager”的窗口,选择“Open Web Chat”,打开一个页面聊天窗口
第三步:在对话框中输入“weather” 或者“天气”来触发机器人的对话

在下一篇中将演示:机器人中提出问题,并获取从HTTP API获取响应
(以上内容均是参考微软官方的机器人文档进行的中文操作步骤,原文连接见参考资料)
参考资料
Introduction to Bot Framework Composer:https://docs.microsoft.com/en-us/composer/introduction?tabs=v2x
Install Bot Framework Composer:https://docs.microsoft.com/en-us/composer/install-composer
The Bot Framework Composer tutorials:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-introduction
Tutorial: Create and test a bot:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-create-bot?tabs=v2x
Tutorial: Add dialogs to your bot:https://docs.microsoft.com/en-us/composer/tutorial/tutorial-add-dialog?tabs=v2x
[完]
【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)的更多相关文章
- 【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(2) : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (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请求查询天气.当然,稍微变通下,可以用来查询几乎任 ...
- NPOI-Excel系列-1000.创建一个标准的Excel文件
using NPOI.HSSF.UserModel; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.IO; name ...
- ADF_General JSF系列1_创建一个简单的JSF Application
2015-02-17 Creatd By BaoXinjian
- Cordova 系列之创建一个iOS项目
1.打开终端 2.输入命令 $ cd Desktop (PS:Desktop表示放在桌面,你可以选择放任意位置) 3.$ cordova create HelloWorld com.example. ...
随机推荐
- Access+Mssql+Oracle数据库注入
Access数据库注入 前言:在常见的注入测试中,由于每个数据库内置架构和应用不同,导致数据库类型将决定注入的手法,Access数据库是小型数据库类型,普遍用于小型WEB应用,其中Access注入手法 ...
- 【pytest系列】- fixture测试夹具详解
如果想从头学起pytest,可以去看看这个系列的文章! https://www.cnblogs.com/miki-peng/category/1960108.html fixture的优势 pyt ...
- jdk8-stream-api
1.stream简介 stream 是一个用来处理集合个数组的api jdk 8 引入strream的原因:1.去掉for循环,使编程变的更加简单(实际运行效率可能没有for循环高)2.paralle ...
- 一、HttpRunner学习汇总
HttpRunner是一款面向Http和HTTPS协议的通用测试框架,只需编写维护一份YAML/JSON脚本即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求,是基于关键字驱动的框架,基于 ...
- linux集群压测部署方案
我们今天主要分享的内容从三方面讲解. 集群压力机部署 shell脚本简介 shell脚本搞定压力机部署 集群压力机部署 linux.png 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处 ...
- 改善c++程序的150个建议(读后总结)-------12-18
12.优先使用前置操作符 #include <iostream> using namespace std; class A { private: int num; public: A op ...
- 面试侃集合 | ArrayBlockingQueue篇
面试官:平常在工作中你都用过什么什么集合? Hydra:用过 ArrayList.HashMap,呃-没有了 面试官:好的,回家等通知吧- 不知道大家在面试中是否也有过这样的经历,工作中仅仅用过的那么 ...
- CRM应用中可能发生的问题
CRM系统是公认的提升企业竞争力的强大工具.它既是以客户为中心的思想,又是一种企业管理方案.当然,它还是一种管理软件.在国外,CRM使企业运营得风生水起,但在我国的企业应用中,还是有着很高的失败率和使 ...
- [bug] idea @Override is not allowed when implementing interface method
解决 将idea环境jdk设置一致 参考 https://blog.csdn.net/shenya2/article/details/50460447 https://www.cnblogs.com/ ...
- -bash: ll: 未找到命令
第一步将alias ll='ls -l'添加到/etc/profile # head /etc/profile# /etc/profilealias ll='ls -l'# System wide e ...