發表文章

目前顯示的是有「Bot Framework」標籤的文章

以MS Bot Framework串接OpenAI API實現跨平台(頻道)機器人開發

圖片
前幾天介紹過如何透過 LINE Messaging API 來串接 OpenAI API,實現具有GPT能力的LIEN Bot。但如果你的 ChatBot 不想只支援 LINE 怎麼辦呢? Microsoft Bot Framework 是另一個不錯的選擇。 Microsoft Bot Framework 提供了一個健全的平台,讓開發者可以建立、測試、和部署具有高度互動性的聊天機器人,除了可以直接串接 LINE Bot, 還支援 Teams、Telegram、FB、Skype、Alexa、Web UI、甚至 email 和 SMS…等不同的Channel。 當它與 OpenAI 的 API 結合時,不僅可以快速的建立出對談機器人應用 ,更能確保了機器人可以在多種平台上運行,包括網頁、社交媒體平台和行動應用,使其更具可訪問性和便利性。 底下這個在MS Bot模擬器中的截圖,就是我們在上課的時讓學員做出的成果,你會看到透過 Bot Framework 設計的對談機器人,具備理解前後文與對談記憶,由於ChatGPT的加持,可以輕易的理解用戶的對談訊息,從而輕鬆地蒐集用戶的購票資訊,協助用戶進行購票。 這個範例的最後,產生了一個可以傳遞給 購票系統的 JSON 內容,只需要再加上呼叫 購票系統的API,就可以在對談中自動完成協助用戶購票的動作了。 讓 OpenAI API 產出 JSON 是為了方便開發人員後續可以直接呼叫 售票系統的 API 來完成真正的購票行為,如此一來可以更方便的做系統間的整合。 而採用 MS Bot Framework 開發的好處在於,可以輕易地透過 Azure Bot 的維護後台,以設定的方式,就可以讓串接好 ChatGPT 的 Bot 與各種不同的頻道進行整合: 這樣我們只需要撰寫一次,就可以直接支援各種不同的操作介面或App。 基本款的 MS Bot Framework + ChatGPT 範例,可以參考筆者的 Github repo: https://github.com/isdaviddong/DemoChatGPTwithMSBotFramework.git 相關課程: https://www.studyhost.tw/NewCourses/LineBot

使用MS Bot Framework建立一隻支援LINE Bot的對談機器人

圖片
令人期待的事情總是拖得比較久。 但MS Bot Framework支援LINE Bot的這一天總算是來臨了。 先說說為何大夥們會希望Bot Framework支援LINE? 其中最基本的因素大概是Bot Framework目前已經支援多種Channel、本身又內建狀態管理機制、可以很方便的串接自然語言對談和撰寫程式碼,這讓開發人員有機會,只需要寫一次Bot核心Business Logic的code,就讓前端同時支援Web/Skype/FB Messenger/LINE/Telegram…等多種IM: 過去Bot Fx是沒有支援LINE這個Channel的,在眾多開發人員的催促下,微軟從善如流的照做了…好,我們這就來看看Bot Fx如何支援LINE? 首先,請在Azure Portal上用最基本的方式(Web App Bot)建立一支Bot: 稍微留意一下底下的輸入畫面: 現在的Azure Portal,常常在我們建立一個資源時,同時建立很多資源。這啥意思? 例如我們要建立一個支援LINE的Bot,但其實他後面有Azure Web App,Storage,甚至LUIS或QnA Maker(看你的選擇),所以這一建常常一堆資源出現,因此我們都會建議讀者把這些資源建立在同一個新開的資源群組(Resource Group),以便於日後 要刪一起刪 方便維護,請參考上圖2。 至於機器人範本,我們建議選擇Echo Bot,先維持簡單就好(上圖5)。 建立好之後,我們立刻到這個資源來看看: 到了該資源之後,我們可以先點選頻道,你會看到預設狀況下已經有一個頻道(Web Chat)在跑步了…(唉,跑什麼步啊…是running啦…) 你可以點選在WebChat中測試,系統會用Web UI讓您測試: 沒錯,他跑起來了,就是一個Echo Bot… 接著,我們要讓他支援LINE,請進入頻道設定,輸入下圖中1,2的資訊: 等等,上面的『頻道秘密』和『頻道存取權杖』是什麼? 如果你有建立過LINE Bot應該就知道(沒建立過可以參考 這邊 ),它是你可以從LINE Bot後台找到的 Channel Secret和Channel access token啦(btw, 建立的LINE Bot必須支援Push): 別忘了,剛才上一張圖中的WebHook URL(標示3),你必須回填到LINE Bot的...

幫你的Teams加上一隻對談機器人(Teams Chat Bot)

圖片
前幾天我們介紹過了 如何申請免費 的Teams,但你知道嗎? 免費的Teams 其實也可以擁有對談機器人喔。只需要三分鐘就可以搞定… 上圖就是我們跟這個剛用三分鐘做好的機器人對談的畫面。 他現在只會Echo,啥都不會,但你幾乎不用寫任何程式碼就可以完成,這樣的對談機器人有何用途呢? 用途大了,未來只需要稍加擴充,他就可以成為您在組織或企業內的小幫手,小從幫你查詢某人的分機、或是查詢你的今年度請假時數,大到自動幫你跑流程建立訂單或其他申請單,都是可以輕易實現的。 我們先來看如何建立一支這樣的bot。 使用bot service 要建立一支bot,你可以透過微軟Azure上的bot Service,建立時,目前有三種可以選擇: 請選擇最簡單的Web App bot,然後在出現的畫面中逐一填入相關資訊: 上圖1的機器人名稱當然就填寫你想要的名稱,而2,3,5預設會用同樣的名稱,我會建議你別改,且最好建立一個獨立的資源群組,這樣比較好管理。因為這個Web App Bot,會一口氣幫你建立Web App、Azure Storage、然後又可能有App Service Plan,如果你沒把所有東西放在一個獨立的資源群組裡,未來刪除的時候可能會漏東漏西。 上圖4程式碼的部分我們選擇C#,6的部分我們選擇自動建立。 按下『建立』鈕會跑一陣子,完成後,會出現類似底下這樣的畫面(如果沒有,請自行搜尋到該服務): 接著,請點選『頻道』,我們要讓這個bot可以被加入Teams中,請在頻道中把teams家進去,完成後類似底下這樣: 其實這樣該bot已經可以在Teams中使用了,但先別急,我們來看看這個bot目前是怎麼被設計的: 請在選單『組建』當中,找到開啟『線上代碼編輯器』: 點選後會出現底下這個Web畫面,基本上你可以在這個畫面中改你這隻Bot的程式碼,我們找到EchoDialog.cs: 然後把程式碼稍微改一下變成上面這樣: 完成後,請點選左側選單中的Open Console,然後下指令 build.cmd : 完成後,你修改的程式碼就生效了!!!!! 這時候先別急,我們回到azure管理站台,找到MS App Id,這個ID很重要,是我們待會測試bot所需的關鍵資訊: 找到之後,來到您的teams畫面,請在聊天選單中,點選下圖像是筆的那個圖示,在出現的『收件者』欄位中,輸入剛才你看到...