檢索器¶
這頁能幫你做什麼¶
檢索器 (Retriever) 任務用一個你預先建立好的檢索器資源,從指定的知識庫 (Knowledge Base) 找出與查詢最相關的文件段落。它輸出的是未經重新排序的原始檢索結果,並依檢索器的搜尋策略給每段內容附上相關性分數。
適合的情境例如:
- RAG 流程中先把相關段落撈出來,再交給 LLM 回答
- 在內部文件、客服知識庫上建立語意或關鍵字搜尋
- 用 Metadata 過濾條件把搜尋範圍限縮到特定分類、日期或來源
- 需要自己分別控制「檢索」與「排序」兩個步驟時,先用本任務再接 排序器 (Ranker)
檢索器 (Retriever) 與檢索 (Retrieval) 有什麼不同?
- 檢索器 (Retriever) (本頁) = 只跑單一檢索器,輸出原始檢索結果,可細部設定檢索模式、進階過濾與混合搜尋參數。要重新排序得自己再接 排序器 (Ranker) 任務。
- 檢索 (Retrieval) = 把多個檢索器與一個排序器打包成一個任務,一次完成「檢索+排序」。
開始前¶
需要先準備好的資源
操作步驟¶
-
在工作流程 (Workflow) 編輯畫面新增「檢索器」任務(如何新增請見 任務使用指南)。

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

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


本任務特有欄位(共用部分)¶
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 名稱 | 是 | 無 | 此任務在工作流程中的唯一識別名稱,不可與其他狀態重複。 |
| 檢索器 | 是 | 無 | 要使用的檢索器資源。其類型(向量/關鍵字/混合)決定下方會出現哪些查詢欄位。也可改用「狀態輸入」動態指定(路徑寫法見 JSONPath 語法)。 |
| 知識庫 | 是 | 無 | 要搜尋的知識庫,只會列出向量儲存類型。也可改用「狀態輸入」動態指定。 |
| 下一個狀態 | 是 | 無 | 本任務完成後要轉換到的工作流程狀態;不選代表此狀態為流程結束。 |
| 附註 | 否 | 無 | 給維護者看的說明文字,不影響執行。 |
各檢索模式的查詢欄位¶
選定檢索器後,會依其類型顯示不同的查詢欄位。
向量檢索(Embedding)¶
以向量相似度做語意搜尋,最適合自然語言問句與概念比對。

| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 查詢來源 | 否(恆有預設值) | 自訂查詢 | 決定查詢從何而來。可選「自訂查詢」(直接填字串)、「自訂查詢樣板」(用 Jinja 樣板組出查詢)、「既有查詢樣板」(選用已建立的樣板資源並填樣板變數)。 |
| 查詢字串 / 查詢樣板 | 視來源 | 無 | 依「查詢來源」呈現對應輸入:填字串、編輯樣板,或選樣板資源。 |
| 樣板變數 | 視來源 | 無 | 選「既有查詢樣板」時出現,用來填入樣板需要的變數。 |
關鍵字檢索(Keyword)¶
以 OpenSearch 的關鍵字比對做搜尋,最適合精確詞彙、產品代碼、ID。

| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 查詢來源 | 否(恆有預設值) | 關鍵字 | 可選「關鍵字」(輸入一組關鍵字)或「OpenSearch 查詢」(直接寫 OpenSearch 查詢物件)。 |
| 關鍵字 | 是(選關鍵字時) | 無 | 要比對的關鍵字,系統據此產生關鍵字查詢。一次打一個關鍵字,打完按 Enter,該關鍵字就會變成欄位裡的一張小標籤(要多個就重複這個動作,不是用逗號或空白隔開);標籤上的 可以移除。也可打開「JSONPath」開關整組從上一步帶入。 |
| OpenSearch 查詢 | 是(選此來源時) | 系統提供範本 | 以 JSON 直接指定 OpenSearch 的 query 物件,自訂布林條件與比對規則。選了這個來源之後,欄位會帶一份可以直接改的範本;最常見的寫法是用 bool 包住條件,例如{ "bool": { "must": [ { "match": { "content": "保固" } } ] } }(「內容裡要有『保固』」)。查詢語法屬 OpenSearch 自己的 Query DSL,完整寫法請參考 OpenSearch 官方文件;若只是要用關鍵字搜尋,把「查詢來源」改回「關鍵字」會簡單得多。 |
混合搜尋(Hybrid Search)¶
同時用向量與關鍵字檢索,再合併分數,兼顧召回率與精確度。

| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 知識庫 | 是 | 無 | 要搜尋的知識庫。混合搜尋一樣要選知識庫(如上圖,欄位帶紅色星號),與向量/關鍵字模式相同,說明見上方本任務特有欄位(共用部分)。 |
| 關鍵字 | 是 | 無 | 要比對的關鍵字(至少一個)。一次打一個,打完按 Enter 變成一張小標籤,要多個就重複(不是用逗號隔開)。系統會同時用這些關鍵字做關鍵字查詢、並做向量查詢後合併。 |
混合搜尋的權重與合併方式在進階任務設定
混合搜尋的「關鍵字權重」「向量權重」「分數正規化方式」「分數合併方式」「關鍵字子查詢」收在下方「進階任務設定」區塊,且只有檢索器類型為混合搜尋時才出現。
進階任務設定(摺疊區塊)¶
這些欄位收在「進階任務設定」摺疊區塊內。
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 過濾查詢 | 否 | 無 | 以 JSON 指定 OpenSearch 的 query.bool.filter 篩選條件(例如只取 active 為 true 的文件),用來縮小搜尋範圍。 |
| 欄位對照 | 否 | { "retriever_chunk": "retriever_chunk" } | 指定要回傳哪些欄位的對照關係;鍵為文件中的原始欄位名稱,值為任務回傳時使用的欄位名稱。畫面上是一個 JSON 編輯器(不是可以按 加列的表格),直接把整包對照寫成 JSON 物件,例如 { "title": "doc_title" } 代表把文件的 title 欄位改名成 doc_title 回傳。 |
| 文件數量上限 | 否 | 10 | 最多回傳幾份文件。範圍 1~1000。 |
進階任務設定中混合搜尋專屬欄位¶
下列欄位只有當檢索器類型為混合搜尋時,才會出現在進階任務設定區塊內。

上圖只框出這幾個欄位本身(沒有把「進階任務設定」的區塊標題一起拍進來);在實機上它們是收在設定分頁底部「進階任務設定」摺疊區塊裡,要先展開才看得到。
這兩個權重該怎麼調
只有比例有意義,絕對值沒有:0.5 / 0.5 和 0.8 / 0.8 效果一樣,0.7 / 0.3 才是真的偏向關鍵字。先用預設的 0.5 / 0.5 跑一次,再看結果調整:使用者常打專有名詞、型號、料號(字要對得上)→ 把關鍵字權重調高;使用者用口語問、換句話說也要找得到 → 把向量權重調高。
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 關鍵字子查詢 | 否 | 無 | 以 JSON 自訂 OpenSearch 查詢,取代自動產生的關鍵字查詢部分;向量查詢仍依「關鍵字」自動產生。未填則系統自動建立比對查詢。 |
| 關鍵字權重 | 否 | 0.5 | 合併分數時關鍵字查詢所占比重。範圍 0~1(每格 0.05)。調大=更重視「有出現使用者打的那些字」的文件。 |
| 向量權重 | 否 | 0.5 | 合併分數時向量查詢所占比重。範圍 0~1(每格 0.05)。調大=更重視「意思接近、但用詞不一樣」的文件。 |
| 分數正規化方式 | 否 | Min-Max 正規化 | 合併前如何把兩種分數換算到同一個尺度(不然關鍵字分數與向量分數大小不能直接比)。可選「Min-Max 正規化」或「L2 正規化」,一般維持預設即可。 |
| 分數合併方式 | 否 | 算術平均 | 如何把兩種查詢的分數合併。可選「算術平均」「幾何平均」「調和平均」。一般維持「算術平均」;幾何平均與調和平均不接受 0 分的文件,只在確認兩種分數都不會是 0 時才改用。 |
部分欄位可以改成動態取值
可動態取值的欄位,標籤右側會出現「JSONPath」開關(接受整包 JSON 的欄位另有「JSON」開關),打開後即可在執行時決定該欄位的值。哪些欄位提供開關依欄位型別而定,以畫面實際顯示為準;用法見任務通用設定 — 欄位的輸入方式切換。
「OpenSearch 查詢」本來就是 JSON 輸入,它的「JSON」開關固定為開啟、不能關掉;要改成動態取值就打開「JSONPath」開關。
執行設定(摺疊區塊)¶
這些欄位收在「執行設定」摺疊區塊內,多為共用設定,完整說明見 任務通用設定。
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 上傳輸出至外部記憶體 | 否 | 關閉 | 開啟後可把任務輸出寫入外部記憶體,並設定要寫入的選擇器。 |
| 在任務開始階段開啟即時輸出串流 | 否 | 關閉 | 開關。開啟後,任務開始時把任務定義以串流方式即時送到執行頁面顯示。 |
| 在任務結束階段開啟即時輸出串流 | 否 | 關閉 | 開關。開啟後,任務結束時把結果以串流方式即時送到執行頁面顯示。 |
| 錯誤時中止 | 否 | 開啟 | 開啟時任務出錯就中止流程;關閉後可改填「預設輸出」,出錯時用此預設值繼續往下走。 |
| 預設輸出 | 否 | 無 | 僅在「錯誤時中止」關閉時出現,供你定義出錯時回傳的內容。 它展開後是一組英文標籤的子欄位(Errors + 這個任務的輸出欄位),見 預設輸出的子欄位。 |
預期結果¶
選好檢索器與知識庫、填入查詢後,本任務會回傳一份依相關性分數排序的文件段落清單,可直接接給 排序器 (Ranker) 任務重新排序,或接給 LLM 任務作為回答依據。
下一步¶
- 排序器 (Ranker) 任務:對檢索結果重新排序。
- 檢索 (Retrieval) 任務:一次完成多檢索器 + 排序。
- 檢索器資源、知識庫:建立本任務需要的資源。