ИИ и LLMПриложения на LLMТарифы 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

Cosine, L2 или inner product

Выберите метрику, соответствующую вашей модели эмбеддингов, при создании пространства имён.

SCACHE.CREATE

Частые вопросы

Сколько стоит попадание в кеш?

Один вызов эмбеддинга и поиск в кеше. Вызов модели и время её генерации пропускаются.

Как избежать неверных ответов при нестрогом совпадении?

Повысьте порог. Более высокий порог требует более близкого совпадения, поэтому попаданий меньше, а каждое из них надёжнее.

Какие тарифы это включают?

Семантический кеш входит в тарифы Performance и Scale.

Связанные сценарии

Попробуйте на своей нагрузке

HotKV понимает протокол Redis, поэтому вы можете подключить к нему существующий клиент и выполнить те же команды.