Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[chatbot + AI = 下一代操作模式][09]使用IDialog來實現SoC

[chatbot + AI = 下一代操作模式][09]使用IDialog來實現SoC.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([08]如何微調FormFlow讓使用上更流暢)介紹完FormFlow之後,我們需要回來看一下目前最大的問題,也就是程式碼都寫在一隻RootDialog裡面。

Bot Builder SDK有考慮到這件事情,因此内建用IDialog來解決這個問題。

這篇來看看IDialog怎麽做到SoC (Seperation of Concern)。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-09

看全文>>


[chatbot + AI = 下一代操作模式][08]如何微調FormFlow讓使用上更流暢

[chatbot + AI = 下一代操作模式][08]如何微調FormFlow讓使用上更流暢.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([07]使用FormFlow讓Chatbot搜集表單資訊更容易)我們瞭解了如何透過使用建立Model然後搭配FormFlow的方式讓我們的chatbot可以從使用者那邊搜集到表單類型的資訊。

不過我們也開始遇到一些問題,舉例來説,欄位名稱是英文,如果中途退出就gg了等等的細節問題。這些問題需要我們對Model或者FormFlow建立的時候做一些調整。

這篇將和大家介紹一下,如何做這些調整。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-08

看全文>>


[chatbot + AI = 下一代操作模式][07]使用FormFlow讓Chatbot搜集表單資訊更容易

[chatbot + AI = 下一代操作模式][07]使用FormFlow讓Chatbot搜集表單資訊更容易.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([06]不只能輸出文字 - 看看各種内建卡片模式以及可自定的Adaptive Card)介紹了如何透過Rich Card把bot輸出的内容變成更加漂亮的卡片樣式。

到目前爲止,所有的邏輯都在一起,作爲開發人員會開始覺得程式碼已經開始有些味道了(smell)了。如果今天我們想要透過交談對話中取得一些使用者的資訊,例如填寫表單,那可以想象要寫更多的if/else來處理。感覺程式碼會更加臟。

還好Bot Builder SDK在表單類型的溝通有一個模組叫做FormFlow,在這一篇將來介紹如何使用FormFlow來設計從使用者收集資料。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-07

看全文>>


[chatbot + AI = 下一代操作模式][06]不只能輸出文字 - 看看各種内建卡片模式以及可自定的Adaptive Card

不只能輸出文字 - 看看各種内建卡片模式以及自定的Adaptive Card.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([05]深入IDialogContext - 處理上下文、對外的聯係和state)看了IDialogContext的作用以及如何用3個主要作用的state的部分來儲存使用者相關的訊息。

到目前爲止我們的機器人回復的内容都是文字。如果今天我的内容比較豐富,例如有圖片+文字怎麽辦?有沒有更好的呈現方式。

這篇將來看看Activity裡面的Attachment搭配Card呈現多元樣式的概念。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-06

看全文>>


[chatbot + AI = 下一代操作模式][05]深入IDialogContext - 處理上下文、對外的聯係和state

[chatbot + AI = 下一代操作模式][05]深入IDialogContext - 處理上下文以及對外的聯係.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([04]瞭解Bot Builder SDK的組成)完整看了EchoBot的程式碼組成,并且瞭解了Bot Builder SDK一些常見的物件。并且依照所學調整了部分程式碼。

這一篇將會聚焦在其中一個管理上下文以及對來連綫的物件IDialogContext

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-05

看全文>>


[chatbot + AI = 下一代操作模式][04]瞭解Bot Builder SDK的組成

[chatbot + AI = 下一代操作模式][04]瞭解Bot Builder SDK的架構.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([03]建立第一個chatbot - EchoBot)透過使用Project Template建立出一個EchoBot出來,并且透過了bot emulator瞭解了如何和chatbot做測試。

這篇將會深入一些,看看Bot Builder SDK的組成以及一些比較重要的class。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-04

看全文>>


[chatbot + AI = 下一代操作模式][03]建立第一個chatbot - EchoBot

[chatbot + AI = 下一代操作模式][03]建立第一個chatbot - EchoBot.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([02]微軟的Bot Framework是什麽?)以一個high level的角度看了微軟的Bot Framework的CaaP解決方案,接下來就要看看細節的地方。

這篇將會以建立一個chatbot的hello world來看看開發chatbot會用到什麽工具,并且整體的感受是如何。

這篇的程式碼github頁面是alantsai-samples/mhat-hotelbot:blog/chapter-03

更新歷程

2019/04/07
修正Project Template的網址 - 已經不能夠從marketplace下載到V3 Template的vsix,要從github。

看全文>>