LLM-applikationer i produktion (RAG + vektordatabaser + cachning) · Lektion

Rensa och deduplicera källdata

Lär dig rensa brusiga dokument och ta bort duplicerat innehåll före inläsning, så att ert RAG-index förblir litet och korrekt utan motstridiga svar.

Lektion 4 av 413 steg

Rensa och deduplicera källdata är en gratis lektion i LLM-applikationer i produktion (RAG + vektordatabaser + cachning) på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för LLM-applikationer i produktion (RAG + vektordatabaser + cachning), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i LLM-applikationer i produktion (RAG + vektordatabaser + cachning) innehåller totalt 4 lektioner.

Skräp in, skräp ut

RAG-kvaliteten begränsas av kvaliteten på det Ni läser in. Standardtext, HTML-taggar, duplicerade sidor och felaktig teckenkodning försämrar alla hämtningen.

Rensning och deduplicering sker före uppdelning i textdelar och embedding.

Vanliga bruskällor

Typiskt skräp i råa dokument:

  • Navigeringsmenyer, sidhuvuden och sidfötter
  • Cookiebanners och annonser
  • Upprepade juridiska friskrivningar
  • Mojibake från felaktig teckenkodning
  • Överflödiga blanksteg och kontrolltecken

Grundläggande textnormalisering

Normalisera blanksteg och ta först bort kontrolltecken.

import re

def clean(text):
    text = re.sub(r'[\t\r]+', ' ', text)
    text = re.sub(r' {2,}', ' ', text)
    text = re.sub(r'\n{3,}', '\n\n', text)
    return text.strip()

print(clean('Hello     world\n\n\n\nbye'))

Ta bort standardtext

Ta bort upprepad standardtext som förekommer på många sidor. Ett enkelt tillvägagångssätt är att samla rader som upprepas mellan dokument och ta bort dem.

  • Sidfötter och copyright-rader
  • Widgetar för delning
  • Identiska navigeringsblock

Åtgärda problem med teckenkodning

Mojibake som 'caf\u00c3\u00a9' i stället för 'caf\u00e9' förvirrar embeddingar. Identifiera källans teckenkodning och avkoda konsekvent till UTF-8 före lagring.

Identifiera exakta dubbletter

Den billigaste dedupliceringen är att hasha den normaliserade texten och ta bort exakta dubbletter.

import hashlib

seen = set()

def is_dup(text):
    h = hashlib.sha256(text.encode()).hexdigest()
    if h in seen:
        return True
    seen.add(h)
    return False

print(is_dup('a'))
print(is_dup('a'))

Identifiera nästan identiska dubbletter

Exakt hashing missar sidor som skiljer sig åt genom ett datum eller ett ord. Använd tekniker för nära dubbletter:

  • MinHash + Jaccard-likhet
  • SimHash-fingeravtryck
  • Kosinlikhet för embeddingar över ett tröskelvärde

Jaccard-likhet

Ett snabbt mått på överlappning mellan tokenmängder för att markera nära dubbletter.

def jaccard(a, b):
    sa, sb = set(a.split()), set(b.split())
    return len(sa & sb) / len(sa | sb)

print(round(jaccard('the cat sat', 'the cat ran'), 2))

Varför dubbletter skadar RAG

Dubblettsegment slösar indexutrymme och snedvrider hämtningen: de k främsta resultaten fylls med kopior av samma textavsnitt, vilket tränger undan varierade belägg. Motstridiga nära dubbletter (gammal kontra ny policy) kan till och med leda till motsägelsefulla svar.

Bygga en rensningspipeline

Kedja ihop stegen i ordning: normalisera -> korrigera teckenkodning -> ta bort standardtext -> ta bort exakta dubbletter -> ta bort nära dubbletter. Logga hur mycket som togs bort så att Ni kan granska aggressiva filter.

Idempotent återinläsning

När dokument läses in på nytt ska Ni använda en stabil innehållshash som postnyckel, så att uppdateringar ersätter den gamla versionen i stället för att skapa dubbletter. Då förblir indexet rent över tid.

Snabb kontroll

Testa Er förståelse av deduplicering.

Sammanfattning

Ni har lärt Er att förbereda rena källdata: normalisera text, korrigera teckenkodning, ta bort standardtext och sedan ta bort både exakta dubbletter och nära dubbletter. Använd stabila innehållshashar för idempotent återinläsning. Renare indata innebär ett mindre index och mer träffsäker hämtning utan motsägelser.

Gratis att börja

Lär dig LLM-applikationer i produktion (RAG + vektordatabaser + cachning) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Rensa och deduplicera källdata” gratis?

Ja – hela texten till ”Rensa och deduplicera källdata” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i LLM-applikationer i produktion (RAG + vektordatabaser + cachning), kan Ni uppgradera till CoddyKit PRO. Kursen i LLM-applikationer i produktion (RAG + vektordatabaser + cachning) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Rensa och deduplicera källdata”?

Lär dig rensa brusiga dokument och ta bort duplicerat innehåll före inläsning, så att ert RAG-index förblir litet och korrekt utan motstridiga svar. Ni övar på LLM-applikationer i produktion (RAG + vektordatabaser + cachning) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig LLM-applikationer i produktion (RAG + vektordatabaser + cachning)?

Du behöver inga förkunskaper. Utbildningen i LLM-applikationer i produktion (RAG + vektordatabaser + cachning) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Rensa och deduplicera källdata”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här LLM-applikationer i produktion (RAG + vektordatabaser + cachning)-lektionen?

Ja. Varje LLM-applikationer i produktion (RAG + vektordatabaser + cachning)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Läsa in olika dokumentformat
  2. Kontextmedvetna segmenteringsstrategier
  3. Metadatahantering och filtrering
  4. Rensa och deduplicera källdata
← Tillbaka till LLM-applikationer i produktion (RAG + vektordatabaser + cachning)