Baze de date vectoriale pentru sisteme de embedding

Introducere în Embeddings cu API-ul OpenAI

Emmanuel Pire

Senior Software Engineer, DataCamp

Limitările abordării actuale

  • Încărcarea tuturor embedding-urilor în memorie (1536 float-uri ~ 13kB/embedding)
  • Recalcularea embedding-urilor pentru fiecare interogare nouă
  • Calcularea distanțelor cosinus pentru fiecare embedding și sortarea este lentă și se scalează liniar

Diagramă care arată cum documentele și interogarea sunt încorporate la fiecare interogare, fără o soluție de stocare.

Introducere în Embeddings cu API-ul OpenAI

Baze de date vectoriale

  • Documentele încorporate sunt stocate și interogate din baza de date vectorială

Diagramă care arată cum o bază de date vectorială stochează embedding-urile documentelor și returnează rezultate pe baza unei interogări încorporate.

Introducere în Embeddings cu API-ul OpenAI

 

Baze de date NoSQL
  • Structură mai flexibilă, care permite interogări mai rapide

Exemple de scheme NoSQL, inclusiv cheie:valoare, document și grafuri.

 

Baze de date SQL/Relaționale
  • Date structurate în tabele, rânduri și coloane

Tabele cu coloane și rânduri într-o bază de date SQL sau relațională.

Introducere în Embeddings cu API-ul OpenAI

Componente de stocat

 

  • Embedding-uri
  • Texte sursă
  • Metadate
    • ID-uri și referințe
    • Date suplimentare utile pentru filtrarea rezultatelor

 

Sfat util: Nu stocați textul sursă ca metadate!

Pictogramă pentru baza de date vectorială.

Introducere în Embeddings cu API-ul OpenAI

Peisajul bazelor de date vectoriale

Cele mai populare soluții de baze de date vectoriale, clasificate după tipul sursei (închisă sau deschisă) și după dedicarea lor exclusivă pentru vectori.

1 Credit imagine: Yingjun Wu
Introducere în Embeddings cu API-ul OpenAI

Care este cea mai bună soluție?

 

  • Gestionarea bazei de date:
    • Gestionată extern → mai costisitoare, dar reduce volumul de lucru
    • Auto-gestionată → mai ieftină, dar necesită timp și expertiză
  • Open source sau comercială?
    • Open source → flexibilă și rentabilă
    • Comercială → suport mai bun, funcționalități avansate și conformitate

 

  • Modele de date: tipul de date se potrivește cu un anumit tip de bază de date?
  • Funcționalități specifice: cazul dvs. de utilizare necesită funcționalități specifice, cum ar fi stocarea multi-modală?

Logo Chroma.

Introducere în Embeddings cu API-ul OpenAI

Să exersăm!

Introducere în Embeddings cu API-ul OpenAI

Preparing Video For Download...