跳轉到
版本 v1.0.25

檢索工具

這個工具(在「新增工具」對話框中顯示為「檢索」,Retrieval)讓 Agent 在回答前,先到你的知識庫裡查找相關內容,再根據查到的資料作答——也就是常說的 RAG。適合用來做「熟悉公司文件的客服/問答助理」。

什麼是 RAG、檢索器?

RAG(檢索增強生成)指的是:Agent 回答前,先到你的文件裡「查資料」,再根據查到的內容作答,而不是只憑模型自己的記憶亂猜。這樣回答更貼近你公司的真實資訊。

要做到這件事,需要兩個東西搭配:

  • 知識庫(Knowledge Base):放你上傳文件的地方,是「資料的倉庫」。
  • 檢索器(Retriever):負責「去倉庫裡找出最相關段落」的工具,是「找資料的方法」。一個知識庫可以搭配一個或多個檢索器,分別用不同方式找資料(例如關鍵字比對、語意相似度),多選通常能查得更全面;不確定時先選一個即可。

開始前

你需要先準備好:

  • 一個知識庫(Knowledge Base),並已上傳文件。
  • 至少一個檢索器(Retriever)。
  • (選用)一個排序器(Ranker),用來把查到的結果重新排序,讓最相關的排前面。

設定方式見 知識庫資源檢索器排序器


設定步驟

  1. 在 Agent 的「自訂工具」中,新增一個「檢索」(Knowledge Base)工具。下面的步驟依照對話框由上而下的順序排列。

    Agent「新增工具」選單,列出可加入的工具類型

  2. 在最上方的「名稱」填一個名字——這是必填,漏了會在按儲存時被擋下來。

  3. (選用)「追蹤工具結果」開關決定要不要把這個工具的回傳內容留在對話紀錄裡。
  4. 選擇要查詢的「知識庫」(Knowledge Base)。挑選對話框裡請點該列「名稱」以外的任一格(或列前面的選鈕)來選取,再按對話框右上角的「儲存」——點「名稱」會在新分頁開啟該資源的詳細頁,不會選取它(見資源挑選欄位)。
  5. 選擇一個或多個「檢索器」(Retriever,可複選)。
  6. (選用)「資料欄位」限定只檢索知識庫裡的某幾個欄位。
  7. (選用)選擇一個「排序器」(Ranker)。
  8. (選用,只有建立 Agent 時才有這個欄位)在「專業領域」填入這個知識庫的主題(例如「公司產品手冊」)。填好後點到別的欄位(離開這個欄位),系統就會依此在下方的「描述」自動產生一段範本,你可以接著修改。注意順序:只要「專業領域」有值,每次離開該欄位都會重寫整個「描述」,所以要先填它、再改描述(詳見下方警告)。
  9. 填寫「描述」,說明這個知識庫裝的是什麼內容,讓 Agent 知道何時該查。

    建立 Agent 時的「新增檢索工具」設定面板,依序為名稱、追蹤工具結果、知識庫、檢索器、資料欄位、排序器、專業領域、描述等欄位

  10. 儲存。

編輯既有 Agent 時,看不到「專業領域」

這個欄位只出現在建立 Agent 的表單(也就是你第一次設定這個工具的時候)。之後從 Agent 編輯畫面打開同一個檢索工具,欄位清單會變成「名稱/追蹤工具結果/知識庫/檢索器/資料欄位/排序器/描述/顯示名稱/標籤」——「專業領域」不在裡面,連帶那個自動產生描述的功能也用不到。找不到它不是壞掉,也不必去進階設定裡找。之後想調整說明文字,直接改「描述」即可。

「專業領域」會覆蓋你寫好的「描述」

只要「專業領域」有值,每次離開該欄位就會用範本重寫整個「描述」,蓋掉你原本手打的內容。所以順序很重要:先填專業領域讓它生範本,再去改描述;描述改好之後就不要再回頭動專業領域了。

這也是為什麼上圖的「專業領域」是空的、「描述」卻已填好——那是最終狀態:範本用完(或直接自己寫),專業領域留空即可,它只是起草工具,不必留著。反之,若你填了專業領域卻沒看到描述變動,通常是還沒真正離開欄位——請點一下別的欄位。


完整欄位說明

欄位 必填 預設 說明
名稱(Name) (無) 提供給大型語言模型的工具名稱,模型靠它選擇並呼叫工具;建議取清楚、具描述性的名字。同一 Agent 內不可重複。
追蹤工具結果(Track Tool Results) 關閉 開關。啟用後,Agent 的回應會一併附上檢索到的資料,並以引用方式標示來源出處。
知識庫(Knowledge Base) (無) 要搜尋的知識庫。
檢索器(Retriever) (無) 用來檢索的檢索器,可複選,至少一個。
資料欄位(Data Fields) 全部欄位 指定只搜尋知識庫的特定索引欄位;留空則使用全部欄位。僅適用於有欄位結構的資料(CSV/TSV/JSON/JSONL)。
排序器(Ranker) (無) 重新排序查到的結果,提升相關度。可清除。
專業領域(Knowledge Domain) (無) 僅建立 Agent 時出現(編輯既有 Agent 時沒有這一欄)。這個知識庫的主題或領域。填好離開欄位後,系統會自動依此產生一段「描述」範本,方便你接著修改。
描述(Description) (無) 說明知識庫內容與用途,Agent 靠它判斷何時查詢。
顯示名稱(Display Name) (無) 進階設定。設定這個工具在 Agent 聊天思考過程中顯示的名稱,最多 64 字。
標籤(Tags) (無) 進階設定。為工具加上標籤,方便分類與管理。

「描述」決定 Agent 會不會查這個知識庫

Agent 是靠「描述」判斷何時、該不該查這個知識庫。描述寫得越清楚具體,越能在對的時機被正確使用;寫得太籠統,可能該查時沒查、或用錯場合。建議寫明這個知識庫裝什麼內容、什麼情況下該來查。例如:

公司產品的規格、價格與常見問題。當使用者詢問產品細節時,先查這裡。


實際效果

設定好之後,當使用者提出相關問題,Agent 會自動呼叫這個工具,先到知識庫查找,再依查到的內容作答。下圖是一個熟悉公司產品文件的助理實際對話的例子——使用者詢問退換貨政策,Agent 先用檢索工具查知識庫,再根據查到的文件回答:

Agent 對話畫面:先用 KnowledgeBaseRetrievalTool 以「退換貨政策」查詢知識庫,再根據查到的內容回答退換貨規定

對話會以可展開的卡片,依序顯示工具的執行過程:

  • 使用 …查詢相關資訊:Agent 送出的查詢字串(這裡是「退換貨政策」)。
  • 接收 …的查詢結果:知識庫回傳的相關段落。上圖這張卡片保持收合(所以圖上看不到段落內容),點一下標題即可展開,看到 Agent 實際讀到了哪幾段文件。
  • 最後 Agent 根據這些內容整理出回答,而不是憑空作答。

查不到就不會亂編

若知識庫裡沒有相關內容,Agent 會回報「找不到相關說明」,而不是自行杜撰——這正是檢索(RAG)的價值:回答以你的文件為根據。


下一步