ШІ та 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 тримає всі чотири. Feature store містить профіль користувача, векторний індекс знаходить схожі елементи, структура Top-K відстежує тренди в міру надходження подій, а фільтр Блума для кожного користувача прибирає вже побачені елементи. Рекомендатор читає все це з одного сервера кількома викликами.

Крок за кроком

Що відбувається, команда за командою

  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

    Відкиньте побачене

    Фільтр Блума для кожного користувача відповідає на «бачив раніше?» для всього списку кандидатів одним викликом.

    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 store

Типізовані ознаки для кожного користувача чи елемента для читання з малою затримкою під час інференсу.

FEATURE.GETFEATURE.BATCH

Схожі елементи

Найближчі сусіди з векторного індексу HNSW.

VSIM.SEARCH

Зараз у тренді

Top-K зберігає найчастіші елементи в потоці подій.

TOPK.ADDTOPK.LIST

Фільтри побаченого

Фільтри Блума відповідають на «бачив раніше?» зі сталим обсягом пам'яті на користувача.

BF.MADDBF.MEXISTS

Поширені запитання

Чи може фільтр Блума помилятися?

Він іноді може сказати, що елемент бачили, хоча ні, із ймовірністю помилки, яку ви обираєте через BF.RESERVE. Він ніколи не скаже, що елемент не бачили, якщо його бачили.

Де працює модель ранжування?

У вашому власному сервісі. HotKV віддає ознаки й кандидатів із малою затримкою, а ваша модель визначає остаточний порядок.

Які плани це містять?

Feature store входить до планів Performance і Scale. Векторний пошук, Top-K і фільтри Блума працюють на кожному плані.

Пов'язані сценарії використання

Спробуйте на власному навантаженні

HotKV розмовляє протоколом Redis, тож ви можете направити на нього наявний клієнт і виконувати ті самі команди.