AI 與 LLM個人化Performance 與 Scale 方案

即時推薦

只需一輪讀取就能完成個人化推薦。使用者特徵、依向量找出的相似項目與熱門趨勢,再扣掉他們已經看過的。

種訊號,一台伺服器
4
個重複出現的已看過項目
0
熱門計數
即時
步驟 1 / 6
統計熱門趨勢

Top-K 清單以 TOPK.RESERVE 建立一次。每次瀏覽都會更新它,掉出前幾名的項目也會被回報。

範例工作階段playing
# 統計熱門趨勢
hotkv> TOPK.ADD trending:shoes sku:88 sku:17 sku:88
1) (nil)
2) (nil)
3) (nil)

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

問題

好的推薦會融合使用者是誰、與他們喜歡的東西相似的項目、當下什麼最熱門,以及他們已經看過什麼。這些訊號通常分散在四個系統中,在請求時把它們拼湊起來,會讓每個頁面都增加延遲。

HotKV 如何處理

HotKV 把這四種全都涵蓋了。特徵庫存放使用者的個人檔案,向量索引找出相似項目,Top-K 結構在事件到來時追蹤熱門趨勢,而每位使用者各一個的 Bloom filter 會移除他們已看過的項目。推薦器只需幾次呼叫,就能從同一台伺服器讀取這一切。

逐步說明

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

  1. 01

    統計熱門趨勢

    Top-K 清單以 TOPK.RESERVE 建立一次。每次瀏覽都會更新它,掉出前幾名的項目也會被回報。

    TOPK.ADD trending:shoes sku:88 sku:17 sku:88
  2. 02

    載入使用者的特徵

    提供給排序模型的個人檔案與行為特徵,並附帶其新舊程度。

    FEATURE.GET user_features user:42
  3. 03

    找出相似項目

    使用者的偏好向量會找出最接近的商品。

    VSIM.SEARCH items 20 0.31 0.12 0.77 ...
  4. 04

    剔除他們看過的

    每位使用者各一個的 Bloom filter,只要一次呼叫,就能針對整份候選清單回答「以前看過嗎?」。

    BF.MEXISTS seen:user:42 sku:88 sku:5 sku:17
  5. 05

    加入當下熱門的項目

    目前的熱銷商品加入候選清單,再由排序模型排出最終的清單。

    TOPK.LIST trending:shoes WITHCOUNT
  6. 06

    記住這次曝光

    已顯示的項目會加入使用者的過濾器,明天就不會重複出現。

    BF.MADD seen:user:42 sku:5 sku:17
適用之處

真實世界的情境

零售與市集平台

「您可能也喜歡」的區塊混合相似商品與當下熱銷的商品,而且在同一個工作階段中絕不會重複顯示相同的項目。

媒體與串流

首頁依偏好向量與即時人氣為節目排序,並略過觀眾已經看完的作品。

新聞與內容動態

依主題相似度推薦文章,同時熱門報導即時竄升。

內建

您能獲得什麼

特徵庫

依使用者或項目儲存具型別的特徵,供推論時低延遲讀取。

FEATURE.GETFEATURE.BATCH

相似項目

來自 HNSW 向量索引的最近鄰。

VSIM.SEARCH

當下熱門

Top-K 在事件串流中保留出現頻率最高的項目。

TOPK.ADDTOPK.LIST

已看過過濾器

Bloom filter 以固定的每位使用者記憶體回答「以前看過嗎?」。

BF.MADDBF.MEXISTS

常見問題

Bloom filter 可能出錯嗎?

它偶爾會在項目沒看過時說看過,誤差率由您以 BF.RESERVE 選定。但它絕不會在項目已看過時說沒看過。

排序模型在哪裡運行?

在您自己的服務中。HotKV 以低延遲提供特徵與候選項目,最終的排序由您的模型決定。

哪些方案包含它?

特徵庫屬於 Performance 與 Scale 方案。向量搜尋、Top-K 與 Bloom filter 在每個方案上都能使用。

相關使用情境

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

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