詳細解釋
基於向量相似度而非字符串匹配的緩存機制,專為 LLM 應用設計。傳統緩存要求查詢完全相同(「北京天氣」≠「今天北京天氣怎樣」),語義緩存則用 embedding 模型判斷語義相似度(餘弦相似度 > 0.9 視為同一問題)。
工作流程:
- 新查詢到達時,先計算其 embedding
- 在向量數據庫中搜索相似歷史查詢
- 若找到且相似度足夠高,直接返回緩存結果
- 若無,調用 LLM,並將(查詢 embedding, 結果)存入緩存
價值在於降低成本(避免重複調用昂貴的 GPT-4)和提升速度(緩存響應毫秒級 vs API 調用數百毫秒)。GPTCache、CacheLib 等開源庫實現此功能。
挑戰包括:語義漂移(「推薦餐廳」vs「推薦約會餐廳」細微差異)、緩存一致性(模型更新後舊緩存可能過時)、存儲成本(向量數據庫比 key-value 存儲貴得多)。適合查詢模式集中、答案相對穩定的應用(如客服 FAQ、代碼文檔問答)。