AI 與 LLMLLM 應用程式Performance 與 Scale 方案

語意回應快取

依語意而非精確文字來快取 LLM 的回答,讓換句話說的問題也能命中快取,並略過模型呼叫。

次查找,在每次模型呼叫之前
1
種相似度度量
3
可覆寫門檻
每次呼叫
步驟 1 / 6
建立命名空間

設定嵌入的維度,以及相似度要多高才算命中。

範例工作階段playing
# 建立命名空間
hotkv> SCACHE.CREATE support_bot 1536 THRESHOLD 0.92
OK

以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。

問題

客服助理會收到用上百種不同說法提出的同一個問題。精確比對的快取幾乎全部落空,因此每一種換句話說的版本,都得支付一次完整的模型呼叫費用,並等待完整的回應。

HotKV 如何處理

語意快取會把每個回答連同其問題的嵌入一起儲存,並以相似度查找新的問題。如果新的提示詞與您回答過的某個問題夠接近,就會回傳儲存的回答,完全不呼叫模型。門檻決定了多接近才算夠接近。

逐步說明

逐個指令看看發生了什麼事

  1. 01

    建立命名空間

    設定嵌入的維度,以及相似度要多高才算命中。

    SCACHE.CREATE support_bot 1536 THRESHOLD 0.92
  2. 02

    未命中,所以呼叫一次模型

    第一次問到這個問題時,快取中沒有任何相似的內容,因此由模型回答。

    SCACHE.GET support_bot 0.013 -0.21 0.88 ...
  3. 03

    記住這個回答

    儲存問題、回答與問題的嵌入,保留一天。

    SCACHE.SET support_bot "How do I reset my password?" "Open Settings > Security." 0.013 -0.21 0.88 ... TTL 86400
  4. 04

    換個說法也能命中

    「forgot my login pass」與已儲存的問題非常接近。回答與其相似度會一併傳回,模型則被略過。

    SCACHE.GET support_bot 0.011 -0.19 0.87 ...
  5. 05

    單次查找可以更嚴格

    查找時可以要求比命名空間預設值更接近的比對,適用於差一點就不夠好的回答。

    SCACHE.GET support_bot 0.2 0.4 0.1 ... THRESHOLD 0.99
  6. 06

    衡量節省的成效

    依命名空間的統計會顯示快取代替模型回答的頻率。

    SCACHE.STATS support_bot
適用之處

真實世界的情境

客戶支援

重設密碼、發票副本與運送時間,一再被詢問。第一次之後的每個變體,都由快取回應。

內部知識機器人

員工用自己的說法詢問假期、費用報銷與 VPN 存取。同一個回答在過期之前可以服務所有人。

開發者工具

「How do I paginate?」與「how to page through results」會得到同一個文件記載的回答,不需要第二次模型呼叫。

內建

您能獲得什麼

依語意比對

相似的問題無論說法如何,都共用同一個快取的回答。

SCACHE.GETSCACHE.SET

嚴格程度由您控制

可依命名空間設定門檻,並在單次查找時覆寫。

SCACHE.THRESHOLD

可衡量的節省

依命名空間的統計會顯示命中、未命中與項目數。

SCACHE.STATS

餘弦、L2 或內積

建立命名空間時,選擇與您的嵌入模型相符的度量。

SCACHE.CREATE

常見問題

快取命中要花多少成本?

一次嵌入呼叫加上一次快取查找。模型呼叫與其產生回答的時間都會被略過。

如何避免寬鬆比對造成的錯誤回答?

提高門檻。較高的門檻需要更接近的比對,因此命中的問題較少,但每次命中都更有把握。

哪些方案包含它?

語意快取屬於 Performance 與 Scale 方案。

相關使用情境

在您自己的工作負載上試試看

HotKV 支援 Redis 協定,因此您可以將現有的用戶端指向它,並執行這些相同的指令。