AI i LLMAplikacje LLMplany Performance i Scale

Cache semantyczny odpowiedzi

Buforuj odpowiedzi LLM według znaczenia, a nie dokładnego tekstu, aby sparafrazowane pytania trafiały w cache i omijały wywołanie modelu.

wyszukiwanie przed każdym wywołaniem modelu
1
miary podobieństwa
3
nadpisanie progu
Na wywołanie
Krok 1 z 6
Utwórz przestrzeń nazw

Ustaw rozmiar embeddingu i podobieństwo, które liczy się jako trafienie.

Przykładowa sesjaplaying
# Utwórz przestrzeń nazw
hotkv> SCACHE.CREATE support_bot 1536 THRESHOLD 0.92
OK

Animowany przegląd z prawdziwymi poleceniami HotKV i przykładowymi odpowiedziami. Kliknij dowolny krok, aby do niego przejść. Polecenia i odpowiedzi pozostają po angielsku, dokładnie tak, jak je wpisujesz i widzisz w HotKV.

Problem

Asystent obsługi dostaje to samo pytanie sformułowane na sto różnych sposobów. Cache z dokładnym dopasowaniem chybia prawie wszystkie, więc każda parafraza płaci za pełne wywołanie modelu i czeka na pełną odpowiedź.

Jak radzi sobie z tym HotKV

Cache semantyczny zapisuje każdą odpowiedź obok embeddingu jej pytania i wyszukuje nowe pytania według podobieństwa. Jeśli nowy prompt jest wystarczająco bliski takiemu, na który już odpowiedziałeś, wraca zapisana odpowiedź, a model nigdy nie jest wywoływany. Próg decyduje, jak blisko to wystarczająco blisko.

Krok po kroku

Co się dzieje, polecenie po poleceniu

  1. 01

    Utwórz przestrzeń nazw

    Ustaw rozmiar embeddingu i podobieństwo, które liczy się jako trafienie.

    SCACHE.CREATE support_bot 1536 THRESHOLD 0.92
  2. 02

    Pudło, więc raz wywołaj model

    Przy pierwszym zadaniu pytania w cache nie ma nic podobnego, więc odpowiada model.

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

    Zapamiętaj odpowiedź

    Zapisz pytanie, odpowiedź i embedding pytania, na jeden dzień.

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

    Parafraza trafia

    „forgot my login pass” ląduje blisko zapisanego pytania. Wraca odpowiedź i jej podobieństwo, a model jest pomijany.

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

    Ostrzej dla jednego wyszukiwania

    Wyszukiwanie może zażądać ściślejszego dopasowania niż domyślne dla przestrzeni nazw, dla odpowiedzi, w których bliskie chybienie nie wystarcza.

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

    Zmierz oszczędności

    Statystyki dla każdej przestrzeni nazw pokazują, jak często odpowiadał cache zamiast modelu.

    SCACHE.STATS support_bot
Gdzie się sprawdza

Scenariusze z życia

Obsługa klienta

Resety haseł, kopie faktur i czasy dostawy są pytane raz po raz. Każdy wariant po pierwszym jest obsługiwany z cache.

Wewnętrzne boty wiedzy

Pracownicy pytają o urlopy, wydatki i dostęp do VPN własnymi słowami. Jedna odpowiedź obsługuje je wszystkie, aż wygaśnie.

Narzędzia dla programistów

„How do I paginate?” i „how to page through results” dostają tę samą udokumentowaną odpowiedź bez drugiego wywołania modelu.

Wbudowane

Co dostajesz

Dopasowanie według znaczenia

Podobne pytania współdzielą jedną odpowiedź z cache, niezależnie od sformułowania.

SCACHE.GETSCACHE.SET

Ty kontrolujesz ścisłość

Ustaw próg dla przestrzeni nazw i nadpisz go przy pojedynczym wyszukiwaniu.

SCACHE.THRESHOLD

Oszczędności, które da się zmierzyć

Statystyki dla każdej przestrzeni nazw pokazują trafienia, pudła i wpisy.

SCACHE.STATS

Cosinus, L2 lub iloczyn skalarny

Wybierz miarę pasującą do Twojego modelu embeddingów podczas tworzenia przestrzeni nazw.

SCACHE.CREATE

Częste pytania

Ile kosztuje trafienie w cache?

Jedno wywołanie embeddingu i wyszukiwanie w cache. Wywołanie modelu i czas jego generowania są pomijane.

Jak uniknąć błędnych odpowiedzi przy luźnym dopasowaniu?

Podnieś próg. Wyższy próg wymaga bliższego dopasowania, więc trafia mniej pytań, a każde trafienie jest pewniejsze.

Które plany to zawierają?

Cache semantyczny jest częścią planów Performance i Scale.

Powiązane przypadki użycia

Wypróbuj na własnym obciążeniu

HotKV mówi protokołem Redis, więc możesz skierować na niego istniejącego klienta i uruchomić te same polecenia.