更新以後微軟機器人框架不太會用?全部的改動都在這一篇

文章做者:Pablo Gomez Guerrero前端

原文連接:《How to Work with Microsoft Bot Framework Since Last Update》web

翻譯:一熊翻譯組 Masonapi

圖片描述

若是你有使用微軟機器人框架的話,你頗有可能已經看見提示你遷移機器人的邊欄了。你也可能會發現建立機器人的網頁彷佛和以前不大同樣,有一些東西也不見了。儘管在更新前已建立機器人的「設定」與「測試」部分在 dev.botframework.com 上仍舊可用。然而,若是你建立一個新的機器人,設定部分已經有了改動。服務器

沒準就算在已建立的機器人設定中,若是他們尚未被遷移,網頁看起來也會很奇怪。接下來,就讓我來告訴你這是怎麼一回事:session

1.開始

建立機器人的方式有了一點改變。如今微軟會從新定向至 Azure 並強制發送一個訂閱至 Azure 以生成一個機器人服務。Azure 會給你一個 170 歐元的貸記額度用來作訂閱,至少個人狀況是這樣。app

圖片描述

一旦進入 Azure 中,你會發現三種建立機器人的方式:框架

  • Web App 機器人
  • 機器人頻道註冊
  • 功能機器人

圖片描述

在說明中,咱們會看到一些如何使用新版本機器人的理論與實踐。編輯器

2.理論

a. Web app 機器人

這是一個網頁聊天機器人的經典實例。你能夠根據多種使用場景來在 Node.jsC# 的模板中進行選擇。咱們選擇在微軟上用一個稱爲 LUIS(語言理解系統)的認知服務來生成機器人,由於該服務會給予咱們的機器人意圖識別的功能。post

圖片描述

一旦機器人建立成功後,還須要想兩個名字:一個給它本身,一個給 web app。測試

b.託管

託管你的機器人的惟一方式是 Azure。當你選擇模板時,它會自動生成一個代碼託管區域。之前曾經有過在別的服務器上託管並用 HTTPS url 地址配置設定的方式。

c.代碼

共有三種方式容許你在 Azure 平臺上託管代碼:

  • 在線編輯代碼
  • 下載與上傳壓縮文件
  • 創建持續實現。它啓動於第一次下載壓縮文件並在 Azure 支持的第三方庫上新建文件夾時,而後須要一些認證,即可以每在特定分支有變化時部署機器人的新版本。

圖片描述

對於持續實現,這裏有一組能夠幫助你在每次須要時部署的供應商。

圖片描述

d.頻道註冊

設定一個新頻道也須要在 Azure 上進行。 可用的頻道沒有更改,事實上,看起來菜單中的選項也和此前的機器人頁面大抵相同,只是在前端上更改了 CSS。

圖片描述

這一小小的改動讓平臺因 Azure 看起來更棒,反之,之前的機器人則看上去就顯得有些古怪了。網頁上看起來都同樣,再也不爲舊版本機器人在 CSS 上作任何優化。

圖片描述

e.測試

這一部分並無大的改動。如今已經所有集成進了 Azure。

圖片描述

f.LUIS

由於咱們已經選擇了由 Azure www.luis.ai 構建的意圖識別機器人來服務咱們的所需,它會經過新事項會連接機器人與意願,服務咱們的需求。

圖片描述

然而對於 LUIS 應用程序爲何老是建立在美國域名下的 www.luis.ai 上並無給出明確的解釋說明。咱們此前在選項中選擇了西歐地區,所以我認爲它本應建立在 eu.luis.ai 上。可能 Azure 團隊仍在這上面改進,這只是一個 beta 版本。

3.實踐

舉一個工做上的例子,咱們選擇了功能機器人服務後,就沒必要再擔憂 Web 應用程序或任何服務器的設定。Azure 的功能會作這些工做,它會按照規範執行代碼指令。當在 Azure 上建立機器人時,這一執行會過程十分順暢並透明,功能也會如期運行。

圖片描述

在下面這段代碼中,咱們僅僅使用了咱們在文檔中發現的最簡單的機器人代碼。

'use strict';

const builder = require('botbuilder');
const restify = require('restify');

const server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, () => {
   console.log('%s listening to %s', server.name, server.url);
});

// Create chat connector for communicating with the Bot Framework Service
const connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD,
});

// Listen for messages from users
server.post('/api/messages', connector.listen());

// Receive messages from the user and respond by echoing each message back (prefixed with 'You said:')
const bot = new builder.UniversalBot(connector, (session) => {
    session.send('You said: %s', session.message.text);
});

在添加一些改動實現自動部署後,實現部署細節的可視化也是可能的。

圖片描述

4.改動與提高

a.測試

對於測試服務器來講,如今,以往的那些複雜的準備都再也不須要了。將域名指定給機器人就能夠在一開始進行測試。

b.自動部署

個人見解是,這是最受影響的一項。從如今開始,機器人能夠經過第三方供應商在其處更新代碼與在 Azure 上進行配置的方式完成部署。

c.通用模板

在新版本,微軟爲最受歡迎的使用場景加入了一些通用模板。目前,可用語言爲 Node.jsC#

d.在線代碼編輯器

微軟一樣針對快速修復或小的緊急產品改動收錄了一款在線編輯器。

e.託管

看起來微軟如今擁有使用其框架建立的全部機器人,由於服務器不會再託管配置了。我不認爲這是一個改進,但不得不說在一些小的項目中,這看起來是一個最便捷快速的選擇。

5.結論

看起來來微軟在人工智能領域的更迭中有了一個清晰的閉環產品線目標,調整了一些特性而且有了進一步的把控。我但願新的這些特性能夠超越現有的這一代。

一熊翻譯組隸屬於一熊科技,咱們不生產科技雜文,咱們只是 GFW 上語種間的搬運工,歡迎點擊 「一熊翻譯組」來加入咱們。主線產品 「倍洽」日前迎來新版本上線,欲體驗智能聊天機器人所帶來的將來氣息,與全新工做體驗的無窮魅力,歡迎點擊 「倍洽」,從建立屬於你的第一個團隊開始……

圖片描述

相關文章
相關標籤/搜索