Ga naar hoofdinhoud

Vector-databases onder de knie met Pinecone: een uitgebreide handleiding

Duik in de wereld van vector-databases met onze diepgaande tutorial over Pinecone. Ontdek hoe je hoge-dimensionale data efficiënt verwerkt, ongestructureerde data begrijpt en de kracht van vector-embeddings benut voor AI-gedreven toepassingen.
Bijgewerkt 2 okt 2026  · 11 min lezen

Verken met AI

ChatGPTClaudePerplexity

Als je een dataspecialist of data-analist bent die bekend is met relationele en niet-relationele databases zoals SQL en MongoDB, maak je dan klaar om een spannende nieuwe wereld van databeheer te verkennen. In deze tutorial leer je over een nieuw type datastore: vector-databases, een gespecialiseerd soort database dat is ontworpen om vectordata efficiënt te verwerken. In deze Pinecone-tutorial kijken we specifiek naar het Pinecone-platform voor vector-databases.

Wil je meer leren over Pinecone? Bekijk dan zeker onze cursus Vector Databases for Embeddings with Pinecone.

Wat is een vector-database?

In traditionele databases wordt data meestal opgeslagen in rijen en kolommen, geschikt voor gestructureerde data. Naarmate datasets echter complexer en hoger-dimensionaal worden, ontstaat de behoefte aan een meer gespecialiseerde oplossing. Daar komen vector-databases tot hun recht. In plaats van met traditionele datastructuren te werken, zijn vector-databases geoptimaliseerd om met vectoren om te gaan: wiskundige representaties van datapunten in multidimensionale ruimtes.

Vectordata wordt veel gebruikt in uiteenlopende velden, waaronder machine learning, data science, computationele biologie en NLP. Ze kunnen numerieke features, coördinaten, embeddings, tekst, afbeeldingen en nog veel meer representeren. Met de opkomst van AI-gedreven toepassingen is de vraag naar efficiënte verwerking van gevectoriseerde datasets sterk toegenomen, en vector-databases zijn in deze context een cruciaal hulpmiddel geworden.

Diagram van een vector-database

Beeldbron

Wat is Pinecone?

Pinecone is een beheerd platform voor vector-databases dat speciaal is gebouwd om de unieke uitdagingen van hoge-dimensionale data aan te pakken. Met geavanceerde indexerings- en zoekmogelijkheden stelt Pinecone data engineers en data scientists in staat grootschalige machinelearning-toepassingen te bouwen en te implementeren die hoge-dimensionale data effectief verwerken en analyseren.

Belangrijkste features van Pinecone

Laten we bekijken wat Pinecone zo'n handig hulpmiddel maakt:

Volledig beheerde service

Als volledig beheerd platform regelt Pinecone alles rond infrastructuur en onderhoud. Hierdoor kunnen ontwikkelaars zich richten op de ontwikkeling en uitrol van hun machinelearning-toepassingen zonder zich zorgen te maken over infrastructuur en operationele complexiteit.

Schaalbaarheid

Pinecone is uitzonderlijk schaalbaar, beheert moeiteloos miljarden hoge-dimensionale vectoren en biedt horizontale schaalmogelijkheden. Daardoor is het zeer geschikt voor de meest veeleisende machinelearning-workloads.

Realtime data-ingestie

Pinecone ondersteunt naadloos realtime data-ingestie, zodat je nieuwe data kunt opslaan en indexeren zodra die beschikbaar komt, zonder downtime of onderbrekingen.

Zoeken met lage latency

Door geavanceerde indexeringsalgoritmen te gebruiken, levert Pinecone zoekresultaten met lage latency voor nearest-neighborqueries en gelijkeniszoekopdrachten. Dit zorgt voor snelle en precieze uitkomsten voor tijdkritische toepassingen.

Naadloze integratie

De API van Pinecone is bewust simpel en intuïtief ontworpen, wat de integratie met bestaande machinelearning-workflows en datapijplijnen vereenvoudigt.

On gestructureerde data en vector-embeddings begrijpen

Tekst-embeddingmodel

Tekst-embeddingmodel - Beeldbron

Ongestructureerde data is data zonder vooraf gedefinieerde of georganiseerde opmaak, waardoor traditionele databases die niet efficiënt kunnen opslaan en verwerken. Voorbeelden zijn tekst, afbeeldingen, audio en videobestanden.

Omdat ongestructureerde data geen starre structuur heeft, is die lastig direct te analyseren met traditionele methoden. Om ongestructureerde data te kunnen gebruiken voor machinelearning- en AI-toepassingen, wordt die daarom getransformeerd en opgeslagen als een multidimensionale numerieke representatie met behulp van vector-embeddings.

Embeddings spelen een sleutelrol binnen kunstmatige intelligentie. Ze vormen een krachtige techniek om hoge-dimensionale data, zoals woorden, afbeeldingen of gebruikersvoorkeuren, om te zetten in compacte numerieke representaties. Deze numerieke embeddings stellen AI-modellen in staat complexe informatie efficiënt te verwerken en te begrijpen.

Embeddings worden begrijpelijker als je ze ziet als een gespecialiseerd woordenboek voor een bepaalde taak. In tekstminingprojecten helpen embeddings bijvoorbeeld de semantische betekenis van woorden te vatten door hun relaties met andere woorden te analyseren. Dit proces levert een lijst met embeddings op, die je kunt zien als een taakspecifiek woordenboek met numerieke vectorrepresentaties die de semantische betekenis van woorden weerspiegelen. De overeenkomst en relatie tussen verschillende woorden wordt gemeten aan de hand van de afstand tussen hun overeenkomstige embeddings, waardoor AI-modellen de context en betekenis van woorden kunnen begrijpen.

Het belang van embeddings ligt in hun vermogen om de dimensionaliteit van data te reduceren, zodat machinelearning-modellen grote input, zoals spaarzame vectoren die woorden of items representeren, beter aankunnen. Met embeddings vermijden we de beperkingen van one-hot-encoding, waarbij elke categorie wordt omgezet in een aparte dummyvariabele, wat voor bepaalde taken kan leiden tot extreem grote inputmatrices.

Wil je meer leren over hoe word embeddings werken? Bekijk dan onze tutorial LDA2vec: Word Embeddings in Topic Models.

Samenvatting:

  • Een vector-database is een gespecialiseerd type database dat vectordata efficiënt kan verwerken
  • Pinecone is een volledig beheerde service voor vector-databases
  • Ongestructureerde data is data zonder vooraf gedefinieerde of georganiseerde opmaak, zoals afbeeldingen, tekst, audio of video
  • Embeddings zijn een krachtige techniek om hoge-dimensionale data om te zetten in compacte numerieke representaties

Hoe werkt een vector-database?

Je kent vast de werking van traditionele databases, die skalare data zoals strings en getallen opslaan in rijen en kolommen. Vector-databases werken echter anders: ze werken met vectoren en gebruiken andere manieren om te optimaliseren en te bevragen.

In traditionele databases zoeken queries meestal naar exacte overeenkomsten in de database. Vector-databases gebruiken daarentegen een gelijkenismetriek om de vector te vinden die het best bij onze query past.

Vector-databases gebruiken een combinatie van algoritmen, samen bekend als Approximate Nearest Neighbor (ANN)-zoektocht. Deze algoritmen optimaliseren het zoekproces via technieken zoals hashing, kwantisatie of graafgebaseerd zoeken.

Algemene pijplijn voor vector-database

Algemene pijplijn voor een vector-database (Beeldbron)

Wil je leren hoe je de OpenAI API gebruikt om tekst-embeddings te maken en die vervolgens in een vector-database zoals Pinecone op te slaan? Ontdek hun toepassingen in tekstclassificatie, information retrieval en semantische gelijkenis in de Introduction to Text Embeddings with the OpenAI API-blog op DataCamp.

Aan de slag met Pinecone

Ga om te beginnen naar pinecone.io en maak een gratis account aan.

Pinecone-aanmeldpagina

Zodra je je succesvol hebt aangemeld, klik je in het menu op API Keys en kopieer je je environment en API-sleutel. Die gebruik je bij het werken met de Python-client van Pinecone.

Pinecone API-pagina

Je kunt de Python-client voor Pinecone ook installeren met pip.

pip install pinecone-client

Kernbegrippen in Pinecone

Voordat we de diepte ingaan, verkennen we eerst een paar belangrijke termen en concepten die je moet kennen:

Pinecone-index

In Pinecone vertegenwoordigt een index de bovenste organisatielaag voor vectordata. Die ontvangt en bewaart vectoren, verwerkt queries op de opgeslagen vectoren en voert verschillende vectorbewerkingen uit binnen zijn data. Elke index draait op een of meer pods om efficiënt te kunnen functioneren.

Pods

Pods zijn vooraf geconfigureerde hardware-eenheden die Pinecone-services hosten. Elke index in Pinecone draait op één of meerdere pods; extra pods leveren doorgaans meer opslagcapaciteit, lagere latency en hogere throughput op. Bovendien kunnen gebruikers pods in verschillende groottes aanmaken om aan specifieke eisen te voldoen.

Afstandsmetriek

Afstandsmetriek zijn wiskundige technieken om de gelijkenis tussen twee vectoren binnen een vectorruimte te beoordelen. In vector-databases spelen deze maten een cruciale rol bij het vergelijken van de opgeslagen vectoren met een gegeven queryvector om de meest vergelijkbare te identificeren.

Je kunt uit verschillende metriek kiezen wanneer je een vectorindex maakt:

  1. Cosine similarity. Deze maat evalueert de cosinus van de hoek tussen twee vectoren in de vectorruimte. De schaal loopt van -1 tot 1, waarbij 1 identieke vectoren aangeeft, 0 orthogonale vectoren en -1 tegengesteld gerichte vectoren.
  2. Euclidische afstand. Deze maat berekent de kortste afstand tussen twee vectoren in de vectorruimte. De schaal loopt van 0 tot oneindig, waarbij 0 identieke vectoren aanduidt en grotere waarden toenemende ongelijkheid.
  3. Inproduct (dot product). Deze maat berekent het product van de lengtes van twee vectoren en de cosinus van de hoek ertussen. De schaal loopt van -∞ tot ∞, waarbij positieve waarden vectoren aanduiden die in dezelfde richting wijzen, 0 orthogonale vectoren en negatieve waarden tegengesteld gerichte vectoren.

Pinecone API-sleutel verifiëren

Om Pinecone vanuit Python te gebruiken is een API-sleutel nodig. Je vindt je API-sleutel in de Pinecone-console onder "API Keys". In hetzelfde scherm vind je ook informatie over de omgeving die aan je project is gekoppeld.

import pinecone
pinecone.init(api_key="API_KEY", environment = 'ENVIRONMENT')

Een Pinecone-index maken

Om een index in Pinecone te maken, voer je simpelweg uit:

pinecone.create_index("myfirstindex", dimension=8, metric="euclidean")

Zodra je dit commando uitvoert, zie je in je console dat er een Pinecone-index wordt geïnitialiseerd:

Starter-indexen in Pinecone

Data invoegen en bevragen in Pinecone

Om vectoren aan de index toe te voegen, kun je de bewerking upsert gebruiken. Upsert voegt óf een nieuwe vector toe aan de index, óf werkt een bestaande vector bij als er al een vector met dezelfde ID bestaat. Met de volgende opdrachten kun je vijf 8-dimensionale vectoren upserten in je index.

index = pinecone.Index("myfirstindex")

index.upsert([
    ("A", [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]),
    ("B", [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]),
    ("C", [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]),
    ("D", [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]),
    ("E", [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5])
])

Als je naar de console gaat, zie je de vijf vectoren die we zojuist hebben toegevoegd.

Toegevoegde vectoren in Pinecone

Om de dimensie van de vector te controleren, kun je het volgende uitvoeren:

index.describe_index_stats()
>>> {'dimension': 8,
>>>  'index_fullness': 0.0,
>>>  'namespaces': {'': {'vector_count': 5}},
>>>  'total_vector_count': 5}

De index bevragen en vergelijkbare vectoren ophalen in Pinecone

In onderstaand voorbeeld wordt de index bevraagd om de top drie (3) vectoren op te halen die de hoogste gelijkenis vertonen met een voorbeeldvector van 8 dimensies. De query gebruikt de Euclidische-afstandsmetriek zoals opgegeven bij het aanmaken van de index.

index.query(
  vector=[0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3],
  top_k=3,
  include_values=True
)
>>> {'matches': [{'id': 'C',
>>>              'score': 0.0,
>>>              'values': [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]},
>>>             {'id': 'D',
>>>              'score': 0.0799999237,
>>>              'values': [0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4]},
>>>             {'id': 'B',
>>>              'score': 0.0800000429,
>>>              'values': [0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]}],
>>>  'namespace': ''}

Indexen verwijderen in Pinecone

Als je de index niet meer nodig hebt, kun je de bewerking delete_index gebruiken om de index te verwijderen.

pinecone.delete_index("myfirstindex")

Conclusie

Deze tutorial gaf inzicht in de wereld van vector-databases en Pinecone. Vector-databases bieden een gespecialiseerde oplossing om hoge-dimensionale data efficiënt te verwerken, wat steeds belangrijker wordt binnen machine learning, data science en AI-gedreven toepassingen.

Pinecone, als beheerd platform voor vector-databases, springt eruit als een krachtig hulpmiddel voor data engineers en -wetenschappers, met schaalbaarheid, zoeken met lage latency en realtime data-ingestie. Dankzij de naadloze integratie en gebruiksvriendelijke API versnelt Pinecone het bouwen en uitrollen van grootschalige machinelearning-toepassingen.

De tutorial ging ook in op het concept van ongestructureerde data en hoe vector-embeddings een essentiële rol spelen bij het omzetten van zulke data in compacte numerieke representaties voor analyse.

Ben je gefascineerd door het idee van vector-databases en denk je dat je er een usecase voor hebt? Bekijk dan onze praktijkgerichte cursus Vector Databases for Embeddings with Pinecone. Je kunt ook Weaviate proberen - een open-source vector-database in Python. Wil je hier meer over leren? Bekijk dan het webinar Vector Databases for Data Science with Weaviate in Python op Datacamp.


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Data scientist, oprichter en maker van PyCaret

Onderwerpen
Kunstmatige intelligentie
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken