Naar de inhoud

    Typ minimaal 2 tekens.

    Alle resultaten

    Wat zijn embeddings en een vector database?

    Een embedding is een reeks getallen die de betekenis van een tekst vastlegt. Teksten die over hetzelfde gaan, krijgen getallen die dicht bij elkaar liggen, ook als er heel andere woorden in staan. Een vector database slaat die getallen op en zoekt er snel in, zodat je kunt zoeken op betekenis in plaats van op losse woorden.

    Hoe werken embeddings?

    Een embeddingmodel is een AI-model dat een stuk tekst omzet in een lange reeks getallen, een vector. Je kunt je die vector voorstellen als een punt in een ruimte met heel veel dimensies. Het model is zo getraind dat teksten met een vergelijkbare betekenis dicht bij elkaar komen te liggen.

    Een voorbeeld: “de pomp maakt een tikkend geluid” en “rammelend geluid bij de waterpomp” delen bijna geen woorden, maar liggen als embedding dicht bij elkaar. “De factuur van de pomp is te laat betaald” ligt verder weg, ook al staat het woord pomp erin.

    Om te zoeken maak je ook van de vraag een embedding. Daarna zoek je de teksten waarvan de embedding het dichtst bij die van de vraag ligt. Dat zijn de teksten die inhoudelijk het meest op de vraag lijken.

    Embeddings werken niet alleen voor tekst. Er zijn ook modellen voor afbeeldingen, en je kunt productgegevens of tickets omzetten naar embeddings om ze met elkaar te vergelijken.

    Wat doet een vector database?

    Een vector database is een database die is gemaakt om embeddings op te slaan en snel de meest vergelijkbare terug te vinden. Bij een paar honderd documenten kun je elke vraag nog met alles vergelijken. Bij grote aantallen wordt dat traag. Een vector database gebruikt slimme indexen om binnen korte tijd de beste kandidaten te vinden.

    Naast de vector bewaar je meestal ook de oorspronkelijke tekst en extra gegevens, zoals de bron, de datum, het product of de afdeling. Daarmee kun je filteren: zoek alleen in handleidingen van deze machine, of alleen in tickets van het afgelopen jaar.

    Niet elk project heeft een aparte vector database nodig. Veel bekende databases kunnen inmiddels ook vectoren opslaan en doorzoeken. Welke keuze past, hangt af van de hoeveelheid data en wat je er al hebt draaien.

    De rol van embeddings in RAG

    Embeddings zijn een belangrijk onderdeel van RAG (retrieval-augmented generation). Bij RAG beantwoordt een taalmodel (LLM) vragen op basis van je eigen documenten. Dat gaat zo:

    1. Je documenten worden in kleine stukken verdeeld.
    2. Van elk stuk wordt een embedding gemaakt en opgeslagen in de vector database.
    3. Bij een vraag wordt de vraag omgezet in een embedding en worden de best passende stukken opgezocht.
    4. Het taalmodel krijgt de vraag en die stukken, en schrijft daarop een antwoord.

    Omdat het opzoeken op betekenis gaat, vindt het systeem ook de juiste informatie als een medewerker de vraag anders formuleert dan in de handleiding staat. In de praktijk combineer je dit vaak met gewoon zoeken op trefwoorden, bijvoorbeeld voor artikelnummers en typecodes, waar exacte overeenkomst juist belangrijk is.

    Voorbeelden in een bedrijf

    • Zoeken in handleidingen: een monteur beschrijft een storing in eigen woorden en krijgt de passende pagina’s uit de handleidingen en werkinstructies.
    • Vergelijkbare tickets vinden: bij een nieuwe klantvraag toont het systeem eerdere tickets over hetzelfde probleem, met de oplossing die toen werkte.
    • Vergelijkbare producten: in een groothandel zoek je bij een artikel dat niet leverbaar is naar artikelen met een vergelijkbare omschrijving en toepassing.
    • Dubbele gegevens opsporen: artikelen of klanten die onder verschillende namen in je systeem staan, vallen op omdat hun omschrijving vrijwel hetzelfde betekent.
    • Kennis in de zorg of service: procedures en protocollen doorzoekbaar maken, zonder dat je precies de juiste term hoeft te kennen.

    Waar let je op?

    • Hoe je documenten opdeelt. Te grote stukken maken zoekresultaten vaag, te kleine stukken missen samenhang. De juiste verdeling hangt af van je documenten.
    • Kwaliteit en actualiteit. Verouderde documenten worden net zo goed gevonden als actuele. Zorg dat je verouderde stukken verwijdert of bijwerkt.
    • Wie wat mag zien. Zoekresultaten moeten rekening houden met rechten. Een medewerker mag via het zoeken alleen vinden waar hij ook zonder zoeken bij kan.
    • Taal en vakjargon. Niet elk embeddingmodel gaat even goed om met Nederlands of met jouw vaktermen. Test met echte vragen uit de praktijk.
    • Hetzelfde model blijven gebruiken. Embeddings van verschillende modellen zijn niet uitwisselbaar. Stap je over op een ander model, dan maak je alle embeddings opnieuw.

    Embeddings in je eigen software

    Embeddings en een vector database maken je eigen kennis vindbaar op betekenis, en vormen de basis onder veel AI-toepassingen met eigen data. Ze leveren het meeste op als ze werken in de software die je team al gebruikt. SQUARE Concepts bouwt sinds 2004 software in Laravel, gehost in Europa, en werkt met modellen als Claude, Gemini en ChatGPT. Lees meer over AI-automatisering voor je bedrijf.

    Veelgestelde vragen

    Wat is het verschil tussen zoeken op trefwoorden en zoeken met embeddings?

    Zoeken op trefwoorden vindt teksten waarin dezelfde woorden staan. Zoeken met embeddings vindt teksten die over hetzelfde gaan, ook als er andere woorden in staan. Een vraag over een lekkende koppeling vindt dan ook een handleiding over een afdichting die niet goed sluit.

    Heb ik een aparte vector database nodig?

    Niet altijd. Er zijn gespecialiseerde vector databases, maar veel gewone databases kunnen inmiddels ook embeddings opslaan en doorzoeken. Bij een beperkte hoeveelheid documenten is dat vaak genoeg.

    Wat hebben embeddings met RAG te maken?

    Bij RAG zoekt het systeem eerst de stukken uit je documenten die bij een vraag passen, en geeft die mee aan het taalmodel. Dat opzoeken gebeurt vaak met embeddings, zodat het systeem ook passende stukken vindt als de vraag in andere woorden is gesteld.

    Kun je uit een embedding de oorspronkelijke tekst halen?

    Niet direct, maar een embedding is niet anoniem. Er zijn technieken die delen van de tekst kunnen benaderen. Behandel embeddings daarom met dezelfde zorg als de teksten waar ze van gemaakt zijn.