跳轉到

檢索器

這頁能幫你做什麼

檢索器 (Retriever) 任務用一個你預先建立好的檢索器資源,從指定的知識庫 (Knowledge Base) 找出與查詢最相關的文件段落。它輸出的是未經重新排序的原始檢索結果,並依檢索器的搜尋策略給每段內容附上相關性分數。

適合的情境例如:

  • RAG 流程中先把相關段落撈出來,再交給 LLM 回答
  • 在內部文件、客服知識庫上建立語意或關鍵字搜尋
  • 用 Metadata 過濾條件把搜尋範圍限縮到特定分類、日期或來源
  • 需要自己分別控制「檢索」與「排序」兩個步驟時,先用本任務再接 排序 (Ranker)

檢索器 (Retriever) 與檢索 (Retrieval) 有什麼不同?

  • 檢索器 (Retriever) (本頁) = 只跑單一檢索器,輸出原始檢索結果,可細部設定檢索模式、進階過濾與混合搜尋參數。要重新排序得自己再接 排序 (Ranker) 任務。
  • 檢索 (Retrieval) = 把多個檢索器與一個排序器打包成一個任務,一次完成「檢索+排序」。

開始前

需要先準備好的資源

  • 一個 檢索器 (Retriever) 資源:決定使用哪種檢索模式(向量/關鍵字/混合)。建立方式見 檢索器資源
  • 一個 向量類型的知識庫 (Knowledge Base) :本任務的知識庫選單只會列出向量儲存類型的知識庫。建立方式見 知識庫

操作步驟

  1. 在工作流程 (Workflow) 編輯畫面新增「檢索器」任務。

    檢索器任務設定面板

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

  3. 在「檢索器」選擇一個檢索器資源。選好後才會接著出現知識庫與該檢索模式專屬的查詢欄位。
  4. 在「知識庫」選擇要搜尋的向量知識庫。
  5. 依檢索模式填入查詢欄位(見下方各模式說明)。
  6. 設定「下一步」指向流程中的下一個狀態。
  7. 視需要展開「進階任務設定」調整過濾、欄位對照與數量上限。

    檢索器任務展開進階任務設定後的欄位

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

    「輸入與輸出」分頁

    「錯誤處理」分頁

本任務特有欄位(共用部分)

欄位 必填 預設 說明
名稱 此任務在工作流程中的唯一識別名稱,不可與其他狀態重複。
檢索器 要使用的檢索器資源。其類型(向量/關鍵字/混合)決定下方會出現哪些查詢欄位。也可切換為 JSONPath 動態指定(路徑寫法見 JSONPath 語法)。
知識庫 要搜尋的知識庫,只會列出向量儲存類型。可切換為 JSONPath 動態指定。
下一步 本任務完成後要轉換到的工作流程狀態;不選代表此狀態為流程結束。
附註 給維護者看的說明文字,不影響執行。

各檢索模式的查詢欄位

選定檢索器後,會依其類型顯示不同的查詢欄位。

向量檢索(Embedding)

以向量相似度做語意搜尋,最適合自然語言問句與概念比對。

選用向量檢索器後出現的「知識庫」與查詢欄位

欄位 必填 預設 說明
查詢來源 自訂查詢 決定查詢從何而來。可選「自訂查詢」(直接填字串)、「自訂查詢樣板」(用 Jinja 樣板組出查詢)、「既有查詢樣板」(選用已建立的樣板資源並填樣板變數)。
查詢字串 / 查詢樣板 視來源 依「查詢來源」呈現對應輸入:填字串、編輯樣板,或選樣板資源。
樣板變數 視來源 選「既有查詢樣板」時出現,用來填入樣板需要的變數。

關鍵字檢索(Keyword)

以 OpenSearch 的關鍵字比對做搜尋,最適合精確詞彙、產品代碼、ID。

選用關鍵字檢索器後出現的「關鍵字」查詢欄位

欄位 必填 預設 說明
查詢來源 關鍵字 可選「關鍵字」(輸入一組關鍵字)或「OpenSearch 查詢」(直接寫 OpenSearch 查詢物件)。
關鍵字 是(選關鍵字時) 輸入一個或多個關鍵字,系統據此產生關鍵字查詢。
OpenSearch 查詢 是(選此來源時) 系統提供範本 以 JSON 直接指定 OpenSearch 的 query 物件,自訂布林條件與比對規則。

同時用向量與關鍵字檢索,再合併分數,兼顧召回率與精確度。

選用混合搜尋檢索器後出現的「知識庫」與「關鍵字」查詢欄位

欄位 必填 預設 說明
關鍵字 輸入一個或多個關鍵字(至少一個)。系統會同時用這些關鍵字做關鍵字查詢、並做向量查詢後合併。

混合搜尋的權重與合併方式在進階任務設定

混合搜尋的「關鍵字權重」「向量權重」「分數正規化方式」「分數合併方式」「關鍵字子查詢」收在下方「進階任務設定」區塊,且只有檢索器類型為混合搜尋時才出現。

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

這些欄位收在「進階任務設定」摺疊區塊內。

欄位 必填 預設 說明
過濾查詢 以 JSON 指定 OpenSearch 的 query.bool.filter 篩選條件(例如只取 activetrue 的文件),用來縮小搜尋範圍。
欄位對照 指定要回傳哪些欄位的鍵值對;鍵為文件中的原始欄位名稱,值為任務回傳時使用的欄位名稱。
文件數量上限 10 最多回傳幾份文件。範圍 1~1000。

進階任務設定中混合搜尋專屬欄位

下列欄位只有當檢索器類型為混合搜尋時,才會出現在進階任務設定區塊內。

混合搜尋檢索器在進階任務設定區塊出現的權重與分數合併欄位

欄位 必填 預設 說明
關鍵字子查詢 以 JSON 自訂 OpenSearch 查詢,取代自動產生的關鍵字查詢部分;向量查詢仍依「關鍵字」自動產生。未填則系統自動建立比對查詢。
關鍵字權重 0.5 合併分數時關鍵字查詢所占比重。範圍 0~1(每格 0.05)。
向量權重 0.5 合併分數時向量查詢所占比重。範圍 0~1(每格 0.05)。
分數正規化方式 Min-Max 正規化 合併前如何正規化兩種查詢的分數。可選「Min-Max 正規化」或「L2 正規化」。
分數合併方式 算術平均 如何把兩種查詢的分數合併。可選「算術平均」「幾何平均」「調和平均」。

執行設定(摺疊區塊)

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

欄位 必填 預設 說明
上傳輸出至外部記憶體 關閉 開啟後可把任務輸出寫入外部記憶體,並設定要寫入的選擇器。
串流設定 關閉 設定是否串流輸出(共用設定)。
錯誤時中止 開啟 開啟時任務出錯就中止流程;關閉後可改填「預設輸出」,出錯時用此預設值繼續往下走。
預設輸出 僅在「錯誤時中止」關閉時出現,供你定義出錯時回傳的內容。

預期結果

選好檢索器與知識庫、填入查詢後,本任務會回傳一份依相關性分數排序的文件段落清單,可直接接給 排序 (Ranker) 任務重新排序,或接給 LLM 任務作為回答依據。

下一步