成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Azure Bot Services創(chuàng)建聊天機器人的分步說明

譯文
人工智能
信使、網(wǎng)絡(luò)服務(wù)和其他軟件都離不開機器人(bot)。而在軟件開發(fā)和應(yīng)用中,機器人是一種應(yīng)用程序,旨在自動執(zhí)行(或根據(jù)預(yù)設(shè)腳本執(zhí)行)響應(yīng)用戶請求創(chuàng)建的操作。

譯者 | 李睿?

審校 | 孫淑娟?

信使、網(wǎng)絡(luò)服務(wù)和其他軟件都離不開機器人(bot)。而在軟件開發(fā)和應(yīng)用中,機器人是一種應(yīng)用程序,旨在自動執(zhí)行(或根據(jù)預(yù)設(shè)腳本執(zhí)行)響應(yīng)用戶請求創(chuàng)建的操作。在本文中, NIX United公司的.NET?開發(fā)人員Daniil Mikhov介紹了使用微軟Azure Bot Services創(chuàng)建聊天機器人的一個例子。本文將對想要使用該服務(wù)開發(fā)聊天機器人的開發(fā)人員有所幫助。

為什么使用Azure Bot Services? ?

在Azure Bot Services上開發(fā)聊天機器人的優(yōu)勢在于微軟公司對其產(chǎn)品的高度支持。該公司的專家積極與技術(shù)社區(qū)溝通,并迅速識別和修復(fù)服務(wù)中的漏洞。此外,微軟公司提供了創(chuàng)建自定義JSON文件的能力,以配合?一些信使的API,讓開發(fā)人員在創(chuàng)建聊天機器人時有很多可能性。

記住Azure Bot Services的其他優(yōu)點也很重要:?

  • Azure Bot Services允許開發(fā)人員使用開源SDK工具(軟件開發(fā)工具包)來創(chuàng)建、測試和部署聊天機器人。 ?
  • 與認知服務(wù)的集成是指在工作中使用機器學(xué)習(xí)工具來解決典型任務(wù)的服務(wù)。認知服務(wù)確保了聊天機器人和用戶之間更好的交互過程。 ?
  • 多平臺是指將聊天機器人連接到多個通道而無需更改原始代碼的能力。 ?
  • 大量的開源示例以促進開發(fā)過程和快速啟動(GitHub上有很多現(xiàn)成的代碼示例)。 ?

開發(fā)人員可以通過添加新功能來擴展Azure平臺上的聊天機器人基礎(chǔ)設(shè)施。例如,可以添加更多通道并使用每個通道進行測試。可以使用Cosmos DB服務(wù)來存儲對話狀態(tài)和用戶輸入的信息。要訓(xùn)練聊天機器人,可以添加語言理解 (LUIS)。它使用機器學(xué)習(xí)算法來更好地與用戶交流。然而,LUIS并不是免費的,并且不是每個客戶都想分配額外的資金。 ?

Azure Bot Services中的聊天機器人剖析 ?

在Azure上創(chuàng)建的聊天機器人的功能結(jié)構(gòu)可以表示為: ?

可以在右側(cè)看到連接到聊天機器人的可能通道列表。這個列表會隨著新的平臺不斷更新。其底部是Azure平臺可以使用的Microsoft認知服務(wù)。這些服務(wù)允許通過語音請求、面部表情、手勢等與聊天機器人交流。 ?

Bot Builder SDK用于在Azure上開發(fā)聊天機器人。該產(chǎn)品處于公共領(lǐng)域,其主要優(yōu)勢是開發(fā)人員的持續(xù)支持。在GitHub上的一個單獨的分支中,可以獲得關(guān)于該服務(wù)的最新信息,或者向其開發(fā)人員提問。 ?

創(chuàng)建聊天機器人?

在編寫代碼之前,分析一下在Azure Bot Service上創(chuàng)建聊天機器人之前應(yīng)該考慮的細微差別: ?

  • 破壞功能的更新。微軟公司正在不斷更新其產(chǎn)品。新的更新經(jīng)常會破壞以前可以工作的部分代碼。所以一定要了解新的Bot Builder SDK版本的補丁列表,而用來開發(fā)聊天機器人的其他手冊可能會變得無關(guān)緊要。 ?
  • 不明顯的解決方案。在使用Bot Builder SDK時,應(yīng)該始終對實驗持開放態(tài)度,并愿意以不同于以往的方式進行操作。?
  • 多功能性。同一個聊天機器人可以上傳到不同的頻道(Telegram、Skype、Slack等等),而不需要更改源代碼。在開發(fā)聊天機器人時應(yīng)該記住,每個平臺都有細微差別,這需要開發(fā)人員在創(chuàng)建應(yīng)用程序的工作邏輯時采用不同的方法。 ?

(1)聊天機器人能正確理解人們的問題嗎? ?

與聊天機器人的交流是通過用戶界面進行的。用戶界面允許開發(fā)人員采用聊天機器人能理解的語言與它交流。為此,微軟Azure使用了一個對話框系統(tǒng),它遵循特定的層次結(jié)構(gòu): ?

在這里可以看到與聊天機器人建立對話的三種基本方法:?

  • 提示——聊天機器人通過提示和回答與用戶交互。例如,以數(shù)字提示的形式給出聊天機器人信息。Prompt檢查用戶是否正確地回答了提示。如果成功,與聊天機器人的對話將繼續(xù)進行。如果從用戶那里收到不正確的回答,他將被提示輸入有效的數(shù)據(jù)。 ?
  • 瀑布——瀑布是一種通過一系列連續(xù)任務(wù)/問題從用戶那里收集信息的方法。瀑布對話框的每個步驟都是作為異步函數(shù)實現(xiàn)的。在每個階段,聊天機器人要求用戶輸入數(shù)據(jù),等待響應(yīng),然后將結(jié)果傳遞到下一步。第一個函數(shù)的結(jié)果作為參數(shù)傳遞給下一個函數(shù),以此類推,直到傳遞完整個問題循環(huán)。 ?
  • 組件——組件是將一個龐大的對話框分解成更小的、易于管理的部分的一種方法。組件允許開發(fā)人員創(chuàng)建一個可重用的對話框,并在以后的各種獨立場景中使用它。例如,可以使用它來創(chuàng)建一個對話框,該對話框?qū)⒁来蜗蛴脩粼儐柦值烂Q/地址/郵政編碼。 ?

在最下面的一行,可以看到為聊天機器人創(chuàng)建自定義請求的允許方法:?

  • 文本查詢(文本) ?
  • 號碼查詢(數(shù)量) ?
  • 日期/時間請求(日期時間) ?
  • 確認請求(確認) ?
  • 選擇請求(選擇) ?
  • 附件要求(附件) ?

在本質(zhì)上,查詢是分階段的對話框:在第一個階段,聊天機器人請求輸入數(shù)據(jù)在第二個階段,它向用戶返回有效值,或者在收到無效值時重新啟動數(shù)據(jù)查詢循環(huán)。?

(2)控制器和模板 ?

以下看看Daniil Mikhov創(chuàng)建的“稍后提醒我”聊天聊天機器人示例中的代碼,它的主要任務(wù)是提醒他將來需要采取的任何行動。 ?

為了創(chuàng)建聊天機器人,Mikhov使用了Visual Studio提供的Empty Template,它包括幾種類型的控制器:BotController和NotifyController。 ?

BotController為聊天機器人接收消息并將它們傳遞給聊天機器人框架。聊天機器人還包含幾個部署模板,用于更輕松地將應(yīng)用程序部署到Azure平臺。 ?

Notify Controller確定何時向用戶發(fā)送消息。將在后面更詳細地討論這個問題。 ?

(3)啟動功能和填充ToDoDialog選項卡 ?

轉(zhuǎn)到Startup.cs選項卡,查看它的內(nèi)容。在這里可以看到注冊的錯誤處理程序AdapterWithErrorHandler。如果錯誤發(fā)生在程序中,應(yīng)用程序?qū)﹀e誤的反應(yīng)是必要的。注意注冊ConversationState——使用它來讓聊天機器人了解正在與哪個用戶交流,以及在對話的哪個階段。 ?

以下看看ToDoDialog.cs選項卡的內(nèi)容。Mikhov聲明了waterfallSteps,這是瀑布對話框的一組步驟,已經(jīng)在上面提到過了。在waterfallSteps中,指定在每個步驟中使用哪些異步函數(shù)來構(gòu)建用戶和聊天機器人之間的對話。 ?

以下可以看到聊天機器人將使用什么類型的輸入提示。這里的內(nèi)容是相當標準的:聊天機器人會問人們一些關(guān)于事件的問題,然后提供安排提醒。?

現(xiàn)在運行聊天機器人,并使用Bot Framework Emulator界面測試它的操作。 ?

(4)在聊天機器人框架模擬器中首次啟動和測試 ?

當運行這個應(yīng)用程序時,會出現(xiàn)一個鏈接到聊天機器人將等待用戶消息的URL。 ?

在開始測試之前,在聊天機器人框架模擬器中指定這個鏈接:?

在第一個通信步驟中,聊天機器人要求用戶輸入需要提醒的事件名稱。為此,調(diào)用以下代碼 ?

現(xiàn)在,當調(diào)用聊天機器人時,它將返回以下文本:請輸入事件描述。在聲明想要進行提醒的事件(例如買牛奶)后,調(diào)用第二步的代碼,在這里,聊天機器人將提供三個提醒時間選項中的一個:?

注意stepContext的使用。它保存關(guān)于對話框的所有信息,記錄中間值。為了實現(xiàn)可能的提醒時間列表,使用了ChoicePrompt。這個方法將為用戶提供三個選項和一個可能的提醒時間(2分鐘,5分鐘,或第二天的同一時間)。本來可以有更多的選擇,但只選了三個。?

采用選擇來表示每個新的選擇時間,可以得到:?

在聊天機器人框架模擬器中,這段代碼將像這樣呈現(xiàn):?

可以使用Parse對結(jié)果進行解析。在此提醒的是,解析是一個自動收集數(shù)據(jù)并對其進行結(jié)構(gòu)化的過程。然后聊天機器人會詢問用戶是否確定所選的提醒時間,使用ConfirmPrompt來確認協(xié)議:?

從視覺上看,這個方法如下所示:?

最后一步是從stepContext中取出之前填寫的信息,并生成一個SavedNotificationModel,必須向其添加一個conversationReference。如果沒有它,聊天機器人將無法恢復(fù)與用戶的對話,也無法確定是哪個用戶專門解決了這個問題。?

Mikhov使用字典方法作為這些事件的臨時存儲庫,多虧采用它,聊天機器人將其唯一的instanceId分配給每個特定的對話框: ?

這將結(jié)束與聊天機器人的對話。可以向用戶顯示文本,指示對話框的結(jié)束并創(chuàng)建相應(yīng)的提醒請求:“謝謝。通知已成功保存”。 ?

(5)聊天機器人如何穿越時間 ?

為了及時定位聊天機器人,Mikhov創(chuàng)建了notiffiedcontroller方法NotifyTimeCheck()。這種方法允許系統(tǒng)地輪詢應(yīng)用程序,如果某個事件即將發(fā)生,聊天機器人將從字典中檢索該事件并向用戶發(fā)送通知。

為了獲得通知,將調(diào)用BotAdapter的ContinueConversationAsync()方法,并將ConversationReference傳遞給它。ContinueConversationAsync()的第一個參數(shù)必須始終是聊天機器人服務(wù)的appId(應(yīng)用ID),否則,它將無法工作。 ?

此外,還需要提醒聊天機器人,當某個時間到達時,必須將事件提醒給特定的用戶。開發(fā)人員可以使用Azure Function(BotTimerFunction),它將由一個時間觸發(fā)器(TimerTrigger)觸發(fā)。 ?

每隔一分鐘,函數(shù)將向這個端點發(fā)送一個請求,并開始檢查指定的事件。如果它到達了正確的時間框架,聊天機器人將通知用戶預(yù)定的事件即將發(fā)生。?

如今,WhatsApp、Facebook Messenger、Telegram和其他通信工具不僅是交流平臺,也是業(yè)務(wù)平臺。聊天機器人幫助企業(yè)有效地在線銷售和推廣商品和服務(wù)。實現(xiàn)日常流程的自動化,及時向客戶提供必要的產(chǎn)品信息,接收和處理請求——所有這些適當配置的聊天機器人的功能將有助于將用戶轉(zhuǎn)化為客戶。因此,作為開發(fā)人員,應(yīng)該記住這個工具現(xiàn)在是多么流行,能夠創(chuàng)建這樣的應(yīng)用程序并因此成為受歡迎的專家是多么酷的事。?

原文標題:??How to Create a Chatbot Using Azure Bot Service: Step-by-Step Instruction??作者:Daniil Mikhov?


責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-07-05 06:42:01

聊天機器人人工智能

2023-04-05 19:32:28

2023-10-13 09:00:00

2017-03-28 12:21:21

機器人定義

2019-01-25 16:30:34

機器人機器學(xué)習(xí)人工智能

2022-07-03 10:23:06

機器人場景個性化

2020-02-02 09:19:14

聊天機器人機器人智能

2024-09-30 13:11:09

2022-08-04 07:03:41

AnswersInfobip無代碼

2016-02-16 14:46:33

聊天機器人機器學(xué)習(xí)自然語言

2023-05-18 10:06:00

聊天機器人醫(yī)療保健

2023-04-27 08:00:00

2021-10-28 22:46:13

Python機器人數(shù)據(jù)

2020-08-14 16:18:30

人工智能

2021-11-30 10:56:43

ChatterBot機器人人工智能

2020-12-02 13:00:17

Recast.AI聊天機器人人工智能

2019-12-19 16:08:40

人工智能機器人數(shù)據(jù)

2025-06-04 08:21:28

2023-06-29 15:04:21

微軟ChatGPT
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 男女羞羞视频在线免费观看 | 酒色成人网 | 久久久久久久久久性 | 久久久精彩视频 | 国产黄色在线观看 | 蜜臀av日日欢夜夜爽一区 | 一级欧美一级日韩片免费观看 | 色婷婷av777| 亚洲精品在线看 | 国产黄色av网站 | www狠狠爱com | 久久久成人免费视频 | 久久精品这里 | 日韩在线视频免费观看 | 久久一级 | 国产一区在线看 | 亚洲一页 | 国产高清精品一区二区三区 | 欧美色综合一区二区三区 | 国产精品 亚洲一区 | 日韩精品在线观看免费 | 欧美日韩高清 | 日韩三级免费网站 | 欧美中文字幕一区二区三区亚洲 | 自拍视频一区二区三区 | 亚洲第一色站 | 国产精品视频免费观看 | 亚洲日韩中文字幕一区 | 欧美成人激情视频 | 中文字幕 在线观看 | 国产欧美一区二区久久性色99 | 国产精品国产精品国产专区不片 | 啪啪免费网 | 毛片在线视频 | 日韩欧美在线观看 | 精品国产乱码久久久久久88av | 日韩一三区 | av网站在线免费观看 | 综合精品| 黄网站涩免费蜜桃网站 | 国产做a爱片久久毛片 |