RAG 工程流程:從文件匯入到查詢、引用與更新驗證
把資料匯入與查詢執行分開設計,確認來源版本、存取範圍、檢索方式與更新完成證據。沿一個向量索引範例,檢查答案支持、權限、例外與維運成本,而不是只看生成是否流暢。
作者
Tenten AI 研究團隊
AI 基礎設施
發布日期
更新日期
閱讀時間
3 分鐘

建立 RAG 系統,先分開兩條流程:資料如何進入可檢索的來源,以及使用者查詢時如何取得並使用內容。兩者需要各自的紀錄、接受條件與負責人。
以下用零件文件查詢作為假設的工程練習。目標是找出適用文件並回答有來源支持的問題;零件是否可訂購、價格與交期,仍要查詢有權提供當前狀態的系統。
先定義來源與可回答範圍
列出文件擁有人、版本、適用產品、權限與更新方式。歷史文件可能適合回答舊版本問題,卻不代表當前供貨狀態。把這個差異寫進查詢條件與評估資料。
原始 RAG 論文在 2020 年提出結合參數記憶與外部檢索內容的研究,並訓練其 RAG 模型。它支持理解這種模式,不提供本案的來源、權限或上線成效證據。
資料匯入與執行路徑分開測試
匯入時檢查解析品質、段落邊界、版本識別及存取資訊。是否使用 embedding、向量或混合檢索,依資料與任務選擇;Microsoft 的 RAG 概述也包含關鍵字與不同來源選項。
這是一個使用向量索引的範例,不是所有 RAG 系統的必備拓樸:
匯入流程
核准文件 -> 解析與版本/權限 -> 分段 -> embedding -> 更新索引
|
查詢流程 v
使用者/任務 -> 存取條件 -> 檢索 -> 適用內容 -> 生成 -> 核對支持/覆核
|
找不到、衝突或權限不符 -> 接手/停止
來源變更不等於索引與所有下游快取已同步。記錄匯入結果、失敗與版本,測試新增、修改、撤回及權限改動。索引排程說明可用來理解特定服務的排程行為;仍需驗證實際更新完成。
查詢時,取得使用者與任務範圍,依本案的存取控制挑選來源,再建立給模型的內容。文件層級存取控制需要相應設定與查詢整合,不能因文件已入庫就假設每位使用者都可見。
依資訊需求比較方法
| 方式 | 可以處理的需求 | 要評估的更新與限制 |
|---|---|---|
| 直接提供內容 | 已知且可放入上下文的核准材料 | 範圍、容量、版本、成本與回答支持 |
| 微調 | 特定行為、風格或任務適應 | 訓練資料、更新流程與評估;不等於查詢即時事實 |
| 檢索加生成 | 從較大來源集合選取適用內容 | 檢索、權限、更新、上下文與生成共同影響結果 |
這些方法可以組合。原始 RAG 研究就包含訓練,不能把 RAG 與微調寫成互斥選項。先比較本案資料變更頻率、評估結果與完整維運成本,再決定組合。
評估答案之前,也評估資料與失敗路徑
建立代表性問題,涵蓋可回答、證據不足、來源衝突、舊版本與越權存取。分別檢查來源是否適用、相關內容是否取得、生成是否受支持,以及引用是否指向真正支持該段的內容。
引用不是答案正確的替代指標。降低幻覺的工程指南提供核對、來源支持與承認未知等方法;產品仍需處理不完整來源、錯引與不確定結果。
不要預設每次錯誤都先調檢索:解析、版本、權限、提示與來源本身也可能是原因。沿紀錄定位問題,修改後用相關評估與回歸資料確認。營運時另記錄延遲、模型與索引費用、維護及人員覆核,讓接受決策涵蓋完整工作。

從一條工作流程開始。
釐清值得做的下一步。
留下聯絡方式與問題類型,我們會再透過 Email 了解現況,討論流程、整合與開發範圍。