LLM-applikationer i produktion (RAG + vektordatabase + caching) · Lektion

Vektorrepræsentationer og lighedssøgning

Forstå begreberne vektorrepræsentationer, hvordan de genereres, og hvordan lighedssøgning muliggør hentning af relevante dokumenter.

Lektion 2 af 411 trin

Vektorrepræsentationer og lighedssøgning er en gratis LLM-applikationer i produktion (RAG + vektordatabase + caching)-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i LLM-applikationer i produktion (RAG + vektordatabase + caching), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. LLM-applikationer i produktion (RAG + vektordatabase + caching)-kurset indeholder 4 lektioner i alt.

Vektorer for betydning

Velkommen! I verdenen af Large Language Models (LLM'er) handler forståelse af tekst ikke kun om ord. Det handler om betydning.

Computere arbejder naturligt med tal, ikke menneskesprog. Hvordan bygger vi bro over denne forskel, så LLM'er kan forstå tekstens betydning?

Hvad er vektorindlejringer?

Vektorindlejringer er numeriske repræsentationer af tekst (eller billeder, lyd osv.). Tænk på dem som en liste med tal, der indfanger en informationsenheds "essens" eller "betydning".

  • Hvert stykke tekst (et ord, en sætning eller et dokument) får sin egen unikke vektor.
  • Disse vektorer er normalt lange lister med decimaltal (f.eks. [0.123, -0.456, 0.789, ...]).

Magien bag indlejringer

Hvordan skabes disse magiske tal? Særlige maskinlæringsmodeller, der ofte kaldes indlejringsmodeller, trænes til at omdanne tekst til disse vektorer.

Disse modeller lærer at afbilde betydninger, der ligner hinanden, til vektorer, som ligger numerisk "tæt" på hinanden i et højdimensionelt rum.

Semantisk lighed forklaret

Den grundlæggende idé er, at hvis to tekststykker har samme eller lignende betydning, vil deres vektorindlejringer ligge tæt på hinanden.

For eksempel vil indlejringen for "cat" ligge tættere på "kitten" end på "car". Det er denne "nærhed", der gør det muligt for computere at forstå semantisk lighed.

Generering af indlejringer (koncept)

I et ægte RAG-system ville du bruge en API fra en udbyder som OpenAI, Cohere eller en open source-model til at generere indlejringer for dine tekstdata.

Du sender teksten ind, og API'en returnerer vektoren. Set fra et brugerperspektiv er det så enkelt!

Kode: Simuleret generering af indlejringer

Her er et Python-eksempel, der viser, hvordan du konceptuelt kunne interagere med en indlejringsfunktion. I virkeligheden ville get_embedding foretage et API-kald.

def get_embedding(text):
    """
    Simulates an embedding model. Returns a dummy vector.
    """
    if "hello" in text.lower():
        return [0.1, 0.2, 0.3]
    elif "goodbye" in text.lower():
        return [0.8, 0.7, 0.6]
    else:
        return [0.0, 0.0, 0.0]

if __name__ == "__main__":
    text1 = "Hello, CoddyKit!"
    text2 = "Time to say goodbye."
    text3 = "Another sentence."

    print(f"Vector for '{text1}': {get_embedding(text1)}")
    print(f"Vector for '{text2}': {get_embedding(text2)}")
    print(f"Vector for '{text3}': {get_embedding(text3)}")

Hvorfor lighedssøgning?

Når du har omdannet alle dine dokumenter (eller dokumentdele) til indlejringer, hvordan finder du så de mest relevante, når en bruger stiller et spørgsmål?

Det er her, lighedssøgning kommer ind i billedet. Det er processen med at finde indlejringer, der ligger "tættest" på en given forespørgselsindlejring.

Sådan fungerer lighedssøgning

Lighedssøgning måler matematisk "afstanden" eller "vinklen" mellem vektorer. Almindelige metoder omfatter:

  • Kosinuslighed: Måler vinklen mellem to vektorer. En mindre vinkel (tættere på 1) betyder større lighed.
  • Euklidisk afstand: Måler den direkte afstand mellem to punkter (vektorer). En mindre afstand betyder større lighed.

Disse beregninger identificerer hurtigt de dokumenter, der er mest semantisk ens.

Indlejringer + søgning = RAG-kraft

I RAG, når en bruger stiller et spørgsmål:

  1. Spørgsmålet omdannes til en indlejring.
  2. Der udføres en lighedssøgning i en database med dokumentindlejringer.
  3. De N dokumentdele, der ligner hinanden mest, hentes.

Disse hentede dele giver derefter LLM'en kontekst, så dens svar bliver mere nøjagtige og bedre underbyggede.

Hurtigt tjek af indlejringer

Vektorindlejringer er afgørende for RAG. Lad os teste din forståelse.

Opsummering: Indlejringer og søgning

Godt arbejde! Du har lært om de grundlæggende begreber vektorindlejringer og lighedssøgning.

  • Vektorindlejringer omdanner tekst til tal og indfanger betydningen.
  • Indlejringsmodeller opretter disse vektorer.
  • Lighedssøgning bruger matematisk afstand til at finde de mest relevante vektorer (og dermed dokumenter) i forhold til en forespørgsel.

Disse teknikker er centrale for, hvordan RAG-systemer finder og giver LLM'er relevant kontekst.

Gratis at komme i gang

Lær LLM-applikationer i produktion (RAG + vektordatabase + caching) med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Vektorrepræsentationer og lighedssøgning” gratis?

Ja — hele teksten til “Vektorrepræsentationer og lighedssøgning” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af LLM-applikationer i produktion (RAG + vektordatabase + caching)-kurset, skal du opgradere til CoddyKit PRO. LLM-applikationer i produktion (RAG + vektordatabase + caching)-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Vektorrepræsentationer og lighedssøgning”?

Forstå begreberne vektorrepræsentationer, hvordan de genereres, og hvordan lighedssøgning muliggør hentning af relevante dokumenter. Du øver dig i LLM-applikationer i produktion (RAG + vektordatabase + caching) med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på LLM-applikationer i produktion (RAG + vektordatabase + caching)?

Der kræves ingen tidligere erfaring. LLM-applikationer i produktion (RAG + vektordatabase + caching) på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Vektorrepræsentationer og lighedssøgning”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne LLM-applikationer i produktion (RAG + vektordatabase + caching)-lektion?

Ja. Alle LLM-applikationer i produktion (RAG + vektordatabase + caching)-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Behovet for vektordatabaser
  2. Vektorrepræsentationer og lighedssøgning
  3. Integration med en vektordatabase
  4. Indeksering, filtrering og hybrid search
← Tilbage til LLM-applikationer i produktion (RAG + vektordatabase + caching)