以 Stream LLM Completion 打造即時回應的聊天機器人
在前一章中,我們已透過 LLM Completion 節點
建立了具備 AI 回應能力的聊天機器人。本章將進一步介紹更進階的節點 — Stream LLM Completion Message Processor
,讓機器人的回應方式更加流暢,像「正在輸入文字」一樣逐字呈現。
那麼 LLM Completion
和 Stream LLM Completion
有什麼不同呢?
🧠 LLM Completion v.s. Stream LLM Completion
在 Asgard 中,你可以使用兩種不同的方式來取得 AI 模型的回應結果:LLM Completion 與 Streaming LLM Completion。兩者的目標相同,都是讓機器人根據使用者輸入產生自然語言回覆,但在使用體驗與流程設計上有明顯差異:
LLM Completion | Stream LLM Completion | |
---|---|---|
回應方式 | 一次性輸出整段內容 | 像「打字機」逐字輸出 |
節點需求 | 需搭配 Push Message 節點輸出回應內容 | 已內建訊息輸出功能 |
Output Schema | 建議填寫,方便後續節點引用 | 不需填寫 |
使用情境 | 適合處理完整結構化回應、條件邏輯等 | 適合提升對話自然感、即時互動體驗 |
流程控制(Await) | 無等待選項,流程接續按邏輯執行 | 可設定是否等待輸出完成再執行下一步(Await: true/false ) |
- AI 回覆內容(如條件判斷、寫入資料庫)需進一步處理 → LLM Completion + Output Schema
- 希望回應自然、即時,提升使用者體驗 → Stream LLM Completion
📝 實作練習:打造即時回應的聊天機器人
STEP 0:開啟 AI ChatBot 工作流程
請先打開上次建立的 AI ChatBot 工作流程
,作為本練習的基礎。
👉 回到 對 AI 能做什麼感到好奇嗎?來學習製作一個 AI 聊天機器人吧
STEP 1:斷開 LLM Completion 前後的串接
採用以下方法之一刪除與 LLM Completion 節點
之間的連接:
- 於
Next Step
的Success 分支
,選擇刪除與LLM Completion 節點
之間的連接。 - 點選
LLM Completion 節點
與前後節點之間的連接線,按下鍵盤的Delete
或Backspace
鍵進行刪除。 - 也可以直接選擇
LLM Completion 節點
,然後點擊刪除按鈕。
將解除串接後的 LLM Completion 節點
拖曳至流程下方的空白處暫時保留,便於整理與後續比較。
STEP 2:加入 Stream LLM Completion 自然語言節點方塊
接下來,我們將在流程中加入一個 Stream LLM Completion 節點
,機器人將以 「逐字輸出」 方式顯示回應內容,模擬真人打字效果,讓系統根據使用者輸入自動生成回覆。
- 請點選
Listen Message 節點
方塊右側的Success 連接點
,直接新增一個Processor → Stream LLM Completion 節點
。
- 點選流程中的
Stream LLM Completion 節點
方塊,進入編輯畫面。 - 在
Completion Model 欄位
中,從下拉選單選擇已建立的模型:gpt-4o-mini
- 接著設定以下欄位(可依需求調整):
- Prompt(提示語):撰寫任務描述與回應背景
Template(Advance) 取值方式帶入訊息內容
並在 Editor 框輸入以下內容:
一位聰明的聊天機器人, 負責用你一切的知識回答客戶的問題
* 這裡是你和客戶的對話內容:
```
{{{history 0 -1}}}
```
- MaxToken:設定 MaxToken 為
4096
,有助於控制模型的輸出長度,避免回應過長導致錯誤;如設為0
可模擬 LLM Failure 情境(超出 token 限制)。 - Await:可設定是否等待輸出完成再執行下一步,本教學可勾選。
請點選右上方 💾 Save 儲存
按鈕,確保完成 Stream LLM Completion 設定。
Step 3:連接 Stream LLM completion 節點回 Listen Message
由於 Streaming LLM completion 節點
已內建回覆功能(具備輸出訊息的能力),無需額外串接 Push Message 節點。
請執行以下操作我們需要將流程重新導回 Listen Message 節點
,讓流程在完成一次 AI 回覆後,自動返回等待使用者輸入的狀態,形成一個持續互動的循環。無論持續幾輪對話,機器人都能即時回應,提供連貫的對話體驗。
請依以下方式完成連線設定:
- 成功回應 節點:
- 點選
Stream LLM Completion
右側的Success 連接點
- 將其連回至
Listen Message 節點
的左側輸入點
- 點選
- 錯誤處理節點(錯誤提示的 Push Message):
- 點選
Stream LLM Completion
右側的Failure 連接點
- 連至
Push Message 節點(錯誤提示)
的左側輸入點
,再將其右側的Success 連接點
一樣連回至Listen Message 節點
的左側輸入點
- 點選
完成設定:執行工作流程
設定完成後,請點選畫面左下方的 ▶️ Preview 按鈕
,啟動整個工作流程。
執行後,畫面將跳出對話訊息視窗,系統會先回覆預設訊息:「Hello」。
請在對話框中輸入任意訊息並送出,機器人將透過 Stream LLM 模型即時產生回應,回覆內容將以「逐字輸出」的方式呈現,模擬真人打字效果。
例如,你輸入:「一年有幾個月?」
機器人將回覆:「一年有 12 個月。」
這表示你的 AI Chatbot 已成功整合對話輸入、AI 回應與訊息輸出,具備流暢的互動能力。
接下來,你可以依據實際需求進一步擴充邏輯條件、多輪對話處理,或加入上下文記憶,打造更完整的智慧型聊天體驗。
▶️ 下一步
完成本章練習後,你已具備建立即時回應能力的 AI 聊天機器人流程的基礎。接下來,你可能會思考:
我該如何把聊天機器人部署至真實環境中,讓使用者可以透過 LINE、Slack 等聊天服務或自訂介面與它互動?
Asgard 提供了兩種主要的整合方式:
一是將機器人串接至可快速啟用的通訊平台(如 LINE、Slack、Discord);另一是使用 Generic 模式
,打造完全自定義的前端聊天介面,實現打字特效與完整控制。
▶️ Integrate Your Bot: Platform vs. Custom
透過適合的整合方式,你可以讓剛剛建立的 AI Chatbot 真正走入實際應用場景,提供使用者穩定、即時且自然的互動體驗。