發表文章

目前顯示的是 9月, 2024的文章

使用 Dify 串接 LINE Bot

圖片
一開始寫這篇文章的時候,我有點困擾。 到底這一篇我到底該命名 『使用 Dify 串接 LINE Bot』 ,還是 『使用 LINE Bot 串接 Dify』?? 但我想,反正你應該知道我的意思,本文就是討論如何把兩者串在一起。 如果不熟悉 Dify ,本篇文章的前面還有兩邊文章你可以簡單的介紹了一下,所有連結位置在底下: https://studyhost.blogspot.com/search?q=dify 總的來說(我20年前就這麼說話了,最近有人說AI很喜歡說『總的來說』,但顯然是AI學我的),我們可以在 Dify 裡面設計一個類似底下這樣的 workflow,他可以是一個簡單的對談聊天機器人,也可以是串接到後端HR請假系統,可以協助企業進行請假的 AI 助理: 顯而易見,使用 Dify 的好處很多。而在這邊它對我們來說,意義上是一個所視即所得的 Chat Bot(AI助理)設計平台,你可以在 Dify 中先把對談流程設定好,並且進行測試。 設計初步完善之後,我們可以透過Dify API來進行串接,例如串接到 Teams Bot或是LINE Bot。API的部分我們之前在 這一篇 介紹過。 由於Dify內建處理了對談前後文與記憶的部分,並且可以直接串接OpenAI的API(或是其它LLM亦可,同時也便於抽換),這讓我們開發 AI 助理輕省不少。 這也是我覺得 Dify 作為一個 LLMOps 開發平台(Platform)應該算是當之無愧的原因了。 串接到 LINE Bot 那在Dify上開發測試完之後,我們當然希望能夠整合在 LINE Bot(或是隨便其它什麼 Bot)上面。前面說過,由於 Dify 有提供一組API,我們可以透過該API輕易地進行串接,API的部分,我們在先前 這一篇 介紹過。因此,我們底下要更進一步,談談如何實際跟 LINE Bot 整合在一起。 其實架構上不複雜,我們只需要建立一個 LINE Bot 的 WebHook ,並且在其中呼叫 Dify API即可: 也就是上圖中,紅色虛線框起來的這一段。 這部分該如何進行呢? 倒也容易,我們看底下 WebHook 的部分: var responseMsg = "" ; //準備回覆訊息 if ( LineEvent != n...

在 Power Automate Desktop 中運行 Python

圖片
我是覺得 Power Automate Desktop 本身已經很強,過去幾年,MS推過這類 no code/low code 產品N次,但就像我有位好朋友才剛剛說的:『你早人家一步是先知,早人家兩步往往是烈士!』一個產品要獲得最後的成功,總是得蒐集齊了天時、地利、與人和。 我覺得這次 Power Automate Desktop 算是做得很不錯,actions 的數量和生態系頗好。我最近也幫不少企業做了 Power Automate Desktop 的教育訓練。 然而今天,居然差點被學員的一個小問題給考倒了。 有位學員碰到一個我覺得頗簡單的情境,希望能夠在 Power Automate Desktop 的流程運行中計算一個字串變數的長度。我想說這個隨便哪一種語言都能做的功能,Power Automate Desktop應該可以吧,結果,找了半天,竟然沒有!!! Power Automate Desktop中,字串相關的 actions 清單在底下: 文字動作參考 - Power Automate | Microsoft Learn 還真的沒有。 怎麼辦? 身為程式設計師的想法當然是–>那我寫 code 總可以了吧。 找到了 Run Python Script 的 action: 用的時候發現,寫code是很容易,但怎麼把變數傳進去和把計算結果傳出來,倒是花了我一點時間。原來,run python script 居然可以透過 print 來把運行結果傳出來,所以,底下這段指令可以取得 UserInput 字串,並且透過運行 Python Code 取得長度,最後設定在 PythonScriptOutput 變數中: 如此一來,不只可以取得字串長度,基本上你想幹什麼都行。底下透過三個action做一個示範,讓用戶輸入文字,然後透過 python 計算該文字的長度,最後透過對話視窗顯示出來: 最後,整個流程完整的 script 設計如下: 結果,no code solution 還是透過 code 解決了問題 🤣 後記: 這篇其實主要是想介紹在RPA中透過 Run Python Script 來實現系統中可能無法直接提供的功能。但基於RPA的精神,還是應該少寫一點code比較好。 因此,網友提供了一個比較標準的作法,可...