Bases de données vectorielles pour les systèmes d'embeddings

Introduction aux embeddings avec l’API OpenAI

Emmanuel Pire

Senior Software Engineer, DataCamp

Limites de l'approche actuelle

  • Charger tous les embeddings en mémoire (1536 floats ~ 13 kB/embedding)
  • Recalculer les embeddings à chaque nouvelle requête
  • Calculer les distances cosinus pour chaque embedding puis trier est lent et évolue linéairement

Schéma montrant que les documents et la requête sont encodés à chaque requête, sans solution de stockage.

Introduction aux embeddings avec l’API OpenAI

Bases de données vectorielles

  • Les documents encodés sont stockés et interrogés depuis la base de données vectorielle

Schéma montrant comment une base de données vectorielle stocke les embeddings de documents et renvoie des résultats à partir d'une requête encodée.

Introduction aux embeddings avec l’API OpenAI

 

Base de données NoSQL
  • Structure plus flexible permettant des requêtes plus rapides

Exemples de schémas NoSQL, dont key:value, document et graphe.

 

Base de données SQL/Relationnelle
  • Données structurées en tables, lignes et colonnes

Tables avec colonnes et lignes dans une base SQL, ou relationnelle.

Introduction aux embeddings avec l’API OpenAI

Éléments à stocker

 

  • Embeddings
  • Textes sources
  • Métadonnées
    • ID et références
    • Données additionnelles utiles pour filtrer les résultats

 

Astuce : ne stockez pas le texte source comme métadonnée !

Icône de base de données vectorielle.

Introduction aux embeddings avec l’API OpenAI

Panorama des bases de données vectorielles

Nombreuses solutions populaires de bases vectorielles, classées selon open source/ propriétaire et spécialisées ou non.

1 Crédit image : Yingjun Wu
Introduction aux embeddings avec l’API OpenAI

Quelle solution choisir ?

 

  • Gestion de la base :
    • Gérée → plus cher, mais charge réduite
    • Auto-gérée → moins cher, mais demande temps et expertise
  • Open source ou commercial ?
    • Open source → flexible et économique
    • Commercial → meilleur support, plus de fonctionnalités avancées, conformité

 

  • Modèles de données : le type de données oriente-t-il vers un type de base spécifique ?
  • Fonctionnalités clés : votre cas d'usage dépend-il d'options comme le stockage multimodal ?

Logo Chroma.

Introduction aux embeddings avec l’API OpenAI

Passons à la pratique !

Introduction aux embeddings avec l’API OpenAI

Preparing Video For Download...