Semantisk caching for LLM-svar
Lær hvordan semantisk caching gjenbruker svar på lignende spørringer ved å sammenligne betydning i stedet for identisk tekst, og dermed reduserer LLM-kostnader og latenstid betydelig.
Semantisk caching for LLM-svar er en gratis leksjon i LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) inneholder totalt 4 leksjoner.
Mer enn caching med eksakt treff
En vanlig cache gir bare treff når nøkkelen er byte-identisk. Men «Hva er refusjonspolicyen deres?» og «Hvordan fungerer refusjoner?» betyr det samme, men gir ikke treff i en eksakt cache.
Semantisk caching sammenligner betydning, slik at parafraser kan gjenbruke det samme svaret.
Slik fungerer det
Flyten:
- Gjør den innkommende spørringen om til en vektorrepresentasjon
- Søk i cachen etter en lagret spørring i nærheten
- Returner det bufrede svaret hvis likheten overstiger en terskel
- Kall ellers LLM-en og lagre det nye paret
Gjøre spørringen om til en embedding
Hver spørring konverteres til en vektor av en embedding-modell. Like betydninger gir vektorer som ligger nær hverandre.
def embed(text):
return [len(text), text.count('refund'), text.count('?')]
print(embed('How do refunds work?'))Kosinussimilaritet
Likheten mellom spørringsvektorer måles vanligvis med kosinussimilaritet.
import math
def cosine(a, b):
dot = sum(x*y for x, y in zip(a, b))
na = math.sqrt(sum(x*x for x in a))
nb = math.sqrt(sum(y*y for y in b))
return dot / (na * nb)
print(round(cosine([1,2,1],[1,2,0]), 3))Velge terskelen
Likhetsterskelen er den viktigste innstillingen:
- For lav -> falske treff, feil svar leveres
- For høy -> få treff, liten besparelse
Juster den basert på reell trafikk, og velg en konservativ innstilling for domener med høy risiko.
En minimal semantisk cache
Sette sammen embedding, likhet og en terskel.
cache = []
THRESH = 0.95
def get(query, qvec):
for stored_vec, ans in cache:
if cosine(qvec, stored_vec) >= THRESH:
return ans
return None
def cosine(a, b):
return 1.0 if a == b else 0.0
cache.append(([1,0], 'Refunds take 5 days'))
print(get('q', [1,0]))Når De IKKE bør bruke caching
Semantisk caching er feil for spørringer der svaret avhenger av tilstand som endres eller er personlig:
- «Hva er saldoen på kontoen min?»
- «Hvordan er været i dag?»
- Alt som er brukerspesifikt eller tidsavhengig
Bufre bare stabil, generell kunnskap.
Avgrense cachen
For å unngå å lekke én brukers data til en annen bør De avgrense cache-nøkler etter tenant, språk og all annen relevant kontekst. En global cache for personaliserte svar er en personvernfeil.
Utkasting og aktualitet
Bufrede svar blir utdaterte når kildedataene endres. Legg til TTL-er og ugyldiggjør oppføringer når de underliggende dokumentene oppdateres, slik at cachen ikke leverer utdaterte svar.
Måle besparelsene
Følg med på treffrate, sparte kostnader og redusert svartid. En semantisk treffrate på 40 prosent kan omtrent tilsvare 40 prosent lavere LLM-forbruk for trafikk som kan caches.
Produksjonsstakken
I produksjon lagrer De spørringsembedding-er i en vektordatabase eller Redis med vektorsøk, setter en justert terskel, avgrenser etter tenant, bruker TTL-er og overvåker treffraten. Kombiner dette med eksakt hurtigbufring for best mulig dekning.
Hurtigsjekk
Test forståelsen Deres av semantisk hurtigbufring.
Oppsummering
De har lært at semantisk hurtigbufring gjenbruker svar på omskrevne spørringer ved å representere dem som embedding-er og sammenligne dem med cosinuslikhet over en justert terskel. Bufre bare stabil kunnskap, avgrens etter tenant av hensyn til personvern, bruk TTL-er for å sikre aktualitet, og overvåk treffraten for å måle besparelsene.
Lær deg LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Semantisk caching for LLM-svar» gratis?
Ja – hele teksten i «Semantisk caching for LLM-svar» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring)-kurset, kan du oppgradere til CoddyKit PRO. Kurset i LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) inneholder totalt 4 leksjoner.
Hva lærer jeg i «Semantisk caching for LLM-svar»?
Lær hvordan semantisk caching gjenbruker svar på lignende spørringer ved å sammenligne betydning i stedet for identisk tekst, og dermed reduserer LLM-kostnader og latenstid betydelig. Du øver på LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring)?
Ingen tidligere erfaring er nødvendig. LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Semantisk caching for LLM-svar»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring)-leksjonen?
Ja. Alle LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Distribuert mellomlagring med Redis/Memcached
- Sesjonshåndtering og kontekstbevaring
- Avanserte strategier for cache-invalidering
- Semantisk caching for LLM-svar