全部產品
Search
文件中心

Platform For AI:工作流程節點參考

更新時間:Apr 11, 2026

本文介紹LangStudio工作流程應用開發中的AI能力節點,包括流程式控制制、大模型、Python開發、Agent、知識庫檢索、文檔解析、語音辨識、連網搜尋等預置組件的配置和使用方法。

流程式控制制

開始(Start)

說明

一個應用流中只能有一個開始節點。

開始節點用於標識應用流的運行起始狀態,並可以配置應用流的輸入參數。

  • 對於對話型應用流,系統會預設提供對話歷史和對話輸入兩個預設欄位,您可以根據需求添加自訂變數(支援定義類型為File的輸入變數,用於接收使用者上傳的檔案,詳見檔案類型輸入輸出)。

    image

  • 在運行應用流時,通過對話面板配置當前會話的輸入參數。

    image

條件分支(Condition

該節點主要用於流程式控制制。主要實現if-else邏輯,若設定的條件成立則僅運行對應的分支,若均不成立則運行else分支。需搭配工作流程應用開發節點使用。

  • 配置介面

    image

  • 輸入(Input)

    配置分支條件時,需注意:

    • 每個分支代表一個執行路線,最後一個分支為else分支,代表沒有匹配到任何分支,不可編輯。

    • 每個分支可包含多個條件,條件之間支援and/or彙總。

    • 注意上遊節點輸出、匹配符(如=為空白不包括等)以及匹配值,以確保條件的準確性和有效性。

  • 輸出(Output)

    無輸出。

  • 使用案例

    在串連條件分支組件與下遊節點時,每個分支在組件上都有一個對應的連線連接埠。當某個分支條件被觸發時,該分支將執行串連的下遊節點,而其他分支節點則會被跳過。之後,可以通過工作流程應用開發組件收集各個條件分支的執行結果(即下遊節點的輸出)。

    image

變數彙總(Variable Aggregate

該節點負責整合不同分支的輸出結果,確保無論哪個分支被執行,其結果都能通過一個統一的變數來引用和訪問。這在多分支的情況下非常有用,可將不同分支下相同作用的變數映射為一個輸出變數,避免下遊節點重複定義。

  • 配置介面

    image.png

  • 輸入(Input)

    組態變數分組時,需注意:

    • 上遊一般是工作流程應用開發/工作流程應用開發產生的多個執行分支。

    • 同一分組中變數必須同類型,第一個非空輸出值即為該組的輸出。

    • 由於條件分支/意圖識別僅會觸發一個分支,所以每組有且僅有一個非空值,通過變數彙總節點即可提取出該值,方便下遊使用。

    • 如果每個條件分支/意圖識別的分支有多個需要的輸出,可以添加多個分組,分別提取對應輸出值。

  • 輸出(Output)

    輸出變數會根據所添加的分組進行動態調整。如果存在多個分組,節點將輸出多個索引值對(Key-Value),其中,Key為組名,Value為組內第一個非空的變數值。

  • 使用案例

    請參見工作流程應用開發組件的使用案例。

迴圈(Loop)

迴圈節點用於執行需要依賴前一輪結果的重複任務,直至滿足允出準則或達到預設的最大迴圈次數。在迴圈節點內,可以配置一個子流程,系統會根據迴圈變數重複執行子流程中的邏輯,直到觸發終止條件或達到執行次數上限。

  • 配置介面

    image

  • 輸入(Input)

    • 迴圈變數:用於在迴圈的各個輪次間傳遞資料,並在迴圈結束後繼續供下遊節點使用。支援配置多個迴圈變數,其值可以手動輸入或從上遊節點的輸出中選擇。

    • 迴圈允出準則:可基於迴圈變數進行配置,當指定的迴圈變數滿足預設條件時,迴圈將終止。

    • 最大迴圈次數:用於限制迴圈的最大執行次數,以防止出現無限迴圈。

  • 輸出(Output)

    節點輸出為當前迴圈執行之後迴圈變數的值。只有通過變數賦值節點才能更新迴圈變數,如果沒有該節點,經過N輪迴圈後,迴圈節點的輸出將仍然保持為初始輸入。

  • 相關節點

    迴圈相關的節點僅限在迴圈內使用。您可以通過單擊迴圈內指定節點右側的“+”來添加以下相關節點:

    • 退出迴圈(Break Loop)

      退出迴圈,上遊一般是工作流程應用開發節點。

    • 變數賦值(Variable Assigner)

      將迴圈內子節點輸出結果賦值給迴圈變數。

    image

直接輸出

直接輸出節點可以通過輸出模板配置直接回複的訊息內容,它支援使用 {{node.variable}} 文法引用上遊節點的輸出,支援流式輸出。

使用樣本:在大模型節點前,增加直接輸出節點,先返回一條訊息給使用者。

image

image

批處理

批處理節點用於對列表資料進行批量平行處理,每個列表元素都會經過相同的子流程定義進行處理,通過平行處理可顯著提升處理效率。

輸入

  • 輸入列表:待處理的資料列表,列表內每個元素將作為一個獨立的處理項,分發到批處理體內的子流程執行。

  • 輸出欄位:選擇批處理子流程內的某個節點的輸出變數,作為批處理任務的輸出結果。

  • 並行數量:選填,用於控制同時執行的任務數,預設值為4,取值範圍為1~10。

輸出

result:所有批處理任務的輸出結果清單,彙總了批處理節點輸入中所填寫“輸出欄位”的實際輸出值。

相關節點

批處理開始節點

批處理開始節點(Batch Start)是批處理體的入口,提供以下輸出變數供子流程中的後續節點引用:

  • item:當前正在處理的資料項目,對應輸入列表中的一個元素

  • index:當前資料項目在輸入列表中的索引位置(從 0 開始)

退出批處理節點

退出批處理節點(Batch Break)用於在滿足特定條件時,提前終止當前資料項目的處理流程。

注意事項:退出批處理僅終止當前迭代的執行,不影響其他資料項目的正常處理。

使用樣本

批量檔案解析與智能處理

情境:企業需要批量解析多個文檔檔案,對解析成功的文檔調用大模型進行內容處理,解析失敗的文檔自動跳過。

批處理節點配置

參數

配置值

說明

輸入列表

開始節點 / files

引用上遊節點輸出的檔案清單

輸出欄位

大模型 / output

選擇大模型節點輸出的output欄位作為批處理節點的輸出

並行數量

4

同時處理 4 個檔案

image.png

輸出結果樣本

{
  "result": [
    "本文檔為XX產品使用說明書,主要包含產品功能介紹、安裝步驟...",
    "本合約為軟體服務採購合約,合約期限為12個月...",
    null,
    "加值稅普通發票,開票日期2026年1月15日..."
  ]
}

說明:輸出結果中 null 表示該檔案解析失敗,通過退出批處理節點跳過了後續處理。

注意事項

  1. 結果順序保證:輸出結果清單的順序與輸入列表順序一致。

  2. 子流程靈活性:子流程內部,不同資料項目可能觸發不同的執行路徑。

  3. 空值處理:若某個執行流程提前退出,或實際輸出為空白,批處理輸出結果的對應位置將為空白值。

結束(End)

結束節點用於標識應用流(Workflow)的運行結束狀態,以及應用流的輸出參數。一個應用流中只能有一個結束節點。

  • 輸出參數配置

    應用流輸出可以引用所有上遊節點產生的輸出,作為應用流執行結果。例如,以下樣本中應用流的answer輸出使用了大模型節點的輸出,search_results則是使用了搜尋節點的輸出。

    image

    說明
    • 對話型應用流預設有一個Chat輸出欄位,用於作為應用流的對話輸出。

    • 應用流程必須包含開始節點和結束節點,且只有串連在這兩個節點之間的節點才會被執行,游離的節點則不會執行。

AI能力

大模型(LLM)

LLM節點是應用流的核心組件,專門用於調用大語言模型以處理自然語言任務。通過此節點,使用者可以獲得智能的文本響應,協助回答問題或處理複雜的自然語言輸入。此外,LLM節點還提供靈活的配置選項,允許使用者調整模型參數、管理對話歷史以及自訂提示詞,以最佳化響應品質和準確性。

  • 應用情境

    • 文本產生:根據主題、關鍵詞產生常值內容。

    • 內容分類:自動分類郵件類型(諮詢/投訴/垃圾郵件)。

    • 文本轉換:將文本翻譯成指定語言。

    • RAG:結合檢索到的知識回答使用者問題。

  • 配置介面

    image

  • 輸入(Input)

    • 模型設定:支援使用從ModelGallery部署或其他自訂部署的模型服務,以及Dashscope、DeepSeek等模型供應商提供的模型。如果關注效果,建議選擇能力較強的模型。支援配置以下模型參數:

      • 溫度:通常是一個介於0到1之間的值,用於控制模型輸出的隨機性。溫度越接近0,結果越確定和一致;溫度越接近1,結果則越隨機和多樣化。

      • Top P:用於控制結果的多樣性。模型會從候選詞中選擇,確保選擇的詞的累積機率不超過設定的閾值P,從而影響輸出的多樣性。

      • Top K:用於控制模型的輸出。它限定了模型在產生結果時可以選擇的候選詞數量。具體來說,Top K設定一個數值K,模型只會從機率最高的前K個詞中進行選擇。這種方法可以減少產生結果中的隨機性,使輸出更加集中在可能性較高的詞彙上。相比於Top P,Top K更加直接地限制了候選詞的數量,而不是基於累積機率。

      • 存在懲罰:用於減少模型重複產生相同的實體或資訊。通過對已產生的內容施加懲罰,模型更傾向於產生新的或不同的內容。隨著參數值的增加,模型對已經產生過的內容施加更大的懲罰,從而降低重複產生的可能性。

      • 頻率懲罰:用於減少過於頻繁出現的詞或短語的產生機率。隨著參數值的增加,對這些常見詞或短語施加更大的懲罰,從而降低其出現頻率。較高的頻率懲罰參數值有助於提升文本的詞彙多樣性。

      • 最大標記:用於設定模型在單次產生中可以輸出的最大長度。設定較低的最大標記值可能會導致產生的文本較短或被截斷,而較高的值則允許更長的輸出,從而協助控制產生內容的規模和複雜度,確保結果符合預期的長度要求。

      • 種子:當指定種子值時,模型會盡量進行確定性採樣,使得相同種子和參數的重複請求應產生相同的結果。然而,不能保證完全的確定性,建議您參考system_fingerprint(可能需要代理才能訪問)響應參數來監控可能的變化。

      • 停止序列:最多4個停止序列,用於指示模型在產生文本時停止進一步輸出。當模型檢測到其中任意一個停止序列時,它將停止產生更多的tokens,並且返回的文本將不包含該停止序列本身。

    • 對話歷史:配置開啟後,會自動地在提示詞中插入應用流的聊天記錄。

    • 輸入變數:變數中可以引用本節點前置所有節點的輸出。

    • 提示詞:自訂系統(SYSTEM)/使用者(USER)/助手(ASSISTANT)的提示詞內容,提示詞是jinja2模板,模板中可以通過兩個雙引號{{}}的方式引用輸入變數。

  • 輸出(Output)

    節點預設輸出String類型的資料,也可以根據需求配置為JSON類型資料。JSON類型支援自訂添加輸出變數,大模型會根據變數名稱的含義進行輸出。

  • 使用案例

意圖識別(Intent Recognition

主要用於流程式控制制。通過大語言模型分析使用者輸入的意圖,並根據識別結果執行相應的分支。支援多意圖配置和對話歷史。

  • 配置介面

    image.png

  • 輸入(Input)

    • 使用者輸入:選擇使用者輸入,用於識別意圖。

    • 多意圖配置:按需設定意圖,確保每個意圖的描述都清晰明確,並且不同意圖之間不存在語義重疊。最後一個意圖預設為“其他意圖”,代表沒有匹配到任何其他意圖,不可編輯。

    • 模型設定:配置意圖識別需要的大語言模型,如果關注效果,請選擇能力較強的模型,如qwen-max等。

    • 對話歷史:配置開啟後,大模型推理時會自動地在提示詞中插入應用流的聊天記錄。

    • 額外提示:輸入的內容將會被追加到系統提示詞中,協助模型更好的完成意圖識別。

  • 輸出(Output)

    無輸出。

  • 使用案例

    在串連意圖識別組件與下遊節點時,每個意圖分支在組件上都有一個對應的連線連接埠。當某個意圖被識別時,該分支將執行串連的下遊節點,而其他分支節點則會被跳過。之後,可以通過工作流程應用開發組件收集各個條件分支的執行結果(即下遊節點的輸出)。

    image.png

Agent(Agent)

Agent節點是LangStudio應用流中基於自主性智能體開發的節點群組件。該節點支援推理(Reasoning)策略和Tools Use等能力,可通過整合不同的推理策略(目前支援FunctionCalling和ReAct策略),實現自主調用模型上下文協議(MCP)工具,從而使得大語言模型(LLM)能夠在運行時動態選擇並執行工具(Tools),實現自主性多步推理能力。

配置節點參數

  • Agent策略:選擇所需的Agent推理策略,目前支援FunctionCallingReAct策略。

    FunctionCalling

    基於 OpenAI Chat API 中定義的結構化 tool call 定義(JSON format),實現大語言模型(LLM)與外部工具的互動。LLM 會基於使用者自然語言指令,自動識別意圖、選擇合適的工具並提取參數,系統隨後調用對應工具並返回結果供模型繼續推理產生最終答案。

    應用情境與優勢:

    • 結構化調用,相容性強:使用結構化資料明確工具名稱及調用參數,適配所有支援 tool calling 的模型。

    • 效能穩定:適合目標明確、步驟清晰的任務(如查天氣、搜尋資訊、資料查詢等)。

    ReAct

    ReAct(Reasoning + Acting)策略是一種更自由的推理方式,通過提示詞引導模型顯式產生 Thought 和 Action,從而實現多步推理與工具調用的閉環。該策略通常使用自然語言描述調用過程,通過輸出類似“Action=xxx, Action Input=xxx”的文本觸發後端工具執行,並將結果再次注入模型推理鏈中。無需 API-level 的 tool_calls,適用於更通用模型及架構。

    應用情境與優勢:

    • 更強推理能力:引導模型逐步思考,每一步都能顯式表達推理邏輯。

    • 策略透明:適合調試、可解釋性強的 Agent 應用。

    • 無需 Tool Calling 支援:不支援結構化輸出的模型也可使用。

  • 模型設定:FunctionCalling策略使用OpenAI API中Tool Call方式傳遞Tools資訊,因此模型需要原生支援Tool Calling功能。ReAct策略則無此限制,建議選擇推理能力較強的模型。

  • 對話歷史:啟用對話歷史,可以為Agent提供對話上下文記憶能力。系統會自動的將對話歷史訊息填充到提示詞中,這使得Agent能夠理解和引用之前的對話內容,從而提供連貫的上下文相關的回答。例如,當使用者在新的訊息中使用代詞(如“他”、“這裡”、“那一天”等)時,開啟了對話歷史的Agent能夠理解這些代詞所指代的前文實體,而無需使用者重複指定完整資訊。

  • 任務規劃:啟用後,系統將自動將內建write_todos工具添加到Agent的可用工具中;對於使用者的複雜問題,Agent會自動調用write_todos工具規劃複雜任務並逐步執行,過程中會根據最新資料資訊動態更新計劃。

  • MCP工具 & 工具:支援配置MCP工具和非MCP工具。詳情請參見為 Agent 組態工具

  • 提示詞配置

    • 輸入變數:當您希望在提示詞中引用應用流上遊節點的變數時,需要在本節點中定義相應的輸入變數,並將其值設定為上遊節點變數的引用。隨後,在下面提示詞中,您可以通過Jinja2模板文法(通過兩個雙引號{{}}的方式)引用這些已定義的輸入變數,以實現動態資料傳遞。

    • 系統提示詞:用於明確指定 Agent 的任務目標和上下文資訊,為模型提供必要的背景,以指導其產生符合預期的響應。對於ReAct策略,非必須。

    • 使用者提示詞:接收使用者的輸入或查詢,作為模型產生響應的基礎。

  • 迴圈次數:設定Agent執行的最大迴圈次數,範圍為1~99。Agent將根據迴圈次數重複執行任務以產生響應,直到滿足以下任一條件:

    • LLM判斷已通過調用工具擷取足夠的資訊以產生完整的結果

    • 達到設定的最大迴圈次數

    請注意,設定合理的迴圈次數有助於在響應完整性與執行效率之間取得平衡。若開啟了任務規劃,建議使用預設最大迴圈次數,以確保模型能夠按照計劃完整地執行所有步驟並解決問題。

  • 輸出變數

    • intermediate_steps:Agent執行的中間過程,String類型。

    • text:Agent的最終輸出,String類型。

查看鏈路/日誌

在應用流頁面右上方單擊運行後,您可以在彈出的對話方塊中運行結果下方查看鏈路或日誌。

  • 查看中間輸出:點擊工作流程中的Agent節點右上方的運行狀態表徵圖,在下方抽屜中找到Output裡的intermediate_steps,查看agent的推理過程。

  • 查看鏈路:查看當前啟動並執行Trace資訊,瞭解Agent在每次請求模型時的輸入、模型的輸出(包括工具調用及請求參數)、token開銷、耗時等資訊。

  • 查看日誌當應用流程執行錯誤時,可以查看當前的作業記錄,擷取節點執行過程中的更多細節。

此外,您還可以在應用流頁面右上方單擊運行按鈕右側的表徵圖查看運行歷史,選擇指定運行記錄,查看鏈路或日誌。

文檔解析

支援使用系統內建的智能文檔解析工具和AI搜尋開放平台的文檔解析服務。

  • 內建解析工具:可提取文檔中的結構化內容與中繼資料資訊,支援多種主流文檔格式,包括:PDF、DOCX、PPTX、TXT、HTML、CSV、XLSX、XLS、JSONL 和 MD。

  • AI搜尋開放平台:實現高精度的結構化文檔解析,支援提取標題、段落等邏輯層級資訊,以及文本、表格和圖片等內容,可提升文檔提取的效果與準確性,需先配置 AI搜尋開放平台模型服務串連。支援的檔案格式包括:PDF、DOCX、PPTX、TXT 和 HTML。

該工具支援後續用於 RAG、摘要、問答等情境。配置介面如下:image.png

  • 文檔檔案:輸入單個文檔檔案進行智能解析,提取結構化內容。選擇來自上遊的檔案類型欄位。

  • 模型設定:(可選)選擇在LangStudio上已建立的 AI搜尋開放平台模型服務串連。若未配置,系統將預設使用內建的基礎解析方法處理上傳的檔案。

  • 輸出結果:

    • file_id:輸入檔案的唯一識別碼

    • content:解析出的結構化常值內容,包含標題、段落等層級資訊

    • status:解析狀態,可能值為 SUCCESS 或 FAIL

    • metadata:文檔的中繼資料資訊和解析詳情

      • file_name:檔案名稱

      • file_type:檔案類型

      • source_uri:檔案原始 URI

      • download_url:檔案可下載 URL

      • analysis_method:使用的解析方法。"opensearch" 表示使用AI搜尋開放平台的結構化解析,"builtin" 表示使用內建的基礎解析方法。

下遊使用樣本:在下遊節點按需引用文檔解析節點的結果欄位,如果要在LLM節點中使用文檔解析結果,可以參考如下方式在使用者提示詞中引入文檔解析後的內容:

image.png

語音辨識

使用語音辨識工具將音頻或視頻檔案轉換為文本。支援多種音頻格式和語言識別。

輸入

  • 模型設定:配置語音辨識模型,當前支援阿里雲百鍊提供的語音辨識服務。推薦使用 paraformer-v2以獲得更優識別效果及多語言支援。

  • 音視頻檔案:選擇需要識別的音頻或視頻檔案。支援的格式詳見檔案類型輸入輸出

  • 識別語言:指定音頻識別時的語言類型,支援中文、英文、日語、粵語、韓語、德語、法語、俄語或自動檢測。注意:該功能僅paraformer-v2模型支援,其他模型將預設使用自動語言偵測。

輸出

  • file_id:輸入檔案的唯一識別碼。

  • status:識別狀態,可能值為 SUCCESSFAIL

  • content:轉錄的常值內容。

  • segments:句子片段資訊列表,包含時間戳記、文本片段等詳細資料。

  • metadata:檔案的中繼資料資訊,包含:

    • file_name:檔案名稱

    • file_type:檔案類型

    • source_uri:檔案URI

    • download_url:檔案下載URL

資料檢索

配置以下節點請參見資料檢索節點

  • 知識庫檢索

  • 阿里雲IQS-連網搜尋

  • SerpAPI-連網搜尋

  • HTTP請求

資料處理

Python開發(Python

應用流支援自訂Python代碼的節點,可以實現複雜的資料處理邏輯,支援流式輸入和流式輸出。配置介面如下:

image

只需填寫Python代碼,輸入輸出會根據代碼自動解析。注意以下事項:

  • 執行入口函數需要被@tool裝飾,才可以被載入為一個節點。

    說明

    當需要Python節點支援輸入資料流時,必須配置 @tool(properties={"streaming_pass_through": True}),否則給到Python節點的LLM等輸入都會是完整的輸出文本。

  • 函數支援的輸入/輸出類型:int、float、bool、str、dict、TypedDict、dataclass(只支援輸出)、list、File。

  • 入口函數的入參會被動態解析成節點的輸入,輸出會被放到output字典中,可以被其他節點引用。

    重要

    Python節點的輸入/輸出參數的自動解析,依賴於運行時。在沒有啟動運行時的情況下,無法配置節點的輸入/輸出資訊。

  • 如果Python代碼需要安裝相應的依賴,在畫布右上方,選擇安裝依賴,填寫依賴包。requirements.txt檔案會同應用流一起儲存,在啟動運行時,或是部署服務時安裝依賴到對應的環境裡。

    image

    image

使用案例1:在代碼地區輸入以下代碼,代碼會被映射為節點的輸入和輸出:

from langstudio.core import tool
from dataclasses import dataclass

@dataclass
class Result:
    output1: str
    output2: int

@tool
def invoke(foo: str, bar: int) -> Result:    
    return Result(
        output1="hello" + foo,
        output2=bar + 10
    )

image

使用案例2流式輸入輸出。使用Python節點對大模型/Agent等節點輸出的包含思考過程的文字資料流進行裁剪,丟棄<think>\n\n<think>部分思考內容,可獲得一個最終結果文本輸出資料流。範例程式碼如下:

import re
from typing import Iterator
from langstudio.core import tool

@tool(properties={"streaming_pass_through": True})
def strip_think(
    stream: Iterator[str],
) -> Iterator[str]:  # 輸入為流式字串迭代器,輸出為過濾後的流式字串迭代器
    # 匹配 <think>\n...\n</think> 結構,並捕獲結束標籤後的文本
    pattern = re.compile(r"<think>\n[\s\S]*\n</think>(.*)")
    in_thinking = True  # 標記當前是否處於 <think> 塊內部
    think_buf = ""      # 緩衝區,用於儲存未處理完的內容

    for chunk in stream:
        if in_thinking:
            think_buf += chunk
            m = pattern.search(think_buf)  # 檢查緩衝區是否含完整的思考塊
            if m:
                in_thinking = False
                result_part = m.groups()[0]
                if result_part:
                    yield result_part  # 若結果文本存在,立即輸出
        else:
            yield chunk  # 已經脫離思考塊,直接輸出後續所有chunk

模板轉換

模板轉換工具允許藉助 Jinja2 模板文法,實現靈活的文字格式設定化和資料轉換。

輸入

轉換模式支援Jinja2模式節點參考模式。

  • Jinja2 模式:使用完整的 Jinja2 模板文法自訂輸出格式。適用於複雜的結構化輸出、條件判斷、迴圈渲染等。

    • 模板變數:定義模板中使用的變數。

      重要

      變數名不能使用Python內建方法名,如itemskeysvalues等。建議使用明確的欄位名,如item_listproduct_list等。

    • 模板內容:使用Jinja2文法編寫的模板字串。支援變數替換{{ variable }}、迴圈{% for %}、條件判斷{% if %}、過濾器{{ value | filter }}等完整文法。

      重要

      模板中引用的所有變數必須在變數列表中定義,否則會報錯。

  • 節點參考模式:直接引用上遊節點輸出,自動拼接為字串。適用於簡單的文本組合情境。

    • 模板內容:選擇上遊節點的輸出欄位,系統自動按順序拼接。

輸出

output:模板渲染後的文本結果。注意:輸入輸出模板內容長度均限制為100000字元,超出部分將被截斷。

使用樣本

樣本1:訂單確認郵件產生

變數配置:

變數名

變數值

customer_name

"張三"

order_id

"ORD-2025-001"

products

[{"name": "膝上型電腦", "price": 8999}, {"name": "無線滑鼠", "price": 199}]

total

9198

模板內容:

尊敬的 {{ customer_name }}:

您的訂單 {{ order_id }} 已確認,詳情如下:

{% for product in products %}
- {{ product.name }}: ¥{{ product.price }}
{% endfor %}

總計: ¥{{ total }}

感謝您的購買!

輸出結果:

尊敬的 張三:

您的訂單 ORD-2025-001 已確認,詳情如下:

- 膝上型電腦: ¥8999
- 無線滑鼠: ¥199

總計: ¥9198

感謝您的購買!

樣本2:知識庫檢索結果格式化

變數配置:

變數名

變數值

chunks

[{"title": "產品介紹", "content": "這是產品的詳細介紹...", "score": 0.95}]

模板內容:

{% for chunk in chunks %}
### 相關度: {{ "%.2f" % chunk.score }}
#### {{ chunk.title }}
{{ chunk.content }}
---
{% endfor %}

輸出結果:

### 相關度: 0.95
#### 產品介紹
這是產品的詳細介紹...
---

列表操作

通過列表操作工具,可以對各類列表資料執行靈活的過濾與排序操作,實現資料的精細化處理與篩選。

輸入

  • 列表輸入:需要處理的列表資料。支援任意子類型(字串、數字、布爾值、檔案對象、字典)。

  • 操作:按順序執行的鏈式操作序列。支援過濾、排序兩種操作類型。

    • 過濾操作(filter):過濾操作根據輸入列表的類型,動態提供不同的過濾方式。注意:各項過濾操作均對大小寫敏感。

      過濾鍵

      說明

      適用範圍

      索引

      基於元素在列表中的位置過濾

      適用於所有清單類型

      元素值

      基於元素本身的值進行過濾

      適用於所有清單類型

      自訂屬性

      基於自訂的屬性進行過濾

      僅適用於字典類型列表

      檔案屬性

      基於檔案的屬性進行過濾

      僅適用於檔案類型列表

      可選屬性:

      • file_id:檔案id

      • file_name:檔案名稱

      • file_type:檔案MIME類型

      • source_uri:檔案URI

      • download_url:檔案下載URL

      • category:檔案分類,可選值:documentimageaudiovideo

      • extension:檔案尾碼,如.jpg

    • 排序操作(sort):排序操作根據輸入列表的類型,提供不同的排序方式。

      排序鍵

      說明

      適用範圍

      元素值

      基於元素本身的值進行排序

      僅適用於字串、數字、布爾值清單類型

      自訂屬性

      基於自訂的屬性進行排序

      僅適用於字典類型列表

      檔案屬性

      基於檔案的屬性進行排序

      僅適用於檔案類型列表,可選屬性與過濾操作一致

輸出

  • result:處理後的列表結果。

  • first_item:結果清單的第一個元素,如果列表為空白則為None。

  • last_item:結果清單的最後一個元素,如果列表為空白則為None。

使用樣本

樣本1:檔案分類處理 - 篩選圖片檔案並按大小排序取前3個

情境:使用者上傳了包含各類檔案的混合列表,需要篩選出圖片檔案,按檔案名稱長度排序,並只保留前3個用於後續的Image Recognition處理。

操作配置:

操作1 - 過濾(按檔案分類):
  過濾鍵: item.category
  過濾操作符: 等於
  過濾值: image

操作2 - 排序(按檔案名稱長度):
  排序鍵: item.file_name
  排序方向: asc

操作3 - 過濾(取前3個):
  過濾鍵: index
  過濾操作符: 小於
  過濾值: 3

image.png

樣本2:資料分析 - 篩選高分使用者並擷取 Top 5

情境:從使用者評分列表中篩選出分數大於等於80分的使用者,按分數降序排列,取前5名。

輸入列表:

[
  {"name": "張三", "score": 95, "department": "技術部"},
  {"name": "李四", "score": 72, "department": "市場部"},
  {"name": "王五", "score": 88, "department": "技術部"},
  {"name": "趙六", "score": 91, "department": "產品部"},
  {"name": "錢七", "score": 65, "department": "市場部"},
  {"name": "孫八", "score": 98, "department": "技術部"}
]

操作配置:

操作1 - 過濾(篩選高分使用者):
  過濾鍵: item.score
  過濾操作符: 大於等於
  過濾值: 80

操作2 - 排序(按分數降序):
  排序鍵: item.score
  排序方向: desc

操作3 - 過濾(取前5名):
  過濾鍵: index
  過濾操作符: 小於
  過濾值: 5

image.png

輸出結果:

[
  {"name": "孫八", "score": 98, "department": "技術部"},
  {"name": "張三", "score": 95, "department": "技術部"},
  {"name": "趙六", "score": 91, "department": "產品部"},
  {"name": "王五", "score": 88, "department": "技術部"}
]

注意事項:

  • 若工具輸入引用 Python 節點自訂的list類型輸出變數,建議在 Python 節點中定義出明確的列表元素類型,如list[str],從而在列表動作節點中獲得更準確的操作符匹配。