詳細解釋
RAG 中的策略:先用小模型(快速、便宜)做初步檢索,再用大模型(準確、強大)處理篩選後的結果,平衡成本和效果。
動機:
- 大模型嵌入(如 OpenAI text-embedding-3-large)質量高但貴且慢
- 小模型(如 all-MiniLM)便宜但可能漏掉相關文檔
- 直接用大模型檢索所有文檔成本不可接受
兩階段流程:
- 召回(Recall):小模型檢索大量候選(如 Top-100),追求高召回率(不漏)
- 精排(Rerank):大模型對候選重新打分,選 Top-5 最相關,追求高精度(不錯)
技術實現:
- 第一階段:輕量 Bi-encoder(獨立編碼查詢和文檔)
- 第二階段:Cross-encoder(查詢和文檔一起編碼,交互注意力,更準但慢)
- 或直接用 LLM 判斷相關性(最貴但最準)
成本效益:
- 小模型處理 95% 文檔,大模型僅處理 5% 候選
- 總成本降低 50-90%,效果損失 <5%
工具支持:
- Cohere Rerank:專用重排序 API
- bge-reranker:開源重排序模型
- LlamaIndex:內建兩階段檢索
變體:
- 多階段:小 → 中 → 大,逐步精煉
- 動態:根據查詢複雜度決定是否啟動重排序
- 學習:根據用戶點擊反饋優化重排序
這是 RAG 系統的標準最佳實踐—— 不追求單一模型解決一切,而是組合不同模型各取所長。