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

Metadatabeheer en filtering

Leer documentmetadata te extraheren en te gebruiken voor nauwkeurigere filtering en gerichte retrieval in uw RAG-systeem.

Les 3 van 411 stappen

Metadatabeheer en filtering is een gratis LLM-toepassingen in productie (RAG + vectordatabase + caching)-les op CoddyKit. Dit is les 3 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.

RAG verbeteren met metadata

Bij het bouwen van Retrieval Augmented Generation-systemen (RAG-systemen) gaat het niet alleen om de tekstuele inhoud zelf. Informatie over de inhoud, die metadata wordt genoemd, is bijzonder krachtig.

Met metadata kunnen we precies vinden wat we nodig hebben, waardoor onze RAG-antwoorden nauwkeuriger worden en beter aansluiten op de bedoeling van de gebruiker.

Metadata van documenten begrijpen

Metadata zijn gegevens die informatie over andere gegevens geven. Voor RAG gaat het om beschrijvende informatie over je documenten of de kleinere tekststukken die daaruit zijn afgeleid.

  • Bron: Waar komt dit document vandaan (bijvoorbeeld "internal-wiki", "news-feed")?
  • Datum: Wanneer is het gemaakt of voor het laatst bijgewerkt?
  • Auteur: Wie heeft het geschreven?
  • Onderwerp/categorie: Welk onderwerp behandelt het?
  • Beveiligingsniveau: Is het openbaar, vertrouwelijk of intern?

Hoe metadata het ophalen verbetert

Stel je voor dat je in een enorme bibliotheek zoekt. In plaats van alleen in *alle* boeken naar trefwoorden te zoeken, wil je misschien "boeken die na 2020 zijn gepubliceerd" of "boeken van auteur X in het sciencefictiongenre".

Met metadatafiltering kan je RAG-systeem hetzelfde doen. Het verkleint de zoekruimte tot alleen de meest relevante documenten voordat het Large Language Model (LLM) ze ziet, waardoor de nauwkeurigheid en efficiëntie verbeteren.

Metadata extraheren tijdens het inladen

Metadata komt vaak vanzelf met je documenten mee. Een PDF kan bijvoorbeeld een auteur en aanmaakdatum bevatten. Webpagina's hebben URL's en publicatiedatums.

Je kunt deze informatie automatisch extraheren tijdens het inladen van de gegevens. Soms kun je zelfs nieuwe metadata genereren op basis van de inhoud zelf, bijvoorbeeld door een LLM te gebruiken om het onderwerp te classificeren.

Metadata met vectoren opslaan

Wanneer je je documenten in stukken opdeelt en vectorinsluitingen (numerieke representaties) maakt, sla je deze vectoren op in een vectordatabase.

Belangrijk is dat je in vectordatabases ook de bijbehorende metadata direct naast elke vector kunt opslaan. Deze koppeling is essentieel om semantisch zoeken te combineren met nauwkeurige filtering.

Code: eenvoudige metadata-extractie

Hier zie je een eenvoudig Python-voorbeeld dat laat zien hoe je eenvoudige metadata kunt extraheren uit een woordenboek dat een document voorstelt.

In een echt RAG-systeem gebeurt dit als onderdeel van de pijplijn voor het laden en voorbewerken van gegevens.

def extract_metadata(doc_content):
    # Simulate extracting from a document object
    # In a real-world scenario, you'd parse
    # PDFs, HTML, etc., to get this info.
    metadata = {
        "source": doc_content.get("source", "unknown"),
        "author": doc_content.get("author", "anonymous"),
        "length_chars": len(doc_content.get("text", ""))
    }
    return metadata

if __name__ == "__main__":
    document_data = {
        "text": "This is a report about Q3 earnings.",
        "source": "Financial Reports",
        "author": "Jane Doe",
        "date": "2023-10-26"
    }
    meta = extract_metadata(document_data)
    print(f"Extracted Metadata: {meta}")

Metadata gebruiken voor filtering

Metadatafiltering kan op twee belangrijke manieren binnen je RAG-pijplijn plaatsvinden:

  • Vooraf filteren: Filter documenten *voordat* je een vectorovereenkomstzoekopdracht uitvoert. Dit verkleint de zoekruimte, waardoor het zoeken sneller en relevanter wordt.
  • Achteraf filteren: Voer een brede vectorzoekopdracht uit en filter vervolgens de *resultaten* op basis van metadata. Dit is handig wanneer je eerst een breed net wilt uitwerpen en daarna een verfijnde selectie nodig hebt.

Code: opvragen met filters

Deze conceptuele Python-code laat zien hoe een zoekopdracht in een vectordatabase metadatafilters kan bevatten. De woordenlijst `filters` geeft voorwaarden op, zoals dat 'source' gelijk is aan 'HR Policy'.

De vectordatabase combineert de semantische zoekopdracht (via `query_vector`) met deze metadata voorwaarden om nauwkeurige resultaten te retourneren.

# Simulate a vector database client
class VectorDBClient:
    def query(self, query_vector, top_k, filters=None):
        print(f"Searching for top {top_k} vectors...")
        if filters:
            print(f"Applying metadata filters: {filters}")
        # In a real DB, this combines semantic search
        # with metadata conditions to retrieve documents.
        return ["doc_id_1", "doc_id_2"] # Simulated results

if __name__ == "__main__":
    db_client = VectorDBClient()
    user_query_vector = [0.1, 0.2, 0.3] # Placeholder embedding

    # Example: Find documents from 'HR Policy' source
    # and published after a certain date.
    search_filters = {
        "source": {"$eq": "HR Policy"},
        "date": {"$gt": "2023-01-01"}
    }

    results = db_client.query(
        query_vector=user_query_vector,
        top_k=5,
        filters=search_filters
    )
    print(f"Retrieved documents: {results}")

Voordelen van metadatafiltering

Door metadatafiltering effectief te gebruiken, krijgt je RAG-systeem belangrijke voordelen:

  • Hogere relevantie: Zorgt ervoor dat alleen echt relevante documenten in aanmerking komen voor de context van het LLM.
  • Minder verzinsels: Het LLM werkt met een gerichtere en nauwkeurigere context, wat leidt tot minder verzonnen antwoorden.
  • Kostenefficiëntie: Het LLM verwerkt minder irrelevante gegevens, waardoor de API-kosten dalen.
  • Meer controle: Implementeer toegangsbeheer, bijvoorbeeld "toon interne documenten alleen aan bevoegde gebruikers".

Korte controle over metadata

Je bouwt een RAG-systeem voor de interne kennisbank van een bedrijf. Een gebruiker stelt een vraag en je wilt ervoor zorgen dat het LLM alleen informatie gebruikt uit documenten die als "public" zijn gemarkeerd en in het afgelopen jaar zijn gepubliceerd.

Welke aanpak beschrijft het beste hoe metadata hierbij helpt?

Samenvatting: metadata beheersen

Gefeliciteerd! Je hebt geleerd hoe metadata een krachtig hulpmiddel is om je RAG-systeem te verbeteren.

  • Metadata biedt belangrijke beschrijvende context over je gegevens.
  • Je kunt er nauwkeurig mee filteren, zowel vóór als na het zoeken naar vectoren.
  • Het naast vectoren opslaan van metadata in je database is essentieel voor effectieve filtering.
  • Effectief metadatabeheer leidt tot relevantere, efficiëntere en beter gecontroleerde RAG-antwoorden.

Ontdek hierna hoe je deze geavanceerde RAG-systemen kunt evalueren en testen voor optimale prestaties!

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 “Metadatabeheer en filtering” gratis?

Ja — de volledige tekst van “Metadatabeheer en filtering” 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 “Metadatabeheer en filtering”?

Leer documentmetadata te extraheren en te gebruiken voor nauwkeurigere filtering en gerichte retrieval in uw RAG-systeem. 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 3 van 4.

Hoe lang duurt de les “Metadatabeheer en filtering”?

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)