檢索增強生成

以嵌入為基礎的檢索(embedding-based retrieval)

以嵌入為基礎的檢索(embedding-based retrieval)不是比對一模一樣的字詞,而是比對意義。每個片段都被轉成一個嵌入(embedding)——一串數字,把這段文字放到一個空間裡的某一點,意思相近的段落會落在彼此附近。你的問題也用同樣方式轉成向量,系統就直接取出向量離它最近的那些片段。同義詞和換句話說不再是問題,因為「接近」講的是意義,不是拼字。

接近程度用餘弦相似度(cosine similarity)或內積來衡量,而要在數百萬個向量中找出最近的幾個,會用近似最近鄰搜尋來保持速度。好處很具體:像「我要怎麼重設密碼?」這樣的問題,即使和標題為「帳號救援步驟」的段落沒有任何共同關鍵字,也能被撈回來,因為兩者的意義——以及它們的向量——是對齊的。這正是大多數 RAG 系統內部的檢索引擎。

\mathrm{sim}(q,d)=\frac{q\cdot d}{\lVert q\rVert\,\lVert d\rVert}

餘弦相似度依每個文件向量 d 與查詢向量 q 的夾角來排序。

又称
dense retrievalvector retrieval