發佈於

Embedding 打造高效可靠 AI 應用

作者
  • 作者頭像
    作者
    ChrisTorng
    Twitter

===

看了 The Super Effectiveness of Pokémon Embeddings Using Only Raw JSON and Images 這篇,才發現不一定需要不可靠又緩慢的 LLM 來做 RAG,只要 embedding 就能做出高效低成本且可靠可上線的 AI 應用。

大家要做自己的 AI 應用,首選都是 RAG。先以 embedding 之 Retrieval 技巧找到一些相關原始資料,再把幾段文字丟給 LLM,期望 LLM 能整理後吐出正確答案。若不幸那幾段文字沒有正確答案,希望 LLM 就說參考資料中沒有答案。相信大家做到後來,就剩幾個百分比的錯誤率,怎麼也很難提高。是否要冒這最後一點錯誤率的風險就上線? 還是只能放棄這個應用? (若 Retrieval 做不到 100%,等待未來更厲害的 LLM 仍然無法完全解決問題)

但如果只靠 embedding,可以將所有原始資料依相似度排出順序,由最相近開始列表到最不相近。這種列表呈現方式,相當於傳統搜尋引擎或全文搜尋,大家用起來都很熟悉,而且保證內容正確。若技術不夠到位,只是順序不理想,但不能說列表結果是錯誤的。而 embedding 排序確實是依文意之相似度來排序,而不是依關鍵字比對,仍然是一種 AI 應用。

對於可以容忍一些錯誤率的應用,仍可以導入 LLM。若無法容忍,那只用 embedding 是可運用的選項,而 RAG 中有關 Retrieval 的各種技巧都可以拿來運用。只用 Retrieval 不用 Generation 的速度當然快多了,每個查詢的成本自然也降低許多。

GraphRAG

這裡順便介紹微軟剛開源的 GraphRAG,預先利用 LLM 打造知識圖譜,讓 Retrieval 更精準: