對 AI 能做什麼感到好奇嗎?來學習製作一個 AI 聊天機器人吧
Asgard 能與 AI 模型整合,創造更強大的自動化流程。這篇教學將引導你建立一個簡單的 AI 聊天代理人,讓你了解如何連結 OpenAI 並發送提示語。
📝 實作練習:製作 AI 聊天機器人
使用節點
在本練習中,我們將進一步操作 LLM Completion(大型語言模型推論) 節點,以實作方式引導你完整設定並測試一個 LLM 節點流程,並透過 LLM 模型產生並回覆對應的 AI 生成內容。
STEP 0:開啟 Echo Bot 工作流程
請先打開上次建立的 Echo Bot 工作流程,作為本練習的基礎。
👉 回到 使用 Expression 建立 Echo 機器人
STEP 1:斷開 Push Message & Listen Message 串接
請先移除原本 Listen Message 節點
與後方 Push Message 節點
之間的連線,有以下兩種移除方式:
方法一
點選連接線後,按下鍵盤上的 Delete
或 Backspace
鍵,即可刪除該連線。
方法二
點選 Listen Message
進入編輯,於 Next Step
的 Success 分支
,選擇刪除與 Push Message 節點
之間的連接。
STEP 2:加入 LLM Completion 節點方塊
要讓機器人具備 AI 聊天能力,關鍵在於引入 LLM Completion 節點,讓系統根據使用者輸入自動生成回覆。接下來,我們將在流程中加入一個 LLM Completion 節點,透過 AI 生成回應內容。此步驟將建立整個 AI Chatbot 的回應邏輯核心,後續將透過提示語(Prompt)與表達式(Expression)來驅動 LLM 的輸出。
- 請點選 Listen Message 節點方塊右側的 Success 連接點,直接新增一個 Processor → LLM Completion 節點。
- 節點新增後,點選 LLM Completion 方塊進入編輯畫面,將 Description(描述) 欄位修改為:「AI response expression」,以利後續辨識用途。
STEP 3:新增 Completion Model 模型設定
在使用 LLM Completion 節點
之前,必須先完成 Completion Model(模型設定)
,以便系統能正確連線至大型語言模型(如 GPT-4)。
請依下列步驟完成模型設定:
- 點選左側選單中的 Settings 分頁,進入設定介面。
- 在 Completion Model 區段中,點選
+ Add
以新增一個新的模型設定。 - 請依照以下資訊填寫欄位內容:
- Name:
gpt-4o-mini
- Model Provider:
OpenAI Chat Completion
- Model Name:
gpt-4o-mini-2024-07-18
- API Key:請向助教索取
- Endpoint:可留空(若無特殊需求)
- Name:
本次練習選用 gpt-4o-mini
為模型,您也可以根據實際需求選擇其他支援的模型版本,詳見平台支援清單。
完成後,請點選 💾 Save(儲存)
按鈕,確保模型設定已成功建立。
STEP 4:LLM Completion 節點方塊
完成模型設定後,接下來點選左側選單中的 Workflow 分頁
回到流程,設定 LLM Completion
節點的細節,讓 AI 能根據輸入產生回應。
- 點選流程中的
LLM Completion 節點
方塊,進入編輯畫面。 - 在
Completion Model 欄位
中,從下拉選單選擇剛剛建立的模型:gpt-4o-mini
- 接著設定以下欄位(可依需求調整):
- Prompt(提示語):撰寫任務描述與回應背景
建議使用 Template(Advanced) 模式,動態帶入訊息內容
在 Editor 框輸入內容如下:
你是一位聰明的聊天機器人, 負責用你一切的知識回答客戶的問題
* 這裡是你和客戶的對話內容:
```
{{{ history 0 -1 }}}
```
📌 如何使用 history(start, end)
打造具上下文理解能力的工作流程,取得完整對話紀錄?
若你想進一步了解更多進階功能,歡迎參考以下延伸內容:
-
Output Schema:用於定義 LLM Completion 節點回傳資料的格式。如果你希望系統輸出符合特定資料結構,可在此欄位輸入對應的 JSON Schema;若無特定需求,也可保留空白。
建議操作方式:
-
在JSON輸入區中輸入以下範例 JSON:
{"answer": "這是AI回覆內容"}
-
系統將自動產生對應的 JSON Schema,例如:
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "你所要回答客戶的答案"
}
},
"required": [
"answer"
]
} -
回到 LLM Completion 節點 的設定畫面,找到 Output Schema 欄位。將你在上一步使用工具產生的 JSON Schema 複製後,貼入該欄位的 Editor 編輯區 中。
- Max Token:設定 Max Token 有助於控制模型的輸出長度,避免回應過長導致錯誤,或佔用過多資源。本練習設為
4096
,如設為0
可模擬 LLM Failure 情境(超出 token 限制)
完成以上設定後,請點選右上方 💾 Save 儲存 按鈕,確保 LLM Completion 已設置完成。
當 LLM Completion 節點執行時,若遇到如 Token 限制超出(Context Window Overflow)、API 金鑰錯誤、或 OpenAI 帳戶未啟用計費 等情況,將會觸發 failure
路徑。這使你可以設計替代訊息、錯誤提示或自動重試機制等流程。
若你想進一步了解更多處理方式,歡迎參考:LLM Completion 常見錯誤與處理建議
STEP 5:Push Message 節點方塊 回應AI生成內容與錯誤訊息
我們將分別處理成功回應與錯誤情況,為兩種情境各自設置一個Push Message 節點
。
✅ 成功(Success)路徑的 Push Message 節點:
- 請點選
LLM Completion 節點
方塊右側的Success 連接點
。 - 直接新增一個
Processor → Push Message 節點
。 - 節點新增後,點選
Push Message 方塊
進入編輯畫面,將Description(描述)欄位
修改為:「answer Message」
,以利後續辨識用途。 - 設定值的取值方式選用
Template(Advanced) 模式
,並在 Editor 框輸入內容:{{{answer}}}
❌ 失敗(Failure)路徑的 Push Message 節點:
- 點選
LLM Completion 節點
方塊右側的Failure 連接點
。 - 同樣新增一個
Processor → Push Message 節點
- 進入該節點後,在
Message 欄位
輸入錯誤提示文字或動態錯誤資訊,例如:很抱歉,AI 回應失敗,請稍後再試。
- 節點新增後,點選
Push Message 方塊
進入編輯畫面,將Description(描述) 欄位
修改為:「錯誤提示訊息」
以便區分用途
完成設定後,請點選右上方 💾 Save 儲存
按鈕,確保 Push Message
已設置完成。
STEP 6:將 Push Message 的 Success 節點接回 Listen Message
為了讓使用者在每次收到回應後,能夠持續進行下一輪對話,我們需要將流程重新導回 Listen Message 節點
,讓流程在完成一次 AI 回覆後,自動返回等待使用者輸入的狀態,形成一個持續互動的循環。無論對話持續幾輪,機器人都能即時回應,提供連貫的對話體驗。
請依以下方式完成連線設定:
成功回應節點(AI 回覆的 Push Message)
- 點選其右側的
Success 連接點
- 將其連回至
Listen Message 節點
的左側輸入點
錯誤處理節點(錯誤提示的 Push Message)
- 同樣點選其右側的
Success 連接點
- 一樣連回至
Listen Message 節點
的左側輸入點
STEP 7:執行工作流程
設定完成後,請點選畫面左下方的 ▶️ Preview 按鈕
,啟動整個工作流程。
執行後,畫面將跳出對話訊息視窗,系統會先回覆預設訊息:「Hello」
。
請在對話框中輸入任意訊息並送出,機器人將透過 LLM 模型產生並回覆對應的 AI 生成內容。
例如,你輸入:一年有幾個月?
機器人將回覆:一年有 12 個月。
完成
這表示你的 AI Chatbot 已成功整合對話輸入、AI 回應與訊息輸出,具備基本的互動能力。
接下來,你可以依據實際需求進一步擴充邏輯條件、多輪對話處理,或加入上下文記憶,打造更完整的智慧型聊天體驗。
- LLM Completion 節點:具有
success
與failure
兩種輸出路徑,可用於處理推論過程中的錯誤(如 API 失敗、Token 超限等)。 - Prompt 提示語設計:撰寫任務說明與背景資訊,提升回應品質。
- 使用 Expressions:透過表達式動態傳入變數或內容,提升流程靈活性。
- Max Tokens 限制:本次設為
4096
,若將其設為0
可模擬 LLM Failure 的錯誤處理情境。
▶️ 下一步
如果你希望讓聊天機器人的回應更貼近真人輸入的體驗,建議繼續閱讀下一章:
我們將介紹如何讓 AI 回覆以「逐字顯示」的方式呈現,並說明 Await 設定對流程控制的影響。