使用Bot Framework和Cognitive Services打造智能對話服務(一)
微軟在Build2016大會上表示,未來將是一個充滿聊天機器人的世界,為此他們推出了微軟Bot Framework,能夠允許任何人製作自己的聊天機器人,微軟則提供“cognitive microservices”(認知微服務),該工具能夠理解自然語言或者對圖片進行分析,初期開放22個API,可用於整合到應用中。
微軟Bot Framework允許開發人員將自己開發的機器人整合到一系列平台中,例如Skype、Slack、Telegram、電子郵件和網頁等,微軟稱希望所有的開發人員能夠將自己的應用變得更加智能。
本文將講述搭建bot framework後台,以及如何建立bot的流程
1、首先,請下載Bot Framework的SDK,建議下載Bot Framework的Visual Studio的模板Bot Application(本文使用Bot Application模版的方式)下載下來的模板(不用解壓)請直接放置到C:\Users\你的使用者名稱\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C# 下面,這樣你在C#下面就可以看到有Bot Application的模板了。
2、選擇Bot Application 模版,建立工程
3、無需修改任何東西,直接將建立的Bot Application 發布到外網上,本文測試使用azure 的website。
建立website
發布網站
4、註冊Bot
發布後,訪問首頁,點擊Bot Framework跳轉到註冊Bot的頁面。
填寫基本的註冊資訊
填寫endpoint(http://上面發布bot server的地址/api/messages)及 建立App ID和Password(注意,切記把這個app password記下來,只顯示一次)
建立完成後如下圖所示
5、修改Bot Application 的工程中web.config檔案,將第四步中產生的AppId 及 Password填寫到web.config,並且發布到外網。
6、在首頁中添加Iframe
選擇Web Chat 通道,點擊Edit
點擊Add new site,可以擷取到Secret keys 和Embed Code
修改Bot Application 中的Default.htm檔案,然後重新發布
其中 src部分填寫你自己上面擷取到的Secret keys 和Embed Code
<!DOCTYPE html><html><head> <title></title> <meta charset="utf-8" /></head><body style="font-family:'Segoe UI'"> <iframe name="myframe" scrolling="auto" width="100%" height="100%" onload="document.all['myframe'].style.height=myframe.document.body.scrollHeight" src='https://directline.botframework.com/embed/nana?s=你的Secret key' style="height: 502px; max-height: 502px;"></iframe></body></html>
7、運行測試
訪問bot server的首頁,然後向服務端發送訊息,可以得到響應訊息。實現了發送一條訊息,服務端回複你發送的內容和計算字串的長度,還達不到智能的地步。 在下一章中,介紹整合Cognitive Services,讓我們的bot變得更加智能一點。