[玩具系列]快速建立一個Azure Bot Service 服務

Edward Kuo
Oct 11 · 5 min read
Image for post
Image for post

每次要幫小孩分辨玩具歸屬是一件很累人的事情,有時候自己又無法確定該玩具是屬於誰的(現在玩具實在太多種類~~),所以,避免家長自己搞錯,最好方式透過AI+BOT方式來幫助識別。

要建立一個Bot 服務,最簡單就是透過Azure的Web App Bot服務。首先在Market Place地方搜尋Web App Bot 就可以開始建立

Image for post
Image for post

把要建立Bot的資訊填好,選擇Echo Bot範本,如果想要更多功能的範本,可以選擇基本Bot,不過,目前我只想要做一個簡單回應互動訊息的Bot,使用Echo Bot範本就夠用了,就等待一點時間讓它建立吧

Image for post
Image for post

建立完成後,就可以到 Web App Bot開始建立Bot相關互動。

Image for post
Image for post

如果一開始本身自己電腦沒有相關BOT開發環境,就必須要先建立相關BOT開發環境,包含了BOT模擬器。可以在 Web App Bot的組建內可以取得相關開發資訊

Image for post
Image for post

當下載完原始碼,我會建議把裡面的Package更新一遍,然後就可以啟動服務並搭配模擬器做測試,如果用模擬器測試發生這個錯誤

Image for post
Image for post

把專案內的appsettings.json內的

  • MicrosoftAppId
  • MicrosoftAppPassword

這兩個值填入到模擬器ApplicationID和Application Password內

Image for post
Image for post

就可以解決掉上面問題。當問題解決後,要簡單測試一下訊息部分,主要會是在EchoBot.cs下面這一段處理,只要稍微修改這段程式碼,就可以測試你和Bot的訊息互動

處理相片資訊

上面提到,主要想要處理玩具的歸屬問題,所以,最重要部分就是需要先能把相片丟到Bot去處理,要分辨是否試圖檔、檔案或是文字,可以透過turnContext.Activity 屬性識別。如下圖就是一般文字

Image for post
Image for post

下圖就是具有檔案資訊的屬性,也可以透過turnContext.Activity 的ContentType識別是哪一種檔案

Image for post
Image for post

因為後續要做影像識別,必須將上傳的圖片進行處理,這邊比較快速的處理方式就是將使用者上傳圖片先暫時儲存後,再轉換成Binary方式。下面是先將收到的圖片檔案,放在一個暫時的區域,轉換成功後就將其刪除

而在OnMessageActivityAsync則修改成這樣

佈署程式

以上完成之後,就可以將系統佈署上傳到Azure Web App內,佈署成功後,就可以在Web App Bot那邊進行測試。這時候還未接其他平台的BOT的,所以就用上面的在 WebChat 中測試 做測試

Image for post
Image for post

後續只要將需要判斷或是橋接到其他BOT部分再加工。一個簡單交互訊息的Bot就這樣可以完成。而這邊有一個不好地方在於圖片需要落地,最好方式因該連圖片都不要落地,因該會更好

參考資料

EK.Technology Learn

Design,Thinking,Coding & have fun every thing

Edward Kuo

Written by

Enterprise IT Manager / Microsoft Regional Director / Microsoft MVP / DevOps Expert / Speaker, About me: https://profile.edwardkuo.dev/about/

EK.Technology Learn

Design,Thinking,Coding & have fun every thing

Edward Kuo

Written by

Enterprise IT Manager / Microsoft Regional Director / Microsoft MVP / DevOps Expert / Speaker, About me: https://profile.edwardkuo.dev/about/

EK.Technology Learn

Design,Thinking,Coding & have fun every thing

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store