Skip to main content

以 Stream LLM Completion 打造即時回應的聊天機器人

在前一章中,我們已透過 LLM Completion 節點 建立了具備 AI 回應能力的聊天機器人。本章將進一步介紹更進階的節點 — Stream LLM Completion Message Processor,讓機器人的回應方式更加流暢,像「正在輸入文字」一樣逐字呈現。

那麼 LLM CompletionStream LLM Completion 有什麼不同呢?

🧠 LLM Completion v.s. Stream LLM Completion

在 Asgard 中,你可以使用兩種不同的方式來取得 AI 模型的回應結果:LLM CompletionStreaming LLM Completion。兩者的目標相同,都是讓機器人根據使用者輸入產生自然語言回覆,但在使用體驗與流程設計上有明顯差異:

LLM CompletionStream 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 StepSuccess 分支,選擇刪除與 LLM Completion 節點之間的連接。
  • 點選 LLM Completion 節點與前後節點之間的連接線,按下鍵盤的 DeleteBackspace 鍵進行刪除。
  • 也可以直接選擇 LLM Completion 節點,然後點擊刪除按鈕。

將解除串接後的 LLM Completion 節點 拖曳至流程下方的空白處暫時保留,便於整理與後續比較。

Brake Connection to LLM Completion

STEP 2:加入 Stream LLM Completion 自然語言節點方塊

接下來,我們將在流程中加入一個 Stream LLM Completion 節點,機器人將以 「逐字輸出」 方式顯示回應內容,模擬真人打字效果,讓系統根據使用者輸入自動生成回覆。

  1. 請點選 Listen Message 節點方塊右側的 Success 連接點,直接新增一個 Processor → Stream LLM Completion 節點

Add Stream LLM Completion Node

  1. 點選流程中的 Stream LLM Completion 節點方塊,進入編輯畫面。
  2. Completion Model 欄位中,從下拉選單選擇已建立的模型:gpt-4o-mini
  3. 接著設定以下欄位(可依需求調整):
  • Prompt(提示語):撰寫任務描述與回應背景
建議使用

Template(Advance) 取值方式帶入訊息內容

並在 Editor 框輸入以下內容:

一位聰明的聊天機器人, 負責用你一切的知識回答客戶的問題

* 這裡是你和客戶的對話內容:
```
{{{history 0 -1}}}
```

Filling Up Prompt

  • MaxToken:設定 MaxToken 為 4096,有助於控制模型的輸出長度,避免回應過長導致錯誤;如設為 0 可模擬 LLM Failure 情境(超出 token 限制)。
  • Await:可設定是否等待輸出完成再執行下一步,本教學可勾選。

請點選右上方 💾 Save 儲存 按鈕,確保完成 Stream LLM Completion 設定。

Step 3:連接 Stream LLM completion 節點回 Listen Message

info

由於 Streaming LLM completion 節點已內建回覆功能(具備輸出訊息的能力),無需額外串接 Push Message 節點

請執行以下操作我們需要將流程重新導回 Listen Message 節點,讓流程在完成一次 AI 回覆後,自動返回等待使用者輸入的狀態,形成一個持續互動的循環。無論持續幾輪對話,機器人都能即時回應,提供連貫的對話體驗。

請依以下方式完成連線設定:

  1. 成功回應節點:
    • 點選 Stream LLM Completion 右側的 Success 連接點
    • 將其連回至 Listen Message 節點左側輸入點
  2. 錯誤處理節點(錯誤提示的 Push Message):
    • 點選 Stream LLM Completion 右側的 Failure 連接點
    • 連至 Push Message 節點(錯誤提示)左側輸入點,再將其右側的 Success 連接點一樣連回至 Listen Message 節點左側輸入點

Finalize Success and Failure Connection

完成設定:執行工作流程

設定完成後,請點選畫面左下方的 ▶️ Preview 按鈕,啟動整個工作流程。

執行後,畫面將跳出對話訊息視窗,系統會先回覆預設訊息:「Hello」。

請在對話框中輸入任意訊息並送出,機器人將透過 Stream LLM 模型即時產生回應,回覆內容將以「逐字輸出」的方式呈現,模擬真人打字效果。

例如,你輸入:一年有幾個月?

機器人將回覆:一年有 12 個月。

這表示你的 AI Chatbot 已成功整合對話輸入、AI 回應與訊息輸出,具備流暢的互動能力。

接下來,你可以依據實際需求進一步擴充邏輯條件、多輪對話處理,或加入上下文記憶,打造更完整的智慧型聊天體驗。

▶️ 下一步

完成本章練習後,你已具備建立即時回應能力的 AI 聊天機器人流程的基礎。接下來,你可能會思考:

我該如何把聊天機器人部署至真實環境中,讓使用者可以透過 LINE、Slack 等聊天服務或自訂介面與它互動?

Asgard 提供了兩種主要的整合方式:

一是將機器人串接至可快速啟用的通訊平台(如 LINE、Slack、Discord);另一是使用 Generic 模式,打造完全自定義的前端聊天介面,實現打字特效與完整控制。

▶️ Integrate Your Bot: Platform vs. Custom

透過適合的整合方式,你可以讓剛剛建立的 AI Chatbot 真正走入實際應用場景,提供使用者穩定、即時且自然的互動體驗。