基礎概念

什麼是知識庫?

代理被允許據以作答的那些文件。agent4.io 分開存放兩種——你公司審核過的資料,以及每位客戶自己的檔案——一起檢索,但絕不混為一談。

又稱KBRAG檢索增強生成retrieval augmented generation文件庫向量檢索

知識庫是讓代理變成「你的」而不是「泛用的」那個東西。它回答的是「這句話是哪來的」——而如果裡面根本沒有,代理就該直說沒有。

是兩套知識庫,不是一套

多數平台只給你一堆文件。這對一個回答常見問題的客服機器人夠用,但拿來做真正的生意差得很遠,因為客戶實際會問的兩種問題,性質根本不同:

「你們的條件是什麼?我符合嗎?」——這是你的資料。收費表、資格規則、現行法規、產品說明。誰來問都是同一份答案,經過你的審核,具有權威性。

「這是我的畢業證書和在職證明,我這樣算到哪裡?」——這是他的資料。它只屬於一位客戶,經常很敏感,而且對其他任何人都毫無意義。

agent4.io 把這兩者當成兩套獨立的系統,刻意不共用實作:

租戶知識庫客戶知識庫
擁有者你,也就是企業本身單一終端客戶
內容法規、價格、政策、產品條款他的文件、證書、往來文件
隔離方式在 API 層依租戶過濾由資料庫強制執行,依客戶與空間為界
靜態儲存不加密——這本來就是你對外公開的資料用該客戶自己的金鑰加密
維護者你的管理員,發布前先審過客戶隨手自行上傳

為什麼真正的答案兩邊都要用到

拿一個移民諮詢當例子:「這條途徑的薪資門檻我過得了嗎?」

門檻在你的租戶知識庫裡——你們事務所審核過的現行規定。他的薪資在他自己的知識庫裡——上週上傳的那封在職證明。這兩半單獨拿出來都答不了這個問題。只有你的文件的代理,只能把規則背一遍,然後請客戶自己去比對;只有他的文件的代理,知道他薪水多少,卻不知道要過的門檻是什麼。

同一個問題兩邊一起檢索,而答案就是那個比對的結果。

讓兩者不會被搞混的機制

檢索到的段落不會倒進同一個桶子。每個來源會以各自的區塊、配上各自的定位送進去:

  • 你的資料被標示為權威、必須遵循,而且每一個知識庫都帶著你自己寫的、給模型的指示。一個法規庫可以寫:這是審核過的現行規定;只從這裡作答,不要退回你的既有知識,這裡沒寫到的就說沒有。
  • 客戶的資料則被標示為僅供參考——是他的東西,有用,但不是政策的來源。

這個區別,正是「貴所的費用是 X」和「客戶因為自己上傳的某份文件裡這樣寫,所以認為費用是 X」的差別。一個分不出這兩者的代理,遲早會把客戶自己的錯誤原封不動地當成你的政策再講給他聽。

一個沒有任何相關段落的知識庫,什麼都不會貢獻——連標頭都不會出現。相關與否在模型看到任何東西之前,就已經由向量距離決定了,所以一個無關的知識庫不會杵在那裡消耗它的注意力。

每個知識庫可以各自調鬆緊

每個知識庫都有自己的相關度門檻,因為該多謹慎,在不同地方本來就不一樣。法規庫應該嚴:低於門檻就什麼都不回、直接說「我沒有這項資料」才是對的,遠好過端出一段講另一條途徑、只差一點點的文字。一般常見問答可以鬆一點,大致相關的答案還是有幫助。

知識庫不是訓練資料。你上傳的東西不會改變模型;它改變的是模型在回答的那一刻被允許讀什麼。這也是為什麼改一份文件,之後所有答案立刻跟著改——不用重新訓練,也不用重新部署。

想了解實作細節?檢索與出處標註的細節