Lähdedatan puhdistaminen ja duplikaattien poistaminen
Opitte puhdistamaan kohinaisia dokumentteja ja poistamaan päällekkäisen sisällön ennen ingestointia, jotta RAG-indeksi pysyy pienenä ja tarkkana eikä sisällä keskenään ristiriitaisia vastauksia.
Lähdedatan puhdistaminen ja duplikaattien poistaminen on ilmainen LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-kurssilla on yhteensä 4 oppituntia.
Roskaa sisään, roskaa ulos
RAG:n laatua rajoittaa käsiteltävän aineiston laatu. Malline- ja vakiotekstit, HTML-tagit, päällekkäiset sivut ja virheellinen merkistökoodaus heikentävät kaikki hakua.
Puhdistus ja kaksoiskappaleiden poisto tehdään ennen lohkoihin jakoa ja upotusten muodostamista.
Yleisiä kohinan lähteitä
Raakadokumenteissa tyypillisesti esiintyvää tarpeetonta sisältöä:
- Navigointivalikot, ylä- ja alatunnisteet
- Evästeilmoitukset ja mainokset
- Toistuvat oikeudelliset vastuuvapauslausekkeet
- Virheellisestä merkistökoodauksesta johtuva mojibake
- Liialliset välilyönnit ja ohjausmerkit
Tekstin perusnormalisointi
Normalisoikaa välilyönnit ja poistakaa ohjausmerkit ensin.
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'))Vakiotekstin poistaminen
Poistakaa monilla sivuilla toistuva vakioteksti. Yksinkertainen tapa on kerätä dokumenteissa toistuvat rivit ja poistaa ne.
- Alatunnisteet, tekijänoikeusrivit
- Jakamiseen tarkoitetut widgetit
- Identtiset navigointilohkot
Merkistökoodausongelmien korjaaminen
Mojibake, kuten 'caf\u00c3\u00a9' merkkijonon 'caf\u00e9' sijaan, sekoittaa upotukset. Tunnistakaa lähteen merkistökoodaus ja purkakaa sisältö johdonmukaisesti UTF-8-muotoon ennen tallennusta.
Täsmällisten kaksoiskappaleiden tunnistus
Edullisin tapa poistaa kaksoiskappaleet: laskekaa normalisoidusta tekstistä tiiviste ja poistakaa täsmälleen toistuvat kopiot.
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'))Lähes päällekkäisten sisältöjen tunnistus
Tarkka hajautus ohittaa sivut, jotka eroavat päivämäärän tai yhden sanan verran. Käyttäkää lähes päällekkäisten sisältöjen tunnistustekniikoita:
- MinHash + Jaccardin samankaltaisuus
- SimHash-sormenjäljet
- Upotusten kosinisuuntaisuus, joka ylittää kynnysarvon
Jaccardin samankaltaisuus
Nopea tunnusjoukkojen päällekkäisyyspistemäärä lähes päällekkäisten sisältöjen merkitsemiseen.
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))Miksi kaksoiskappaleet haittaavat RAG-järjestelmiä
Kaksoiskappaleet tuhlaavat indeksitilaa ja vääristävät hakua: top-k-tulokset täyttyvät saman tekstikohdan kopioista, jolloin monipuolinen näyttö jää niiden ulkopuolelle. Keskenään ristiriitaiset lähes päällekkäiset versiot (vanha ja uusi käytäntö) voivat jopa tuottaa ristiriitaisia vastauksia.
Puhdistusputken rakentaminen
Ketjuttakaa vaiheet tässä järjestyksessä: normalize -> fix encoding -> strip boilerplate -> exact dedup -> near dedup. Kirjatkaa, kuinka paljon sisältöä poistettiin, jotta voitte tarkastaa voimakkaiden suodattimien vaikutukset.
Idempotentti uudelleensyöttö
Kun asiakirjat syötetään järjestelmään uudelleen, käyttäkää vakaata sisältöhajautusta tietueen avaimena, jotta päivitykset korvaavat vanhan version eivätkä luo kaksoiskappaleita. Näin indeksi pysyy ajan mittaan siistinä.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte deduplikoinnin.
Kertaus
Opitte valmistelemaan puhdasta lähdedataa: normalisoikaa teksti, korjatkaa koodaus, poistakaa vakiomuotoinen oheissisältö ja poistakaa sitten sekä täsmälleen samanlaiset että lähes päällekkäiset sisällöt. Käyttäkää vakaata sisältöhajautusta idempotenttiin uudelleensyöttöön. Puhtaammat syötteet tarkoittavat pienempää indeksiä sekä tarkempia ja ristiriidattomia hakutuloksia.
Opi LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Lähdedatan puhdistaminen ja duplikaattien poistaminen” ilmainen?
Kyllä – oppitunnin ”Lähdedatan puhdistaminen ja duplikaattien poistaminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-kurssin, päivitä CoddyKit PROhon. LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lähdedatan puhdistaminen ja duplikaattien poistaminen”?
Opitte puhdistamaan kohinaisia dokumentteja ja poistamaan päällekkäisen sisällön ennen ingestointia, jotta RAG-indeksi pysyy pienenä ja tarkkana eikä sisällä keskenään ristiriitaisia vastauksia. Harjoittelet LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Lähdedatan puhdistaminen ja duplikaattien poistaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-oppitunnilla?
Kyllä. Jokainen LLM-sovellukset tuotannossa (RAG + vektoritietokanta + välimuisti)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Monimuotoisten dokumenttimuotojen lataaminen
- Kontekstin huomioivat pilkkomisstrategiat
- Metatietojen hallinta ja suodatus
- Lähdedatan puhdistaminen ja duplikaattien poistaminen