LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) · leksjon

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.

Leksjon 4 av 413 trinn

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.

Gratis å komme i gang

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

  1. Distribuert mellomlagring med Redis/Memcached
  2. Sesjonshåndtering og kontekstbevaring
  3. Avanserte strategier for cache-invalidering
  4. Semantisk caching for LLM-svar
← Tilbake til LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring)