跳轉到
版本 v1.0.25

排序器

這頁能幫你做什麼

排序器 (Ranker) 任務拿一份既有的文件清單(通常來自 檢索器 (Retriever) 任務的輸出),依與查詢的相關性重新排序,把最相關的文件排到最前面,並可過濾掉相關性過低的文件。這能讓後續交給大型語言模型的內容更精準、更省 Token。(本頁在工作流程編輯器的「新增狀態」面板中顯示為「排序器」。)

適合的情境例如:

  • RAG 流程中在檢索之後、餵給 LLM 之前,把段落重新排序
  • 把多個檢索器的結果合併後統一排序
  • 用相關性門檻過濾掉不夠相關的雜訊文件
  • 對專業領域內容套用特定的排序模型(如 Cohere、Amazon)

什麼時候用排序器 (Ranker) ,什麼時候用檢索 (Retrieval) ?

若你已用 檢索器 (Retriever) 任務取得文件、想自己控制排序步驟,就用本任務。若想一個任務就同時做完「檢索+排序」,可改用 檢索 (Retrieval) 任務(內含排序器設定)。

開始前

需要先準備好的資源

  • 一個 排序器 (Ranker) 資源:決定使用哪種排序演算法。建立方式見 排序器資源
  • 一份要排序的 文件清單:通常來自上游檢索器任務的輸出,用 JSONPath(例如 $.retriever_output)帶入(路徑寫法見 JSONPath 語法)。

操作步驟

  1. 在工作流程 (Workflow) 編輯畫面新增「排序器」任務(如何新增請見 任務使用指南)。

    排序器任務設定面板

  2. 在「名稱」填入此任務在流程中的唯一名稱。

  3. 在「排序器」選擇一個排序器資源。選好後才會出現查詢與文件欄位。

    選好排序器後出現的「查詢來源」「查詢字串」「排序欄位」「文件」欄位,文件已打開 JSONPath 開關、填著上游檢索器的輸出路徑

  4. 設定「查詢來源」與查詢內容,作為衡量相關性的依據。

  5. 在「文件」填入要排序的文件清單。上圖是實務上最常見的樣子:打開「JSONPath」開關後填上游檢索器的輸出路徑($.retriever_output)。
  6. 在「下一個狀態」選擇本任務完成後要前往的步驟。
  7. 視需要展開「進階任務設定」調整文件數量上限與相似度門檻值。

    排序器任務展開「進階任務設定」後的欄位

  8. 切換到「輸入與輸出」、「錯誤處理」分頁調整共用設定(見 任務通用設定)。

    「輸入與輸出」分頁

    「錯誤處理」分頁

本任務特有欄位

欄位 必填 預設 說明
名稱 此任務在工作流程中的唯一識別名稱,不可與其他狀態重複。
排序器 要使用的排序器資源。其類型決定下方會出現哪些欄位(如排序欄位或內容樣板)。也可改用「狀態輸入」動態指定。
查詢來源 否(恆有預設值) 自訂查詢 決定衡量相關性的查詢從何而來。可選「自訂查詢」(直接填字串)、「自訂查詢樣板」(用 Jinja 樣板組出查詢)、「既有查詢樣板」(選用已建立的樣板資源並填樣板變數)。
查詢字串 / 查詢樣板 視來源 依「查詢來源」呈現對應輸入:填字串、編輯樣板,或選樣板資源。
排序欄位 視類型 jaccard_similaritycohereamazon 類型出現。指定拿文件中哪些欄位來計算排序,這是一個可複選的標籤欄位:打上欄位名稱後按 Enter 就會變成一個標籤,要用多個欄位就重複這個動作。cohere 以外的類型請務必填寫(畫面標籤上不一定會出現紅色星號,不代表可以留空)。
內容樣板 是(embedding 類型) embedding 類型出現。用 Jinja 樣板把文件內容組成要做向量比對的文字。
文件 空的「項目」表格 要排序的文件清單(陣列)。新增節點時是一張只有「項目」一欄、沒有資料列的表格(下方有 可逐筆手動加)。實務上幾乎都是接上游的輸出:把滑鼠移到「文件」欄位上,標籤右側會出現「JSON」與「JSONPath」兩個開關(開關平常隱藏,滑鼠移開就消失),打開「JSONPath」後欄位變成路徑框,填上游檢索器的輸出路徑(例如 $.retriever_output)即可——本頁截圖就是這個狀態,路徑框右側的 鉛筆鈕可開啟「編輯參考路徑」對話框用引導式表單組路徑。也可以打開「JSON」開關直接貼一段陣列。
下一個狀態 本任務完成後要轉換到的工作流程狀態;不選代表此狀態為流程結束。
附註 給維護者看的說明文字,不影響執行。

查詢與欄位隨排序器類型變動

上表的「排序欄位」「內容樣板」只在特定排序器類型出現;實際看到的欄位以你所選排序器資源的類型為準。各排序器類型差異見 排序器資源

找不到 JSONPath 開關?把滑鼠移到欄位上

可動態取值的欄位,標籤右側會出現「JSONPath」開關(接受整包 JSON 的欄位另有「JSON」開關)。這排開關平常是隱藏的,只有滑鼠移到該欄位範圍內才會出現(滑鼠移開就消失),所以有些欄位看起來像是沒有開關——不是你的畫面壞了。開關浮出來之後直接把滑鼠往右移到開關上點下去就好,只要不離開這個欄位的範圍它就不會消失。本頁最需要用到它的是「文件」欄位:整個任務就是靠打開它的「JSONPath」開關、填上游檢索器的輸出路徑接起來的。哪些欄位提供開關依欄位型別而定,以畫面實際顯示為準;用法見任務通用設定 — 欄位的輸入方式切換

怎麼知道自己選的排序器是哪一種類型?

jaccard_similaritycohereamazonembedding 是排序器資源的演算法類型,工作流程編輯器的面板上不會顯示。不用去對照表格猜——畫面上實際出現哪幾個欄位,就填那幾個,沒出現的欄位代表你的排序器類型用不到。真的想知道類型:到 資源 › 排序器 打開該筆排序器的詳細頁查看。

進階任務設定(摺疊區塊)

這些欄位收在「進階任務設定」摺疊區塊內,只有在已選排序器資源後才會出現。

欄位 必填 預設 說明
文件數量上限 10 排序後最多回傳幾份文件。範圍 1~1000。
相似度門檻值 0 jaccard_similarityembedding 類型出現。低於此分數的文件會被排除。範圍 0~1(每格 0.01)。

執行設定(摺疊區塊)

這些欄位收在「執行設定」摺疊區塊內,多為共用設定,完整說明見 任務通用設定

欄位 必填 預設 說明
上傳輸出至外部記憶體 關閉 開啟後可把任務輸出寫入外部記憶體,並設定要寫入的選擇器。
在任務開始階段開啟即時輸出串流 關閉 開關。開啟後,任務開始時把任務定義以串流方式即時送到執行頁面顯示。
在任務結束階段開啟即時輸出串流 關閉 開關。開啟後,任務結束時把結果以串流方式即時送到執行頁面顯示。
錯誤時中止 開啟 開啟時任務出錯就中止流程;關閉後可改填「預設輸出」,出錯時用此預設值繼續往下走。
預設輸出 僅在「錯誤時中止」關閉時出現,供你定義出錯時回傳的內容。 它展開後是一組英文標籤的子欄位Errors + 這個任務的輸出欄位),見 預設輸出的子欄位

預期結果

選好排序器、設定查詢與文件清單後,本任務會把文件依相關性分數由高到低重新排序(並可依門檻過濾),輸出一份排好序的文件清單,可直接接給後續的 LLM 任務作為回答依據。

下一步