Vectordatabases voor embeddingsystemen

Introductie tot Embeddings met de OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Beperkingen van de huidige aanpak

  • Alle embeddings in geheugen laden (1536 floats ~ 13 kB/embedding)
  • Embeddings bij elke nieuwe query herberekenen
  • Cosinusafstanden voor elke embedding berekenen en sorteren is traag en schaalt lineair

Een diagram dat laat zien hoe documenten en query bij elke query worden ge-embed zonder opslagoplossing.

Introductie tot Embeddings met de OpenAI API

Vectordatabases

  • Embedded documenten worden opgeslagen en gequeryd uit de vectordatabase

Een diagram dat toont hoe een vectordatabase documentembeddings opslaat en op basis van een ge-embedde query resultaten terugstuurt.

Introductie tot Embeddings met de OpenAI API

 

NoSQL-database
  • Flexibele structuur die sneller queryen mogelijk maakt

Voorbeelden van NoSQL-databaseschema's, waaronder key:value-, document- en graafdatabases.

 

SQL/Relationele database
  • Gestructureerde data in tabellen, rijen en kolommen

Tabellen met kolommen en rijen in een SQL- of relationele database.

Introductie tot Embeddings met de OpenAI API

Te bewaren componenten

 

  • Embeddings
  • Bronteksten
  • Metadata
    • ID's en referenties
    • Extra data voor het filteren van resultaten

 

Top tip: Sla de brontekst niet als metadata op!

Een vectordatabasepictogram.

Introductie tot Embeddings met de OpenAI API

Het vectordatabaselandschap

Veel populaire vectordatabases, geordend op closed source vs. open source en op dedicated vectordatabases of niet.

1 Beeldcredits: Yingjun Wu
Introductie tot Embeddings met de OpenAI API

Welke oplossing is het best?

 

  • Databasemanagement:
    • Managed → duurder maar minder beheerlast
    • Zelf beheren → goedkoper maar kost tijd en expertise
  • Open source of commercieel?
    • Open source → flexibel en kostenefficiënt
    • Commercieel → betere support, meer features en compliance

 

  • Datamodellen: past het datatype bij een specifiek databasetype?
  • Specifieke features: is er functionaliteit nodig, zoals multimodale opslag?

Chroma-logo.

Introductie tot Embeddings met de OpenAI API

Laten we oefenen!

Introductie tot Embeddings met de OpenAI API

Preparing Video For Download...