今年微软的编程之美的主题是“对话即平台”,“人工智能”,要求参赛选手用到Bot Framework与Cognitive Services。
大多数人应该对这两个技术都不怎么熟悉吧,我就在这里写写自己所学会的一点东西,带大家调用LUIS做一个简单的Bot聊天机器人。
打开浏览器,直接搜索Bot Framework,进入官网,点击Documentation,进入如下页面。
把滚动条拉到页面最底下,点击Downloads,进入下载页面
然后我们需要下载的就是Visual Studio Template C# 和Bot Framework Emulator。
下载好Emulator后直接运行安装即可。
(注意要用管理员权限,不然可能会出现每次想打开Emulator都必须重新安装的BUG)。
安装好后它的图标是这样:
下载好C# template以后,我们需要把它复制粘贴到vs2015的相应模板文件里。
一般情况下,这个路径是:我的电脑->我的文档->Visual Studio2015->Templates->ProjectTemplates(注意是“ProjectTemplate”,很多人都误以为ItemProject)->Visual C#
然后我们把sdk粘贴到这里就好了,不用解压。
现在打开vs2015,新建项目,选择C#语言:
拉到最下面,我们会发现多了Bot Application。选择这个模板,创建。
这个模板已经帮我们做好了很多东西,我们先不修改它,直接点击编译。
选择一个你习惯的浏览器(我喜欢chrome),然后点击运行。
这是浏览器会跳转出一个基本页面
把窗口最小化,双击运行Bot Emulator
打开后,最上方的输入窗口会提示你输入Endpoint Url。
回到浏览器显示的那个网页,把那个网页的地址粘贴到最上方的输入窗口。大多数默认的都是:
然后记得要在这个地址后面加上:“/api/massages”。
因为我们现在是本地调试,且对bot 模板内容没有修改,所以下方出现的app ID和app password我们都可以留空不去管它们,直接点击CONNECT。
然而很遗憾,我们会在右下角的log窗口会看到:POST connectECONNREFUSED 127.0.0.1:3979
这个错误是因为我国伟大的防火墙。。。((lll¬ω¬))
就如同因为我国防火墙的存在,你不能直接访问google页面一样,我们也无法直接访问bot终端。而且挂vpn并不能解决这个问题。这个时候就需要ngrok的帮助了。
我们可以把ngrok当成一个链接外面世界和墙内网络的管道,访问bot时,可以通过这个管道访问。
我们先在vs里把运行的程序停止。
然后打开浏览器,输入ngrok,搜索。
找到其官方下载页面,下载ngrok。
进入ngrok的下载路径,解压,运行EXE文件。
这是一个命令行应用程序,直接输入:”ngrok.exe http 80”。
然后就会出现这个界面,你的状态是online说明成功了。
接下来我们重新运行Bot程序,重复我之前所说的操作,在BotEmulator里点击CONNECT:<