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.
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.
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
- Läsa in olika dokumentformat
- Kontextmedvetna segmenteringsstrategier
- Metadatahantering och filtrering
- Rensa och deduplicera källdata