AAAI 中國大灣區分會知識庫 返回官網
AAAI 中國大灣區分會 · 知識庫
技术路径

RAG 知識庫:設計、評估與上線

實踐指南

從資料來源與文件權限,到檢索評估、回答引用、更新刪除及上線驗收,建立可追溯的企業知識庫。

知識文件、語義索引與來源連結的概念插畫

RAG(檢索增強生成)把查到的資料帶入模型的回答過程。企業要取得可信的問答能力,需要同時管理資料來源、文件權限、檢索質量、引用依據及回答失敗時的處理方式。向量搜尋只是其中一環。

本指南對應技術人學習路徑 B3,涵蓋產品 FAQ、政策查詢、評論分析及內部培訓知識庫的設計、實施與驗收。建議先完成資料管道基礎,再銜接Agent 工作流。

1. 先定義問題、資料與使用者

場景應使用的資料首先核對的條件驗收問題
產品 FAQ已批准規格、版本手冊、保養條款型號、銷售地區、有效版本回答是否與該型號的有效規格一致?
政策查詢平台或機構的一手政策文件生效日期、地區、適用業務新舊條款衝突時是否採用正確版本?
評論分析獲准使用的評論及來源標識授權、語言、樣本期間摘要是否可追溯,是否區分常見與個別意見?
供應商知識合約、規格及已確認往來資料使用者是否有權查看該供應商資料是否避免跨客戶、跨租戶或跨團隊披露?
內部培訓已批准 SOP、課程及操作指引文件擁有人、更新與下架流程新人能否完成指定任務並找到原始依據?

先選擇可界定、可授權、可驗證的一類問題。把「提高效率」拆成實際指標:完成任務時間、人工覆核時間、錯誤、返工、查詢成本及使用者成功率。先量度基線,再比較試行結果。

RAG 原始研究展示了結合參數模型與外部檢索記憶的方法,並在指定知識密集任務上評估。企業知識庫仍需用本身的資料和工作流程驗證成效。

2. 架構:資料準備、查詢、權限與版本

flowchart LR
  A[獲准使用的原始文件] --> B[解析、來源與權限標記]
  B --> C[分塊及索引版本]
  C --> D[檢索及重排序]
  U[已驗證使用者的問題] --> D
  P[伺服器授權及文件範圍] --> D
  D --> E[證據檢查及回答生成]
  E --> F[回答、來源、版本與後續行動]

資料準備應產生穩定的文件及段落 ID,保留來源位置、內容版本、擁有人、有效日期、語言、權限範圍及下架狀態。分塊後仍要能找到原頁、表格、條款或原文段落。

查詢前,由伺服器驗證身份及資料範圍,從使用者可讀取的文件中檢索。引用連結、搜尋摘要、快取、日誌及下載入口也要執行相同的權限規則。文件中的指令不能改變使用者的權限。

Microsoft 的文件級存取控制說明可作實作參考;具體服務的功能、預覽狀態及身份整合方式,須以採用版本核對。

更新與刪除

文件修改後,要完成解析、索引、版本發佈及快取更新,才能判定查詢已使用新資料。刪除或撤回文件時,也要處理舊段落、衍生摘要及引用入口。保留更新失敗、待處理及已完成的狀態,避免將未成功的工作顯示為完成。

3. 選擇與驗證技術組合

決策要比較甚麼留下的證據
文件解析PDF 表格、掃描件、頁碼、中文標點及 OCR 錯誤原文與解析後樣本、失敗清單
分塊條款完整性、標題層級、表格上下文及跨段問題固定問題集下的檢索結果
Embedding目標語言、專有詞、型號、模型版本及維度相同資料下的檢索評估
搜尋關鍵字、向量、混合搜尋及篩選召回、精確度、延遲及成本
重排序是否改善排序,是否增加可接受的時間及費用同一候選集的前後比較
生成模型證據使用、拒答、引用及輸出格式人工核對結果與失敗分類
部署身份整合、儲存、備份、資料傳輸及營運能力實際設定、故障演練及成本記錄

按實測選擇分塊與 Top-K;不要把單一 token 長度當作普遍最佳值。Embedding 模型或維度改動時,需規劃重建索引及版本切換。向量庫的容量、過濾能力、持久化與備份有各自限制,須按實際負載驗收。

Lost in the Middle研究了資訊位置對指定長上下文任務的影響。它提醒我們測試證據的位置與干擾內容;該研究的結果不能直接當作所有現有模型的固定表現。

4. 按步驟建立可營運的知識庫

  1. 資料盤點:指定文件擁有人、用途、權限、來源和可公開範圍;隔離未批准或來源不清的資料。
  2. 解析核對:檢查表格、掃描件及關鍵數字;保留讀取失敗的文件,讓工作人員處理。
  3. 索引建立:生成穩定 ID、版本及權限標記;用真實查詢測試分塊、搜尋和重排序。
  4. 查詢服務:驗證身份、限制文件範圍、處理逾時及零結果;輸出可追溯的來源位置。
  5. 回答契約:規定可回答範圍、引用格式、證據衝突和資料不足時的處理方式。
  6. 固定評估:每次變更保留相同的測試題、資料版本、模型設定及評分方式。
  7. 受控試行:讓獲授權的使用者完成真實任務;記錄人工覆核、錯誤和返工。
  8. 發佈與回退:驗收後切換索引版本;監察來源更新、失敗隊列和引用失效,保留可回退版本。

5. 分開評估檢索與回答

檢索指標

建立有文件或段落標註的可回答問題集,並把無答案、未標註及權限受限題目分開處理。以下函數接受實際段落 ID,計算單題的 Precision@K、Recall@K 與截斷至 K 的 reciprocal rank。重複 ID 會被拒絕;不足 K 條結果時,Precision@K 的分母仍為 K。

function retrievalMetrics(retrievedIds, relevantIds, k) {
  const validIds = ids => Array.isArray(ids) && ids.every(id =>
    typeof id === "string" && id.length > 0 && id === id.trim());
  if (!validIds(retrievedIds) || !validIds(relevantIds)) {
    throw new Error("Explicit passage ID arrays required");
  }
  if (!Number.isSafeInteger(k) || k < 1) throw new Error("Positive integer k required");
  if (!relevantIds.length) throw new Error("Evaluate unlabelled or unanswerable questions separately");
  if (new Set(retrievedIds).size !== retrievedIds.length ||
      new Set(relevantIds).size !== relevantIds.length) {
    throw new Error("Duplicate passage IDs must be resolved before evaluation");
  }
  const relevant = new Set(relevantIds);
  const top = retrievedIds.slice(0, k);
  const hits = top.filter(id => relevant.has(id)).length;
  const first = top.findIndex(id => relevant.has(id));
  return {
    k, returned: top.length, relevant: relevant.size, hits,
    precisionAtK: hits / k,
    recallAtK: hits / relevant.size,
    reciprocalRankAtK: first < 0 ? 0 : 1 / (first + 1)
  };
}

函數的結果只反映檢索命中;它不判斷回答是否忠於原文、引用是否支持每個主張,亦不代表整體業務效果。彙總時要說明問題數、標註方法、平均方式和未能評分的項目。

回答及使用者任務

維度核對方法
事實與版本逐項對照有效來源,檢查單位、日期、型號及適用地區
引用支持確認引用段落確實支持相鄰主張,而非只有主題相近
證據不足檢查是否清楚說明缺少甚麼、如何補充或轉交人工處理
權限使用不同帳戶、角色與租戶測試相同問題,檢查摘要及快取
任務成功觀察使用者是否完成工作,並量度覆核、錯誤及返工
營運成本同時記錄延遲、檢索/生成費用及人工處理成本

Ragas 研究把檢索與生成拆成不同評估維度。自動評分適合協助篩選與回歸比較;涉及實際業務承諾的答案仍需以原始證據及領域判斷核對。

6. 證據不足、來源衝突與惡意內容

  • 沒有檢索結果:保留問題與受授權的查詢範圍;引導補充型號、日期或文件,必要時轉交負責人。
  • 新舊來源衝突:列出版本及適用範圍,按已批准規則處理;無法決定時交由文件擁有人核對。
  • 引用不支持答案:阻止把該答案當作已核實內容,重做檢索或轉交人工。
  • 來源權限變更:即時按新權限限制使用,並處理舊快取及下載連結。
  • 外部文件要求洩露資料或執行操作:視為待處理資料,不能據此提升權限、傳送敏感資訊或啟動工具。

OWASP 的提示注入風險說明指出,RAG 本身不能完整消除提示注入風險。權限、工具限制和資料處理規則應由系統執行。

7. 上線、維護與驗收

服務端要保護登入與文件授權、連線憑據、上傳格式和資源用量。檢查 embedding、生成、遙測及其他連接器的實際資料流;在本機運行一個模型,不足以證明所有資料都留在本機。

建立備份與回復、索引重建、版本回退及刪除演練。日誌只保留營運必需資料,避免把完整私有文件及客戶問題散落到未受保護的監控服務。

驗收應包括:正常回答、查不到資料、版本衝突、來源失效、逾時、越權請求、租戶隔離、撤回文件、模型/索引更新及服務重新啟動。發佈報告應附實際題目、資料版本、結果、失敗原因與改進安排。

延伸閱讀

本頁內容