你好!我是王啟樺 👋
上一期我們看了Dify的工作流架構,今天我們一起來讀讀「工作流節點描述」的文檔,深入了解工作流的核心組件及功能。
A. 節點是工作流的核心組件
工作流中的「節點 (Nodes)」是實現一系列操作的關鍵組件。透過連接不同功能的節點,工作流能夠高效執行各種操作,並且提升靈活性和效能。
節點的設計目的是:
支持「分解操作」,將大型任務分解為具體步驟。
增強系統的可解釋性、穩定性及容錯能力。
支持與大語言模型(LLM)的深度結合,以提升效能。
B. 核心節點的功能說明
以下是Dify提供的核心節點功能:
Start 節點
定義工作流啟動時的初始參數,確保每個工作流的起點明確。End 節點
定義工作流結束時的最終輸出內容,為整個流程畫下句點。Large Language Model (LLM) 節點
調用大語言模型來回答問題或處理自然語言,為複雜任務提供語義支持。Knowledge Retrieval 節點
從知識庫中檢索與用戶問題相關的文本內容,作為下游LLM節點的上下文。Question Classifier 節點
根據分類描述,選擇與用戶輸入匹配的分類結果,實現精準對應。IF/ELSE 節點
根據條件分支實現工作流的分流,處理不同的邏輯分支。Code Execution 節點
執行Python或NodeJS代碼,用於自定義邏輯,如數據轉換等操作。Template 節點
利用Python模板語言(Jinja2),靈活進行數據轉換及文本處理。Variable Aggregator 節點
整合多個分支中的變數,提供統一的下游配置。Variable Assigner 節點
用於將值賦予可寫變數,實現變數的動態操作。Parameter Extractor 節點
使用LLM從自然語言中推導結構化參數,用於後續的工具調用或HTTP請求。Iteration 節點
在列表物件上執行多個步驟,直至輸出完整結果。HTTP Request 節點
通過HTTP協議發送伺服器請求,用於檢索外部結果、生成影像等。Tools 節點
支持調用內建工具、自定義工具或子工作流,增強工作流靈活性。
這些節點共同構建了一個強大的工作流系統,讓自然語言處理與自動化流程完美結合。
啊,15分鐘到了,我們下一期繼續聊!