Rense og deduplisere kildedata
Lær å rense støyende dokumenter og fjerne duplikatinnhold før innlasting, slik at RAG-indeksen forblir liten og nøyaktig, uten motstridende svar.
Rense og deduplisere kildedata 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.
Dårlige data inn, dårlige resultater ut
RAG-kvaliteten begrenses av kvaliteten på det De laster inn. Standardtekst, HTML-tagger, duplikatsider og ødelagt tegnkoding forurenser alt sammen informasjonsuthentingen.
Rensing og deduplisering skjer før oppdeling i deler og generering av embedding-er.
Vanlige støykilder
Typisk søppelinnhold i rådokumenter:
- Navigasjonsmenyer, topptekster og bunntekster
- Informasjonskapselvarsler og annonser
- Gjentatte juridiske ansvarsfraskrivelser
- Mojibake fra feil tegnkoding
- Overflødige mellomrom og kontrolltegn
Grunnleggende tekstnormalisering
Normaliser mellomrom og fjern kontrolltegn først.
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'))Fjerne standardtekst
Fjern gjentatt standardtekst som vises på mange sider. En enkel metode er å samle linjer som gjentas på tvers av dokumenter, og fjerne dem.
- Bunntekster og opphavsrettslinjer
- Delingskomponenter
- Identiske navigasjonsblokker
Løse problemer med tegnkoding
Mojibake som 'caf\u00c3\u00a9' i stedet for 'caf\u00e9' forvirrer embedding-er. Finn kildekodingen og dekod konsekvent til UTF-8 før lagring.
Finne eksakte duplikater
Den billigste formen for deduplisering er å beregne en hash av den normaliserte teksten og fjerne eksakte gjentakelser.
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'))Finne nesten-duplikater
Eksakt hashing fanger ikke opp sider som skiller seg med en dato eller et ord. Bruk teknikker for nær-duplikater:
- MinHash + Jaccard-likhet
- SimHash-fingeravtrykk
- Embedding-kosinussimilaritet over en terskel
Jaccard-likhet
En rask poengsum for overlapp mellom tokenmengder, som brukes til å flagge nær-duplikater.
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))Hvorfor duplikater skader RAG
Dupliserte tekstbiter sløser med indeksplass og skjevfordeler søket: De øverste k-resultatene fylles med kopier av den samme teksten, slik at mangfoldig dokumentasjon fortrenges. Motstridende nær-duplikater (gammel kontra ny policy) kan til og med føre til motstridende svar.
Bygge en rensepipeline
Kjed sammen trinnene i denne rekkefølgen: normaliser -> korriger koding -> fjern standardtekst -> fjern eksakte duplikater -> fjern nær-duplikater. Loggfør hvor mye som ble fjernet, slik at De kan kontrollere aggressive filtre.
Idempotent ny innlasting
Når dokumenter lastes inn på nytt, bruker De en stabil innholds-hash som postnøkkel, slik at oppdateringer erstatter den gamle versjonen i stedet for å opprette duplikater. Slik holder indeksen seg ren over tid.
Hurtigsjekk
Test forståelsen Deres av deduplisering.
Oppsummering
De har lært å klargjøre rene kildedata: normaliser tekst, korriger koding, fjern standardtekst, og fjern deretter både eksakte duplikater og nær-duplikater. Bruk stabile innholds-hasher for idempotent ny innlasting. Renere inndata gir en mindre indeks og mer presise, ikke-motstridende søkeresultater.
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 «Rense og deduplisere kildedata» gratis?
Ja – hele teksten i «Rense og deduplisere kildedata» 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 «Rense og deduplisere kildedata»?
Lær å rense støyende dokumenter og fjerne duplikatinnhold før innlasting, slik at RAG-indeksen forblir liten og nøyaktig, uten motstridende svar. 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 «Rense og deduplisere kildedata»?
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
- Laste inn ulike dokumentformater
- Strategier for kontekstbevisst oppsplitting
- Håndtering og filtrering av metadata
- Rense og deduplisere kildedata