'AI moet je proeven' #3: Hoe vectoren smaak en waarde toevoegen

Datum
9 februari 2024

Elk nieuw tijdperk vraagt om nieuwe brandstof, zo ook het AI-tijdperk. Het verzamelen van ruwe data niet is niet voldoende om generatieve AI efficiënt in te zetten – je zult ook data moeten verwerken en interpreteren. De vectordatabase slaat een brug tussen data en AI, waardoor waardevolle output en optimale klantbelevingen mogelijk worden. In dit artikel in onze serie AI moet je proeven, leer je hoe vectoren werken en krijg je de handvatten om ze in de dagelijkse praktijk toe te passen.

De term ‘vector’ is wellicht niet zo bekend bij het grote publiek, maar de impact ervan wel. Vectoren zorgen voor nauwkeurigere resultaten en aanbevelingen in zoekmachines en recommendations engines, waardoor de gebruikerservaring verbetert. Ze voegen context en relevantie toe, wat het verschil maakt tussen een positieve en een negatieve ervaring. Maar hoe werkt dit precies? En hoe zet je vectoren in als organisatie voor AI?

ai taste

Vectoren vertalen de werkelijkheid naar data

Een vector is een weergave van numerieke punten, bijvoorbeeld in een driedimensionaal coördinatensysteem met X, Y en Z. Hiermee kun je diverse berekeningen doen, zoals het bepalen van de afstand naar een restaurant in Amsterdam of welke stad onder de zeespiegel ligt.

In de context van AI kunnen vectoren ook woorden representeren, genaamd embeddings. Embeddings stellen je in staat om betekenissen en semantiek te definiëren. Zo kun je bijvoorbeeld een embedding maken van het smaakprofiel van een gerecht: zout, zoet, bitter, zuur en umami. De waarde van deze nummers wordt bepaald tijdens het trainen van het model. Hiermee kun je het smaakprofiel van recepten vastleggen en die vervolgens onderling vergelijken: welke recepten zijn bijzonder zoet en welke recepten lijken op elkaar?

ai moet je proeven blog image

Met vectoren worden recepten ook in talloze dimensies beschreven, zoals pittigheid, kans op kruimels, textuur, keuken, bereidingstijd, gebruikte ingrediënten, etc. Elke dimensie geeft je de mogelijkheid om verschillende recepten met elkaar te vergelijken of te groeperen. Dit wordt gedaan met de afstand tussen vectoren op de dimensie waarop je zoekt. Deze vectoren worden opgeslagen in een vectordatabase. Hoe meer dimensies je hebt, hoe complexer en specifieker je vectoren kunt vergelijken en groeperen. Het vermogen om een stuk tekst om te kunnen zetten in een vector – en allerlei berekeningen mee doen om bijvoorbeeld zwaartes en synoniemen mee te geven – maakt natuurlijke taalverwerking (natural language processing, NLP) mogelijk.

Combineer je een vectordatabase met een LLM-model zoals ChatGPT, dan kun je bijzonder interessante dingen doen. De voornaamste daarvan is grip krijgen op de data waarmee het LLM-model werkt.

Grip op je data met vectoren

ChatGPT is beperkt met een kennislimiet tot een bepaald tijdstip: GPT 3.5 tot januari 2022 en GPT 4.0 tot april 2023. Gebruikers kunnen weliswaar tijdelijke input geven voor actuele antwoorden, maar het model blijft gebaseerd op gegevens tot die datum. Het bijwerken van het model met nieuwe data is namelijk tijdsintensief en kostbaar: het trainen van het GPT-3 model kostte bijvoorbeeld naar schatting 12 miljoen dollar en het GPT-4 model zelfs meer dan 100 miljoen dollar. De grote vraag is dan hoe je als bedrijf je bedrijfsinformatie toegankelijk kunt maken én actueel houden via een LLM-model zonder deze opnieuw te moeten trainen of finetunen. Het antwoord is door de taken te verdelen. Een LLM-model is feitelijk een slimme bouwsteen voor taal die je overal kunt toevoegen. Een vectordatabase is een losse bouwsteen die je aan een LLM-model kunt koppelen, net als een ‘standaard’ database met bijvoorbeeld productinformatie. Deze combinatie van taken heet retrieval augmented generation (RAG). Op basis van de input haal je voorgeselecteerde informatie op uit de (vector)database, om deze informatie vervolgens te gebruiken met de LLM. De (vector)database kun je actueel bijhouden met bijvoorbeeld de drie meest relevante pagina’s van je website, de laatste energieprijzen of de beschikbaarheid van je producten. Zo houd je niet alleen de data actueel, maar behoud je ook de volledige controle. Daarmee geef je zelf sturing aan het succes van je LLM-model.

De waarde van semantisch zoeken

Vectoren en embeddings maken data begrijpbaar en interpreteerbaar waarmee semantisch zoeken mogelijk wordt. Dit ontsluit allerlei zakelijke toepassingen:

Vectoren kunnen overal worden toegepast waar het gaat om interactie met data, informatie en kennis. Uitgebreide tekstuele documentatie, zoals voorwaarden of handleidingen, kun je met vectordatabases ontsluiten om specifieke antwoorden op basis van complexe zoekopdrachten. De veelzijdigheid van vectoren opent de deur naar cruciale informatie, waardoor kennisintensieve organisaties hun operationele processen kunnen optimaliseren en meer waarde toevoegen aan hun diensten.

En het mooie van vectoren? Je kunt ze als organisatie bijzonder snel in de praktijk brengen en meerwaarde creëren.

De vectordatabase in de praktijk brengen

Voor het technische deel heb je iemand nodig met technische kennis van het maken van een simpele applicatie, typisch een developer. Er zijn tegenwoordig veel tools beschikbaar, zowel betaald als onbetaald. Het is een kwestie van tijd vrijmaken en uitproberen. Wat je nodig hebt:

  • Een LLM-model. Je kunt hiervoor de betaalde SaaS-diensten van OpenAI en Azure OpenAI gebruiken of lokaal een eigen LLM-model draaien, zoals LLaMA 2 van Meta of Mistral uit Frankrijk. 

  • Een vectordatabase. Ook hier zijn betaalde en gratis tools beschikbaar, zoals Pinecone en Weaviate, een Nederlandse open-source startup met serverless, lokaal en cloud als mogelijkheden. 

Door een LLM-model te gebruiken dat al getraind is, bespaar je aanzienlijke tijd. OpenAI biedt sinds kort nu ook de laagdrempelige mogelijkheid om zonder coderen een eigen GPT (Generative Pre-trained Transformer) te bouwen. De vectordatabase benader je rechtstreeks via API of via een client van de gekozen oplossing, zoals Pinecone client of Weaviate Client. Na het verbinden van de client, het creëren van een index en het toevoegen van vectoren, kun je al een eerste ‘nearest-neighbour’ zoekactie doen. Deze quickstart met testvectoren kun je volgens Weaviate al in 20 minuten draaiend krijgen. Het toepassen van een vectordatabase is niet uitsluitend een IT-taak. Vanwege de vele toepassingen raakt het gebruik van vectoren en embeddings steeds meer verweven met operationele en commerciële processen van een organisatie. Klanten betere antwoorden online kunnen geven heeft bijvoorbeeld directe gevolgen voor de druk op de klantenafdeling en de klandizie. Neem daarom de toepassing en het creëren van toegevoegde waarde als uitgangspunt. 


Best practices voor vectordatabases

Het bedenken en bouwen van een LLM-model wordt steeds gemakkelijker door de beschikbaarheid van GPT’s. OpenAI wil hiermee de creatie van specifieke chatbots stimuleren. Een marktplaats waar je deze chatbots kunt aanbieden en afnemen ligt in het verschiet, wat verdere innovatie en toepassing enorm zal versnellen. Wil je je concurrentie voorblijven? Pas de volgende best practices toe waarmee je maximale waarde met vectordatabases creëert: 

  1. De vectordatabase vervangt geen andere databases. Een LLM-model kun je aan allerlei databases koppelen, zoals een productdatabase. Daarmee kun je hele directe antwoorden geven waarvoor je geen semantisch zoeken nodig hebt. Bijvoorbeeld: is deze winterjas ook in maat XXXL beschikbaar? Wat is de beschikbaarheid? Voor zoekopdrachten die betekenis en verbanden zoeken, gebruik je een vectordatabase. 

  2. Garbage in, garbage out. De resultaten van een vectordatabase hangen af van de kwaliteit van de data. Die moeten nauwkeurig, goed georganiseerd en adequaat worden omgezet naar vectoren. Het aantal dimensies speelt daarbij een grote rol: hoe meer dimensies je bijvoorbeeld over recepten vastlegt, hoe meer specifieke vragen je kunt beantwoorden. Bijvoorbeeld over de aanwezigheid van gluten of pinda’s. Gebruik daarom alleen kwalitatieve data en zet in op het continu verbeteren ervan. 

  3. Vectoren kunnen voor alles staan. Als numerieke representaties kunnen vectoren voor van alles staan. Wanneer je betekenis aan een vector toekent, dan noem je dat een embedding. Zo kun je een vector maken met betekenis van woorden, afbeeldingen en geluiden. Daarmee kun je als gebruiker zoeken op een specifieke afbeelding en bijvoorbeeld vragen om gerelateerde afbeeldingen. Dit is bijvoorbeeld hoe Google Photos het mogelijk maakt om je geüploade foto’s te doorzoeken op onderwerpen als kat, tuin, glas. Het biedt ook mogelijkheden voor contextuele embeddings en wiskundige bewerkingen van numerieke representaties, zoals de 2e macht van alle klinkers. 

  4. Maak vectoren niet te groot. De grootte van de vector is een belangrijke factor. Hoe kleiner de vector, hoe groter de nauwkeurigheid van de output. Maak daarom geen vectoren van hele pagina’s, maar ook niet per woord. Een goede grootte voor standaard tekst is 100 tot 300 woorden. Elke FAQ kun je als een afzonderlijke vector creëren, zodat je slimme stukjes maakt. 

  5. Sla ook de URL op. Naast de vector kun je ook informatie opslaan als meta-data, zoals de URL van de pagina waar de tekst vandaan komt. Dit is handig voor het achterhalen van de bron wanneer je bijvoorbeeld negatieve feedback krijgt. Denk bijvoorbeeld aan de voorwaarden van een verzekering: als die zijn geüpdate dan wil je ook de vectoren updaten. 

  6. Dimensies kosten geld. Het gebruik van vectordatabases met veel dimensies kan kostbaar zijn. Als organisatie zul je de kosten van meer dimensies moeten afwegen tegen de nauwkeurigheid van de resultaten. Welke vragen wil je kunnen beantwoorden? En welke zijn minder waardevol?

De mens blijft centraal staan

Het AI-tijdperk is aangebroken. Elke dienst en product kan nu worden ondersteund met een gespecialiseerde AI-chatbot die een breed scala aan vragen kan beantwoorden. Door deze vooruitgang worden niet alleen data en kennis toegankelijker, maar verbetert ook de customer experience. De sleutel tot succes zit echter niet in volledige automatisering en overgave aan de technologische mogelijkheden.Menselijke input is essentieel om het volledige potentieel van AI te ontsluiten. De kwaliteit van de data waarmee een LLM-model wordt getraind en een vectordatabase wordt gevuld, vormt hierbij de kern. Gebruik je daarvoor AI-gegenereerde content in plaats van menselijk geschreven content, dan loopt de kwaliteit van de output hard achteruit. Een vectordatabase weet niet intrinsiek dat een pepersteak pittig is maar niet verkruimelt: dat zal een mens moeten duiden. Menselijke input speelt ook een cruciale rol in ethiek binnen het AI-landschap. Ethiek en verantwoordelijkheid zijn onlosmakelijk verbonden met het ontwikkelen en implementeren van AI-technologieën. Het vermogen om betekenis te geven aan specifieke woorden, culturele context te begrijpen en morele overwegingen te maken, is inherent menselijk. De menselijke maat is uiteindelijk wat je AI-model maakt of kraakt: succes wordt gedefinieerd door je gebruikers.

Justin van Grootveld
Justin van Grootveld
Lead Developer

Met intussen meer dan 10 jaar ervaring in software development is Justin bij iO uitgegroeid tot Lead Developer. Hij helpt organisaties in verschillende sectoren klaar te stomen voor de toekomst dankzij doordachte technologische keuzes. Justin is daarnaast ook fervent AI-evangelist. Hij ondersteunt klanten en collega's binnen iO met advies, ontwikkeling, conceptualisatie, workshops, en meer.

Meer weten over Large Language Models?

In deze whitepaper kijken we naar het verleden, heden en de toekomst van AI-taalmodellen. Leer bovendien tips en tricks om zelf met AI aan de slag te gaan.

Herentals-mensen-Pieter-smartphone | iO
Gerelateerde artikelen

Blijf op de hoogte. Schrijf je in op onze nieuwsbrief

iO respecteert je privacy. Je kan op elk moment weer uitschrijven.

 Of ontvang updates & insights via onze WhatsApp nieuwsbrief!