身為 LAE(LINE API Expert) 與 LINE 的支持者,既然知道透過Semantic Kernel可以快速的開發對談機器人,那當然要嘗試用在 LINE Bot的開發上。 先前我們 介紹過 如何使用 Semantic Kernel 來開發一個支援記憶與對話前後文、可以用自然語言進行請假的對談機器人,但當時的架構是在 console 環境,負責記憶處理的 ChatHistory 是可以被長時間保存的實體物件,但換成了LINE Bot開發的WebAPI架構,一切就變的有所不同了。 首先,由於ChatHistory物件會隨著WebAPI行程消失而遺失,且我們的LINE Bot還得面對多個用戶,因此也無法簡單的用一個 ChatHistory 物件就保存所有用戶的對話紀錄。所以我們要做一些調整,為每一位用戶建立一個自己的ChatHistory物件。 因此,我們在 WebAPI 中撰寫了底下這樣的程式碼: static Dictionary<string, ChatHistory> ChatHistoryByUser = new Dictionary<string, ChatHistory>(); private ChatHistory getHistoryFromStaticRepo(string UserId) { if (ChatHistoryByUser.ContainsKey(UserId)) return ChatHistoryByUser[UserId]; else return new ChatHistory(); } private void saveHistory(string UserId, ChatHistory chatHistory) { if (ChatHistoryByUser.ContainsKey(UserId)) ChatHistoryByUser[UserId] = chatHistory; else ChatHistoryByUser.Add(UserId, chatHistory); } 這段程式碼以靜態方式儲存ChatHistory物件的Dictionary,搭配 getHistoryF
留言
期待更多silverlight3.0的相關資訊跟心得
只能看著畫面猜老師在說什麼
放心, 以後應該還會有其他的機會介紹SL 3.0, 未來我也會在BLOG上整理出相關的資料...
Hi Billson,
真是不好意思,讓您得要看圖猜故事...^_^
不知道您有沒有 "舉手" 問那為Event Manager Renee,在參與Live Meeting有線路或其他問題的時候, 可以 "舉手", 有一位Event Manager會幫您處理, 其實還蠻好玩的...^^
Anyway, 相關的範例和Demo我會整理後放Blog上, 再給大家參考...^_^
其實, 我發現線上的研討會雖然方便成本又低, 但是頻寬和畫面的流暢度依舊不是很完美, 不過, 能夠這麼低的成本broadcast到全世界給每一個參與者, internet與科技的進步和幫助就此展現...
善用這些科技相信應該對大夥還是有蠻大的幫助的...也許, 未來我也會嘗試自己辦一些這樣的場次, 應該還挺有趣的...
謝謝你的支持與鼓勵^_^
因為我最近寫了一個silverlight的應用程式,他是使用WCF服務去連結資料庫,可是我把它封裝好的.xap檔與asp.net結合放到IIS6上跑,他卻無法連到sql server,
不知道問題出在哪裡?