RAG 與知識庫
Cross-Encoder 交叉編碼器是什麼?更準但更慢的比對方式
Cross-Encoder 交叉編碼器是什麼?更準但更慢的比對方式
知識庫撈出來的十份資料裡,只有一份真的答得到問題,剩下九份都只是「字面上有點像」。
交叉編碼器就是負責在最後一關把那一份挑出來的機制。它慢,但它準。
你將學到什麼
一句話定義
把問題跟文件綁在一起深度比對,輸出相關性分數的打分機制。
白話比喻
初選看履歷關鍵字,決選是把人找來面試,一題一題對著問。
用在哪一步
檢索召回之後的重排序階段,只處理少量候選文件。
代價是什麼
逐對計算、耗算力、速度慢,不適合拿來做大規模初步檢索。
定義
Cross-Encoder(交叉編碼器)是一種將查詢(問題)與文件(段落)串接在一起、輸入到同一個 Transformer 模型中的機制,讓模型直接學習兩者的互動關係,輸出相關性分數。
運作方式分三步:輸入串接把問題與文件綁在一起、模型深度編碼同時理解兩者、輸出一個相關性分數。
它不只看文件內容,而是理解問題和文件之間的真正關係。
跟雙塔編碼器差在哪
| 項目 | Cross-Encoder 交叉編碼器 | Bi-Encoder 雙編碼器 |
|---|---|---|
| 輸入方式 | 查詢加文件串接在一起 | 查詢與文件分開編碼 |
| 互動方式 | 深度語義互動,逐對分析 | 向量相似度計算,獨立比較 |
| 相關性判斷 | 非常精準 | 較粗略 |
| 計算成本 | 高,較耗算力也較慢 | 低,效率高、速度快 |
| 適用場景 | 重排序,精準挑選最佳答案 | 初步檢索召回,快速找出候選文件 |
在 RAG 流程中的位置
第一步用向量搜尋或 BM25 做文件檢索,撈出前 K 筆候選文件。
第二步進入 Re-ranking 重排序,用交叉編碼器逐一與問題配對打分。第三步輸出分數最高的前幾筆,作為最終送進模型的依據。
實際用例
問「AI 如何應用在醫療影像診斷」,候選文件裡有一份談深度學習分析 X 光與電腦斷層影像、一份談影像壓縮技術、一份談醫療產業市場規模。
三份都含有「醫療」與「影像」,用 Embedding 相似度不一定分得出來,交叉編碼器則會把第一份的分數拉得明顯高於另外兩份。
延伸學習
Build My RAG|RAG 知識庫實戰(三天)
三天完整錄影,從一份文件做到可以問答的知識庫,再自己把它打爛、修好、養得起來。附兩天的操作講義、Demo 程式碼與測試文件組。
NT$ 6,980
ChatGPT 很強,但真正讓你下班的是 Google
六小時完整實錄。從「AI 很厲害,為什麼你還是每天加班」這個問題出發,把 Google Workspace 當成真正的工作平台重新設計一次流程 ── Sheets 的資料結構、Drive 與 Docs 的文件流、Gmail 與 Calendar 的通知系統,再用 Apps Script 讓它自己跑起來,最後收斂成一張屬於你自己的 AI 工作能力地圖。
NT$ 4,599

