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

Opbygning af en enkel RAG-pipeline

Implementer et grundlæggende RAG-workflow fra dataindlæsning til generering af svar ved hjælp af en valgt LLM.

Lektion 3 af 412 trin

Opbygning af en enkel RAG-pipeline er en gratis LLM-applikationer i produktion (RAG + vektordatabase + caching)-lektion på CoddyKit. Dette er lektion 3 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.

Introduktion til RAG-procesforløb

Du har lært, hvad RAG er, og hvorfor det er effektivt. Nu bygger vi et! Et procesforløb til Retrieval Augmented Generation (RAG) er en række trin, der kombinerer en LLM med eksterne data.

Det primære mål er at give LLM'er opdaterede, faktuelle oplysninger, så antallet af "hallucinationer" reduceres, og kvaliteten af svarene forbedres.

Forståelse af RAG-forløbet

Tænk på et RAG-procesforløb som bestående af to hovedfaser: forberedelse og forespørgsler. Først gør du dine data klar. Når en bruger derefter stiller et spørgsmål, finder systemet relevante oplysninger og bruger dem til at hjælpe LLM'en med at svare.

  • Forberedelse: Indlæsning og indeksering af data
  • Forespørgsler: Hentning og generering af svar

Trin 1: Forbered din vidensbase

Før en LLM kan bruge dine data, skal de behandles. Det omfatter:

  • Indlæsning: Hentning af data fra forskellige kilder (PDF-filer, websteder, databaser).
  • Opdeling: Opdeling af store dokumenter i mindre, håndterbare dele (tekststykker). Et tekststykke kan bestå af nogle få sætninger eller et afsnit.

Mindre tekststykker er lettere at søge i og kan være i en LLM's kontekstvindue.

Trin 2: Omdan tekststykker til embeddings

Hvordan "søger" vi semantisk i tekst? Vi omdanner den til tal! En embedding-model omdanner hvert tekststykke til en liste med tal, der kaldes en vektor-embedding.

Disse vektorer indfanger tekstens betydning. Tekststykker med lignende betydning har vektorer, der er "tæt på" hinanden i matematisk forstand.

Trin 3: Gem data til hurtig hentning

Når du har vektor-embeddings for alle dine tekststykker, skal du gemme dem effektivt. Et vektorlager (eller en vektordatabase) er specialiseret til dette.

Det gør det muligt at udføre en meget hurtig "lighedssøgning" – altså at finde de vektorer, der er tættest på en given forespørgselsvektor. Det er afgørende for hurtigt at hente relevante oplysninger.

Behandling af en brugerforespørgsel

Når en bruger skriver et spørgsmål, går dit RAG-procesforløb i gang. Det første, der sker, er, at brugerens forespørgsel omdannes til en vektor-embedding.

Denne forespørgsels-embedding bruges derefter til at søge efter relevante oplysninger i dine gemte data.

Trin 4: Find de bedste match

Med brugerforespørgslens embedding udfører RAG-systemet en lighedssøgning i dit vektorlager. Det leder efter tekststykker, hvis embeddings ligner forespørgsels-embeddingen mest.

De mest lignende tekststykker betragtes som den mest relevante "kontekst" til besvarelse af brugerens spørgsmål.

Trin 5: Forbedr LLM'ens prompt

Nu kombinerer vi brugerens oprindelige spørgsmål med den hentede kontekst. Det skaber en udvidet prompt.

I stedet for blot at spørge "Hvad er X?" bliver prompten for eksempel: "Hvad er X, når du tager udgangspunkt i disse oplysninger: [hentede tekststykker]?"

Det guider LLM'en til at bruge de angivne fakta.

Trin 6: LLM'en genererer svaret

Til sidst sendes den udvidede prompt til den store sprogmodel. LLM'en behandler både brugerens spørgsmål og den hentede kontekst.

Derefter genererer den et svar, der er baseret på de faktuelle oplysninger fra dine data i stedet for udelukkende at stole på sin forudtrænede viden.

Visualisering af RAG-trinnene

Her er et konceptuelt Python-eksempel, der viser forløbet. Forestil dig, at load_data, chunk_text, create_embeddings, index_embeddings, search_vector_store og generate_llm_response er funktioner, som du selv skulle implementere.

Prøv at køre eksemplet for at se rækkefølgen!

public class Main {
  public static void main(String[] args) {
    System.out.println("1. User query received: What is RAG?");

    // Simulate embedding the query
    String queryEmbedding = "Embedding for 'What is RAG?'";
    System.out.println("2. Query embedded: " + queryEmbedding);

    // Simulate retrieving relevant chunks from a vector store
    String[] retrievedChunks = {
      "Chunk 1: RAG helps LLMs use external facts.",
      "Chunk 2: Vector databases store embeddings."
    };
    System.out.println("3. Retrieved relevant chunks: " + String.join(", ", retrievedChunks));

    // Simulate augmenting the LLM prompt
    String augmentedPrompt = (
      "Based on the following context:\n"
      + String.join(" ", retrievedChunks) + "\n\n"
      + "Answer the question: What is RAG?"
    );
    System.out.println("4. Augmented LLM prompt created.");

    // Simulate LLM response generation
    String llmResponse = (
      "RAG pipelines enhance LLMs by providing external, "
      + "factual context from stored documents, which helps "
      + "reduce hallucinations and improve accuracy."
    );
    System.out.println("5. LLM generated response.");

    System.out.println("\nFinal Answer: " + llmResponse);
  }
}

Quiz om RAG-procesforløb

Hvilken af følgende beskriver korrekt rækkefølgen af trin, når en bruger sender en forespørgsel i et RAG-procesforløb?

Opsummering: Opbygning af RAG

Godt gået! Nu har du forstået hele forløbet i et grundlæggende RAG-procesforløb. Vi gennemgik:

  • Forberedelsestrinnene: indlæsning, opdeling, embedding og indeksering af dine data.
  • Forespørgselstrinnene: embedding af brugerens forespørgsel, hentning af kontekst, udvidelse af prompten og generering af et svar med LLM'en.

Denne grundlæggende forståelse hjælper dig med at opbygge mere robuste LLM-programmer!

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 “Opbygning af en enkel RAG-pipeline” gratis?

Ja — hele teksten til “Opbygning af en enkel RAG-pipeline” 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 “Opbygning af en enkel RAG-pipeline”?

Implementer et grundlæggende RAG-workflow fra dataindlæsning til generering af svar ved hjælp af en valgt LLM. 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 3 af 4.

Hvor lang tid tager lektionen “Opbygning af en enkel RAG-pipeline”?

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. Valg af LLM-udbyder
  2. Grundlæggende dataindlæsning og tekstopdeling
  3. Opbygning af en enkel RAG-pipeline
  4. Test og evaluering af Deres RAG-app
← Tilbage til LLM-applikationer i produktion (RAG + vektordatabase + caching)