1. RAG 基礎架構設計
問題:對比單階段檢索(Single-stage Retrieval)與兩階段檢索(Two-stage Retrieval)在 RAG 系統中的架構差異,說明在企業知識庫場景下為何優先選擇兩階段檢索?
答案:
單階段檢索直接通過向量數據庫對用戶 query 進行一次相似度匹配返回結果,架構簡單但精度有限;兩階段檢索則先通過召回階段(如向量檢索 + 關鍵詞檢索)獲取候選文檔,再通過重排序階段(如 Cross-Encoder 模型)對候選結果精細化排序,輸出最終答案。
企業知識庫場景優先選擇兩階段檢索的原因:
-
提升召回全面性:企業數據常包含專業術語、 acronyms 等,單向量檢索可能遺漏關鍵詞匹配的關鍵文檔,結合關鍵詞檢索(如 Elasticsearch BM25)可覆蓋更多相關內容。
-
優化排序精度:重排序階段通過 Cross-Encoder 計算 query 與文檔的深層語義關聯,能有效過濾表面相似但實際無關的文檔(如同名不同義的技術術語)。
-
適配復雜場景:企業知識庫存在多源異構數據(如文檔、表格、PPT),兩階段架構可在召回階段分別處理不同類型數據,重排序階段統一打分,實驗顯示該策略可使答案準確率提升 25%-30%。
2. 檢索優化技術
問題:解釋向量數據庫中的 IVF(Inverted File Index)與 HNSW(Hierarchical Navigable Small World)索引的原理,說明在高維向量(如 768 維)檢索場景下如何選擇?
答案:
IVF 索引通過聚類將向量劃分為多個單元格(Voronoi cells),檢索時先定位目標向量所屬單元格,再僅在該單元格內計算相似度,適用于高維向量的快速召回,查詢復雜度為 O (log n + k)(k 為單元格內向量數)。
HNSW 索引構建多層導航圖,底層包含所有向量,上層為稀疏連接的導航節點,檢索時從頂層開始通過貪心算法快速定位近似最近鄰,復雜度接近 O (log n),精度更高但構建成本高。
在 768 維高維向量檢索場景下的選擇依據:
-
若追求高吞吐量(如每秒千級查詢)且可接受 2%-5% 的精度損失,選擇 IVF 索引,配合 PQ(Product Quantization)壓縮向量至 64 字節,進一步提升速度。
-
若要求高精度檢索(如法律、醫療知識庫)且查詢量適中,選擇 HNSW 索引,設置 M=16(每層連接數)、ef_construction=200,平衡構建時間與檢索質量。
實際應用中,企業級向量數據庫(如 Milvus)通常支持動態切換索引,可根據業務峰谷調整策略。
3. 文檔分塊策略
問題:RAG 系統中,滑動窗口分塊(Sliding Window Chunking)與語義分塊(Semantic Chunking)各有何優劣?如何為技術手冊類長文檔設計分塊方案?
答案:
滑動窗口分塊按固定長度(如 512 tokens)切分文檔,相鄰塊保留重疊區域(如 20% 重疊),實現簡單但可能割裂語義單元(如跨塊的代碼邏輯)。語義分塊通過大模型識別句子間語義關聯,按完整語義單元(如段落、章節、邏輯單元)切分,保留語義完整性但依賴模型分塊能力,計算成本高。
技術手冊類長文檔的分塊方案設計:
-
基礎分塊:采用 “語義優先 + 滑動窗口兜底” 策略,先用語義分塊識別技術章節(如 “安裝步驟”“API 參數說明”),確保每個分塊包含完整功能描述。
-
粒度適配:對代碼片段、公式等密集信息采用小粒度分塊(256 tokens),對概述性文字采用大粒度分塊(1024 tokens),通過規則標記分塊類型(如
<code>
<text>
)。 -
元數據增強:為每個分塊添加層級元數據(如 “手冊名稱→章節→小節”),在檢索時通過元數據過濾無關章節,實驗顯示該方案可使技術問題的答案相關性提升 18%。
4. 多模態 RAG 實現
問題:如何構建支持圖文混合文檔的多模態 RAG 系統?說明圖像檢索與文本檢索的融合策略。
答案:
多模態 RAG 系統需同時處理文本與圖像內容,核心架構包括多模態預處理、跨模態檢索、融合生成三個模塊:
-
多模態預處理:文本部分按常規分塊嵌入;圖像通過 CLIP 等模型提取視覺特征,同時生成圖像描述文本(Alt-text),構建 “圖像特征 + 描述文本” 雙索引。
-
跨模態檢索策略:
-
文本主導查詢:先檢索相關文本塊,再通過文本中的圖像引用(如 “如圖 1 所示”)關聯圖像特征,返回圖文組合結果。
-
圖像相關查詢:將文本 query 轉換為視覺特征(如用 CLIP 的文本編碼器),與圖像特征庫檢索匹配,同時返回圖像周邊相關文本。
- 融合生成:大模型輸入同時包含文本塊內容、圖像描述及原始 query,通過提示詞引導模型綜合圖文信息生成答案,例如 “結合圖 1 的架構圖和文本步驟,說明系統部署流程”。
關鍵優化點:為圖像特征添加場景標簽(如 “架構圖”“流程圖”),檢索時通過標簽過濾無關圖像類型,提升匹配精度。
5. RAG 評估指標
問題:除了傳統的檢索準確率(Retrieval Accuracy),還需哪些指標評估 RAG 系統的質量?如何量化生成答案與檢索文檔的 “事實一致性”?
答案:
全面評估 RAG 系統需覆蓋檢索質量、生成質量、用戶體驗三類指標:
-
檢索質量:除準確率(P@k)外,需評估召回率(R@k)、MRR(平均倒數排名)、NDCG(歸一化折損累積增益),衡量檢索的全面性與排序合理性。
-
生成質量:包括 BLEU/ROUGE(文本相似度)、困惑度(Perplexity)、答案相關性(Relevance Score),以及事實一致性(Factual Consistency)。
量化事實一致性的方法:
-
模型判別法:訓練專門的事實核查模型(如基于 BART 的 FactChecker),輸入生成答案與源文檔,輸出一致性分數(0-1),判斷是否存在編造信息。
-
對比驗證法:提取答案中的關鍵事實點(如日期、數值、實體關系),與檢索文檔中的對應內容逐一比對,計算匹配率(如 10 個事實點匹配 8 個則得 80%)。
-
對抗測試法:構造包含誤導性文檔的測試集,評估模型是否會錯誤引用無關文檔的信息,通過錯誤率反向衡量一致性。
企業級 RAG 系統通常要求事實一致性得分≥90%,否則需優化檢索相關性或添加事實校驗模塊。
6. 實時性優化
問題:RAG 系統如何處理動態更新的知識庫(如每日新增 hundreds 篇文檔)?說明增量索引與緩存策略的設計要點。
答案:
處理動態知識庫需平衡實時性與檢索性能,核心方案包括增量索引與多級緩存:
- 增量索引策略:
-
采用 “批量 + 實時” 混合更新:非高峰時段對大批量文檔(如≥100 篇)進行全量重建索引,確保向量分布一致性;高峰時段對單篇 / 小批量文檔(如 < 10 篇)進行增量插入,通過向量數據庫的動態索引功能(如 Milvus 的 Dynamic Field)避免全量重建。
-
版本控制:為文檔添加時間戳版本,檢索時可按時間范圍過濾(如 “僅檢索近 30 天文檔”),支持數據回溯與錯誤修正。
- 緩存策略設計:
-
query 緩存:對高頻重復 query(如產品 FAQ)緩存檢索結果與生成答案,設置 TTL(如 24 小時),命中時直接返回,減少計算開銷。
-
文檔緩存:對熱門文檔(如被頻繁檢索的前 20% 文檔)的向量與元數據緩存在內存中,加速相似性計算。
-
分層緩存:用 Redis 緩存熱點數據,磁盤緩存全量索引,通過 LRU(最近最少使用)策略淘汰冷數據,實驗顯示該方案可使檢索延遲降低 40%-60%。
關鍵指標:動態更新的索引可見延遲需控制在分鐘級(如 < 5 分鐘),避免用戶查詢時獲取過期信息。
7. 多源數據融合
問題:如何將結構化數據(如數據庫表)與非結構化數據(如文檔)融合到 RAG 系統中?說明實體鏈接與知識圖譜的作用。
答案:
多源數據融合需打破結構化與非結構化數據壁壘,核心通過實體鏈接與知識圖譜實現語義關聯:
- 融合架構:
-
結構化數據處理:將數據庫表轉換為 “實體 - 屬性 - 值” 三元組(如 “產品 A - 價格 - 999 元”),生成向量嵌入并存儲至向量庫,同時保留 SQL 查詢能力。
-
非結構化數據處理:常規分塊嵌入,提取文檔中的實體與關系(如通過 spaCy 或 LLM 提取 “產品 A 支持功能 B”)。
-
知識圖譜構建:統一實體 ID,建立跨數據源的實體關聯(如文檔中的 “產品 A” 與數據庫中的 “產品 A” 綁定同一 ID),形成知識網絡。
-
實體鏈接與知識圖譜的作用:
-
實現跨源檢索:用戶查詢 “產品 A 的價格和使用場景” 時,系統同時檢索數據庫(價格)和文檔(使用場景),通過實體 ID 關聯結果。
-
增強推理能力:知識圖譜提供實體間的隱含關系(如 “產品 A 屬于系列 B,系列 B 兼容系統 C”),輔助模型生成更全面的答案。
-
解決歧義問題:通過實體消歧(如 “蘋果” 是水果還是公司),確保檢索到正確數據源的信息。
-
該方案可使多源查詢的答案豐富度提升 40%,尤其適合企業綜合知識庫場景。
8. 大模型與 RAG 協同
問題:對比 “大模型微調 + RAG” 與 “純 RAG” 方案的適用場景,說明如何通過 prompt 工程增強 RAG 的生成質量?
答案:
兩種方案的適用場景差異顯著:
-
純 RAG 方案:適用于知識庫頻繁更新(如每日更新)、領域邊界清晰(如產品手冊)、對事實準確性要求極高的場景(如客服問答),優勢是無需模型訓練,維護成本低。
-
微調 + RAG 方案:適用于專業領域深度問答(如醫療診斷、法律分析)、知識庫相對穩定、需要模型理解領域術語體系的場景,通過領域數據微調大模型后,再結合 RAG 補充實時信息,可提升推理深度。
通過 prompt 工程增強 RAG 生成質量的策略:
-
檢索引導:在 prompt 中明確要求模型優先引用檢索文檔,如 “僅基于提供的參考文檔回答,未提及的內容請說明‘無相關信息’”。
-
結構約束:指定輸出格式(如分點論述、結論 + 依據),例如 “1. 結論:…;2. 依據:文檔 [3] 第 2 段提到‘…’”,強制模型關聯源文檔。
-
質疑機制:引導模型檢查檢索文檔的完整性,如 “若參考文檔未完全覆蓋問題,請指出缺失信息并基于現有內容合理推測”,減少編造風險。
-
領域提示:注入領域知識模板,如技術文檔問答時添加 “請使用專業術語,解釋清楚技術原理與操作步驟”,提升答案專業性。
實驗顯示,優化后的 prompt 可使 RAG 生成的答案相關性提升 15%,事實一致性提升 10%。
更多大模型面試題
搜索 【碼上有模力】