LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring) · leksjon

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.

Leksjon 4 av 413 trinn

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.

Gratis å komme i gang

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

  1. Laste inn ulike dokumentformater
  2. Strategier for kontekstbevisst oppsplitting
  3. Håndtering og filtrering av metadata
  4. Rense og deduplisere kildedata
← Tilbake til LLM-applikasjoner i produksjon (RAG + vektordatabase + hurtigbufring)