建立聊天流 Chatflow
聊天機器人會對話但沒有流程,工作流有流程但不會對話。聊天流(Chatflow)是兩者的合體:能記住上下文的多輪對話 × 節點編排的處理能力。前面學的所有招式,在這裡合而為一。
本章目標
- 要學什麼
- 理解 Chatflow 的概念,做出融合對話與流程的應用
- 學會的技能
- Chatflow 的結構、對話記憶的運作、會話變數與變數賦值、多模態輸入
- 能做出什麼
- 記得住顧客資訊的客服、需要暫存狀態的預約系統、多模態高機能聊天機器人
8.1為什麼最後才講 Chatflow?
因為它是集大成者。一條 Chatflow 裡可以同時出現:
- 第 3 章的知識檢索節點(查資料)
- 第 4 章的 Agent 節點與工具(執行動作)
- 第 6 章的問題分類器、條件分支、程式碼執行(流程控制)
- 再加上 Chatflow 獨有的對話記憶與會話變數
與工作流最大的差異:工作流跑完就結束;Chatflow 的「開始」節點自帶 sys.query(使用者這句話)與對話歷史,每一輪對話都會重新走一遍流程,但記憶延續。
8.2最小的 Chatflow:開始 → LLM → 直接回覆
建立方式:工作室 →「建立空白應用」→ 選擇「聊天流」(具有記憶的複雜多回合對話的工作流程)。畫布預設就給你三個接好的節點:
在 LLM 節點寫入 SYSTEM 提示詞(我們延續星光咖啡的世界觀):
你是「星光咖啡」的親切店員,用繁體中文與顧客閒聊並回答問題,語氣溫暖。 記住顧客在對話中提到的個人資訊(名字、喜好),並在之後的回答中自然運用。
重點
Chatflow 的 LLM 節點有一個工作流沒有的開關:「記憶」(預設開啟)。開啟後,之前幾輪的對話會自動附加到模型的上下文中,「記憶窗口」控制帶入幾輪——這就是 Chatflow「記得你」的原理。
Chatflow 的 LLM 節點有一個工作流沒有的開關:「記憶」(預設開啟)。開啟後,之前幾輪的對話會自動附加到模型的上下文中,「記憶窗口」控制帶入幾輪——這就是 Chatflow「記得你」的原理。
8.3實測:它真的記得
按「預覽」開啟對話面板,進行一段兩輪測試:第一輪自我介紹(「我叫小美,最喜歡焦糖瑪奇朵」),第二輪考它(「你還記得我叫什麼、喜歡喝什麼嗎?」):
8.4會話變數:更持久、更可控的記憶
LLM 的「記憶」只是把對話原文塞回上下文,輪數一多就會超出窗口。會話變數(Conversation Variables)是更工程化的方案——在整個會話期間存活的具名變數:
- 宣告變數畫布右上工具列的變數按鈕 →「會話變數」→ 新增,例如
customer_name(String)、favorite_drink(String)。 - 擷取並寫入在流程中加入「參數提取器」節點從對話擷取名字與喜好,接一個「變數分配器(變數賦值)」節點把值寫入會話變數。
- 隨處取用之後任何一輪對話、任何節點都能引用
conversation.customer_name——即使聊了一百輪也不會忘。
| LLM 記憶 | 會話變數 | |
|---|---|---|
| 原理 | 對話原文塞回上下文 | 具名變數持久保存 |
| 壽命 | 受記憶窗口限制 | 整個會話 |
| 精確度 | 模型自行理解,可能漏 | 寫入什麼就是什麼 |
| 適合 | 閒聊語境、短對話 | 訂單狀態、表單進度、使用者檔案 |
8.5多模態:讓對話收圖片與文件
Chatflow 的「功能」面板(右上角「功能」按鈕)可開啟圖片上傳與文件上傳。開啟後:
- 使用者上傳的檔案出現在
sys.files變數中。 - 圖片直接交給支援視覺的模型(Claude 全系列都支援)理解。
- 文件(PDF、Word)接一個「文件提取器」節點抽出文字,再交給 LLM——「上傳合約問重點」「上傳菜單問推薦」都是這個套路。
小技巧
進階範本可以參考首頁範本庫的「Question Classifier + Knowledge + Chatbot」:問題分類器先判斷來意,一路接知識檢索(查 FAQ)、另一路接一般 LLM(閒聊),最後都匯入直接回覆——這是客服 Chatflow 的標準架構,把第 3、6 章與本章全部串了起來。
進階範本可以參考首頁範本庫的「Question Classifier + Knowledge + Chatbot」:問題分類器先判斷來意,一路接知識檢索(查 FAQ)、另一路接一般 LLM(閒聊),最後都匯入直接回覆——這是客服 Chatflow 的標準架構,把第 3、6 章與本章全部串了起來。
8.6本章回顧
- Chatflow = 多輪對話 × 節點編排;結尾用「直接回覆」節點。
- LLM 節點的「記憶」開關讓對話自然延續;記憶窗口控制帶入輪數。
- 會話變數+變數賦值是工程級記憶:精確、持久、可在任何節點取用。
- 開啟功能面板的檔案上傳即獲得多模態能力;文件用文件提取器抽字。
應用做完了,接下來讓它走出 Dify——下一章用 API 把這些應用接進你自己的系統。