打造即時回應的AI聊天機器人 - 使用 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 聊天機器人
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 設定。