semantic searchon-device AIembeddingsmobile AIimplementation
裝置端語意搜尋:無需伺服器的 AI 搜尋
如何建構完全在使用者手機上運行的語意搜尋。本地嵌入、向量相似度和自然語言查詢,無需伺服器或 API 即可搜尋使用者內容。
Edward Xi Yang
當使用者不知道確切的詞彙時,關鍵字搜尋就會失敗。「上週那封關於預算會議的電子郵件」無法匹配主旨為「第三季財務審查」的郵件。語意搜尋理解意義,而非僅僅是關鍵字。
標準做法是將語意搜尋放在具有向量資料庫的伺服器上。但對於使用者內容在本地的行動應用(筆記、訊息、照片、文件),將該內容發送到伺服器就違背了將其保留在裝置上的初衷。
裝置端語意搜尋讓一切保持在本地。嵌入模型在手機上運行。向量索引存在本地儲存中。搜尋查詢永遠不會離開裝置。
語意搜尋的工作原理
- 索引: 每段內容使用小型模型轉換為嵌入向量(一組代表其意義的數字)
- 儲存: 嵌入向量與內容一起儲存在本地資料庫中
- 查詢: 使用者的搜尋查詢使用相同的模型轉換為嵌入向量
- 比對: 查詢向量使用餘弦相似度與所有已儲存的向量進行比較
- 排序: 結果按相似度分數排序返回
奧妙在於嵌入。關於同一主題的兩段文字會產生相似的向量,即使它們沒有共同的關鍵字。