LLM-toepassingen in productie (RAG + vectordatabase + caching) · Les

Verschillende documentindelingen laden

Verken methoden om data uit verschillende bronnen in te nemen, zoals PDF's, webpagina's, databases en aangepaste bestandstypen.

Les 1 van 411 stappen

Verschillende documentindelingen laden is een gratis LLM-toepassingen in productie (RAG + vectordatabase + caching)-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject LLM-toepassingen in productie (RAG + vectordatabase + caching). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus LLM-toepassingen in productie (RAG + vectordatabase + caching) bevat in totaal 4 lessen.

Verschillende documenttypen inladen

Welkom! In RAG heeft je LLM informatie uit verschillende bronnen nodig. In deze les leer je hoe je gegevens uit verschillende documentindelingen in je toepassing laadt.

Het doel is om onbewerkte tekst op te halen uit bijvoorbeeld webpagina's, PDF's en databases en die voor te bereiden op de volgende stappen in je RAG-pipeline.

Webpagina's laden (HTML)

Webpagina's zijn een veelgebruikte informatiebron. Om ze in te laden, doe je meestal het volgende:

  • De HTML ophalen: Gebruik een HTTP-client om de inhoud van de pagina vanaf een URL te downloaden.
  • De HTML parseren: Haal de hoofdtekst eruit en verwijder navigatie, advertenties en andere irrelevante elementen.

Bibliotheken zoals requests voor het ophalen en BeautifulSoup voor het parseren zijn erg populair in Python.

Voorbeeld van een webpagina laden

Dit Python-fragment laat zien hoe je een eenvoudige webpagina ophaalt en de titel eruit haalt. Stel je voor dat je dit voor veel pagina's doet om je kennisbank op te bouwen!

import requests
from bs4 import BeautifulSoup

def main():
    url = "http://quotes.toscrape.com/"
    try:
        response = requests.get(url)
        response.raise_for_status() # Raise HTTPError for bad responses
        soup = BeautifulSoup(response.text, 'html.parser')
        title = soup.find('title').get_text()
        print(f"Page Title: {title}")
    except requests.exceptions.RequestException as e:
        print(f"Error fetching URL: {e}")

if __name__ == "__main__":
    main()

Tekst uit PDF's halen

PDF's (Portable Document Format) worden veel gebruikt voor rapporten en documenten. Tekst uit PDF's halen kan lastig zijn vanwege hun complexe structuur, waarin tekst, afbeeldingen en opmaak worden gecombineerd.

Gelukkig bestaan er programmeerbibliotheken die hierbij helpen. Ze kunnen de structuur van de PDF lezen en de tekstuele inhoud eruit halen, vaak pagina voor pagina.

Voorbeeld van tekst uit een PDF halen

Deze conceptuele Python-code laat zien hoe je met een bibliotheek zoals pypdf tekst uit de eerste pagina van een PDF kunt halen. Voor een echte uitvoering heb je een bestand sample.pdf nodig.

from pypdf import PdfReader

def main():
    # In a real scenario, 'sample.pdf' would exist
    # For this example, we'll simulate the output
    pdf_file_path = "sample.pdf"
    print(f"Attempting to read from: {pdf_file_path}")
    print("\n--- Simulated PDF Content ---")
    print("This is some text from the first page of a sample PDF document.")
    print("It contains important information for our RAG system.")
    print("-----------------------------")
    # Actual code might look like this:
    # reader = PdfReader(pdf_file_path)
    # page = reader.pages[0]
    # text = page.extract_text()
    # print(text)

if __name__ == "__main__":
    main()

Gegevens uit databases laden

Databases, zowel SQL-databases (zoals PostgreSQL en MySQL) als NoSQL-databases (zoals MongoDB en Cassandra), slaan gestructureerde gegevens op die waardevol kunnen zijn voor RAG.

Om gegevens uit databases in te laden:

  • Verbinden: Breng met database-stuurprogramma's een verbinding tot stand.
  • Query uitvoeren: Schrijf query's (bijvoorbeeld SQL-instructies) om relevante gegevens op te halen.
  • Verwerken: Haal tekstvelden uit de resultaten van de query.

Voorbeeld van een database laden

Hier volgt een Python-voorbeeld met SQLite, een ingebedde SQL-database. Het maakt een eenvoudige tabel, voegt gegevens in en haalt die vervolgens weer op. Dit is een veelgebruikt patroon voor database-inname.

import sqlite3

def main():
    # Connect to an in-memory SQLite database
    conn = sqlite3.connect(':memory:')
    cursor = conn.cursor()

    # Create a simple table
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS documents (
            id INTEGER PRIMARY KEY,
            title TEXT,
            content TEXT
        )
    ''')

    # Insert some data
    cursor.execute("INSERT INTO documents (title, content) VALUES (?, ?)", 
                   ("RAG Overview", "RAG enhances LLMs by retrieving relevant docs."))
    cursor.execute("INSERT INTO documents (title, content) VALUES (?, ?)", 
                   ("Vector DBs", "Store embeddings for fast similarity search."))
    conn.commit()

    # Retrieve data
    cursor.execute("SELECT title, content FROM documents")
    rows = cursor.fetchall()

    print("--- Retrieved Documents ---")
    for row in rows:
        print(f"Title: {row[0]}, Content: {row[1]}")
    print("---------------------------")

    conn.close()

if __name__ == "__main__":
    main()

Platte tekst en aangepaste bestanden verwerken

Naast specifieke indelingen werk je vaak met bestanden met platte tekst (.txt, .md) of aangepaste indelingen (bijvoorbeeld CSV en JSON). Voor deze bestanden geldt:

  • Platte tekst: Lees de tekst rechtstreeks en let daarbij op de tekencodering (UTF-8 is gebruikelijk).
  • Aangepaste indelingen: Gebruik bibliotheken die specifiek zijn voor de indeling (bijvoorbeeld de Python-modules csv en json) om tekstvelden te parseren en eruit te halen.

Het belangrijkste is dat je de gegevens omzet in een bruikbare teksttekenreeks.

Gegevens uniform laden met bibliotheken

Voor complexe RAG-systemen hoef je niet altijd voor elke indeling aangepaste laders te schrijven. Bibliotheken zoals LlamaIndex en LangChain bieden 'Document Loaders' die een groot deel van deze complexiteit abstraheren.

  • Ze bieden connectoren voor veel gegevensbronnen (web, PDF, databases en cloudopslag).
  • Ze verwerken vaak automatisch de basisparsering en het extraheren van tekst.

Deze hulpmiddelen vereenvoudigen de eerste stap van de gegevensinname, zodat je je kunt richten op het ophalen en genereren.

Test je kennis

Wat is meestal een belangrijke uitdaging bij het extraheren van tekstinhoud uit PDF-documenten voor een RAG-systeem?

Samenvatting: verschillende gegevens laden

Goed gedaan! Je hebt de basisprincipes geleerd van het laden van verschillende documentindelingen voor je RAG-systeem.

  • We hebben het ophalen en parseren van webpagina's behandeld.
  • We hebben besproken hoe je tekst uit complexe PDF's haalt.
  • We hebben onderzocht hoe je databases bevraagt voor gestructureerde inhoud.
  • We hebben kort gekeken naar het verwerken van platte tekst en andere aangepaste bestanden.
  • We hebben de waarde van uniforme gegevenslaadbibliotheken herkend.

De volgende stap is om deze onbewerkte tekst voor te bereiden op het effectief ophalen ervan!

Gratis beginnen

Leer LLM-toepassingen in productie (RAG + vectordatabase + caching) met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Verschillende documentindelingen laden” gratis?

Ja — de volledige tekst van “Verschillende documentindelingen laden” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus LLM-toepassingen in productie (RAG + vectordatabase + caching) wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus LLM-toepassingen in productie (RAG + vectordatabase + caching) bevat in totaal 4 lessen.

Wat leer ik in “Verschillende documentindelingen laden”?

Verken methoden om data uit verschillende bronnen in te nemen, zoals PDF's, webpagina's, databases en aangepaste bestandstypen. Je oefent met LLM-toepassingen in productie (RAG + vectordatabase + caching) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met LLM-toepassingen in productie (RAG + vectordatabase + caching) te beginnen?

Ervaring vooraf is niet nodig. LLM-toepassingen in productie (RAG + vectordatabase + caching) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Verschillende documentindelingen laden”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over LLM-toepassingen in productie (RAG + vectordatabase + caching)?

Ja. Elke les over LLM-toepassingen in productie (RAG + vectordatabase + caching) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Verschillende documentindelingen laden
  2. Contextbewuste strategieën voor het opsplitsen van tekst
  3. Metadatabeheer en filtering
  4. Brongegevens opschonen en dedupliceren
← Terug naar LLM-toepassingen in productie (RAG + vectordatabase + caching)