Magasins de vecteurs

Ce guide vous aidera à comprendre comment utiliser le magasin de vecteurs Rememberizer en tant que développeur.

Magasins de Vecteurs

Le Magasin de Vecteurs Rememberizer simplifie le processus de gestion des données vectorielles, vous permettant de vous concentrer sur l'entrée de texte et de tirer parti de la puissance des vecteurs pour diverses applications telles que la recherche et l'analyse de données.

Introduction

Le magasin de vecteurs Rememberizer fournit une interface facile à utiliser pour gérer les données vectorielles tout en abstraisant la complexité des embeddings vectoriels. Alimenté par PostgreSQL avec l'extension pgvector, le magasin de vecteurs Rememberizer vous permet de travailler directement avec du texte. Le service gère le découpage, la vectorisation et le stockage des données textuelles, vous permettant de vous concentrer sur la logique principale de votre application.

Pour une compréhension plus approfondie des concepts théoriques derrière les embeddings vectoriels et les bases de données vectorielles, consultez Qu'est-ce que les embeddings vectoriels et les bases de données vectorielles ?.

Vue d'ensemble technique

Comment fonctionnent les magasins de vecteurs

Les magasins de vecteurs Rememberizer convertissent le texte en représentations vectorielles de haute dimension (embeddings) qui capturent le sens sémantique. Cela permet :

  1. Recherche sémantique : Trouver des documents en fonction du sens plutôt que des mots-clés

  2. Correspondance de similarité : Identifier du contenu conceptuellement lié

  3. Récupération efficace : Localiser rapidement des informations pertinentes à partir de grands ensembles de données

Composants Clés

  • Traitement de Document : Le texte est divisé en morceaux de taille optimale avec des frontières qui se chevauchent pour préserver le contexte

  • Vectorisation : Les morceaux sont convertis en embeddings à l'aide de modèles à la pointe de la technologie

  • Indexation : Des algorithmes spécialisés organisent les vecteurs pour une recherche de similarité efficace

  • Traitement de Requête : Les requêtes de recherche sont vectorisées et comparées aux embeddings stockés

Architecture

Rememberizer implémente des magasins de vecteurs en utilisant :

  • PostgreSQL avec l'extension pgvector : Pour un stockage et une recherche de vecteurs efficaces

  • Organisation basée sur des collections : Chaque magasin de vecteurs a sa propre collection isolée

  • Accès piloté par API : Points de terminaison RESTful simples pour toutes les opérations

Commencer

Création d'un Magasin de Vecteurs

  1. Accédez à la section Magasins de Vecteurs dans votre tableau de bord

  2. Cliquez sur "Créer un nouveau Magasin de Vecteurs" :

    • Un formulaire apparaîtra vous demandant d'entrer des détails.

  3. Remplissez les Détails :

    • Nom : Fournissez un nom unique pour votre magasin de vecteurs.

    • Description : Écrivez une brève description du magasin de vecteurs.

    • Modèle d'Incorporation : Sélectionnez le modèle qui convertit le texte en vecteurs.

    • Algorithme d'Indexation : Choisissez comment les vecteurs seront organisés pour la recherche.

    • Métrique de Recherche : Définissez comment la similarité entre les vecteurs est calculée.

    • Dimension du Vecteur : La taille des incorporations de vecteurs (généralement 768-1536).

  4. Soumettez le Formulaire :

    • Cliquez sur le bouton "Créer". Vous recevrez une notification de succès, et le nouveau magasin apparaîtra dans votre liste de magasins de vecteurs.

Options de configuration

Modèles d'Intégration

Modèle
Dimensions
Description
Meilleur Pour

openai/text-embedding-3-large

1536

Modèle d'intégration à haute précision d'OpenAI

Applications de production nécessitant une précision maximale

openai/text-embedding-3-small

1536

Modèle d'intégration plus petit et plus rapide d'OpenAI

Applications avec des exigences de débit plus élevées

Algorithmes d'indexation

Algorithme
Description
Compromis

IVFFLAT (par défaut)

Fichier inversé avec compression plate

Bon équilibre entre vitesse et précision ; fonctionne bien pour la plupart des ensembles de données

HNSW

Petit monde navigable hiérarchique

Meilleure précision pour les grands ensembles de données ; exigences de mémoire plus élevées

Métriques de recherche

Métrique
Description
Meilleur pour

cosinus (par défaut)

Mesure l'angle entre les vecteurs

Correspondance de similarité à usage général

produit scalaire (ip)

Produit scalaire entre les vecteurs

Lorsque la magnitude du vecteur est importante

L2 (Euclidien)

Distance en ligne droite entre les vecteurs

Lorsque les relations spatiales sont importantes

Gestion des Magasins de Vecteurs

  1. Voir et Éditer les Magasins de Vecteurs :

    • Accédez au tableau de bord de gestion pour voir, éditer ou supprimer des magasins de vecteurs.

  2. Visualisation des Documents :

    • Parcourez les documents individuels et leurs métadonnées associées au sein d'un magasin de vecteurs spécifique.

  3. Statistiques :

    • Consultez des statistiques détaillées telles que le nombre de vecteurs stockés, les performances des requêtes et les métriques opérationnelles.

Gestion des clés API

Les clés API sont utilisées pour authentifier et autoriser l'accès aux points de terminaison de l'API du magasin de vecteurs Rememberizer. Une gestion appropriée des clés API est essentielle pour maintenir la sécurité et l'intégrité de vos magasins de vecteurs.

Création de Clés API

  1. Rendez-vous sur la page de détails de votre Vector Store

  2. Naviguez vers la section de Gestion des Clés API :

    • Elle se trouve dans l'onglet "Configuration"

  3. Cliquez sur "Ajouter une Clé API" :

    • Un formulaire apparaîtra vous demandant d'entrer des détails.

  4. Remplissez les Détails :

    • Nom : Fournissez un nom pour la clé API afin de vous aider à identifier son cas d'utilisation.

  5. Soumettez le Formulaire :

    • Cliquez sur le bouton "Créer". La nouvelle clé API sera générée et affichée. Assurez-vous de la copier et de la stocker en toute sécurité. Cette clé est utilisée pour authentifier les demandes à ce vector store spécifique.

Révocation des clés API

Si une clé API n'est plus nécessaire, vous pouvez la supprimer pour éviter tout usage abusif potentiel.

Pour des raisons de sécurité, vous voudrez peut-être faire tourner vos clés API périodiquement. Cela implique de générer une nouvelle clé et de révoquer l'ancienne.

Utilisation de l'API Vector Store

Après avoir créé un Vector Store et généré une clé API, vous pouvez interagir avec lui en utilisant l'API REST.

Exemples de Code

Télécharger un document dans le magasin de vecteurs

def upload_document(file_path, document_name=None): if document_name is None: document_name = file_path.split("/")[-1]

Télécharger le contenu textuel vers le magasin de vecteurs

def upload_text(content, document_name): headers = { "x-api-key": API_KEY, "Content-Type": "application/json" }

Rechercher dans le magasin de vecteurs

def search_vector_store(query, num_results=5, prev_chunks=1, next_chunks=1): headers = {"x-api-key": API_KEY}

Exemple d'utilisation

télécharger_document("path/to/document.pdf")

upload_text("Ceci est un texte d'exemple à vectoriser", "sample-document.txt")

search_vector_store("Comment fonctionne la similarité vectorielle ?")

{% endtab %}

{% tab title="Ruby" %}

Exemple d'utilisation

=begin client = VectorStoreClient.new('your_api_key', 'vs_abc123')

Rechercher des documents

results = client.search('Quelles sont les meilleures pratiques en matière de sécurité des données ?') puts "Trouvé #{results['matched_chunks'].length} résultats"

Afficher le meilleur résultat

if results['matched_chunks'].any? top_match = results['matched_chunks'].first puts "Meilleur match (distance : #{top_match['distance']}):" puts "Document : #{top_match['document']['name']}" puts "Contenu : #{top_match['matched_content']}" end =end

Considérations de Performance

À venir : Diagramme d'Architecture du Vector Store

Ce diagramme d'architecture technique illustrera :

  • L'architecture de base PostgreSQL + pgvector

  • Structures des algorithmes d'indexation (IVFFLAT vs. HNSW)

  • Comment fonctionnent les métriques de recherche dans l'espace vectoriel (comparaison visuelle)

  • Processus de découpage de documents avec visualisation de chevauchement

  • Considérations de performance visualisées à différentes échelles

Optimisation pour Différents Volumes de Données

Volume de Données
Configuration Recommandée
Remarques

Petit (<10k documents)

IVFFLAT, similarité cosinus

Configuration simple offrant de bonnes performances

Moyen (10k-100k documents)

IVFFLAT, assurer un réindexage régulier

Équilibre entre la vitesse de recherche et la maintenance de l'index

Grand (>100k documents)

HNSW, envisager d'augmenter les dimensions des vecteurs

Utilisation de mémoire plus élevée mais maintient les performances à grande échelle

Stratégies de découpage

Le processus de découpage impacte significativement la qualité de recherche :

  • Taille de Chunk : Rememberizer utilise une taille de chunk par défaut de 1024 octets avec un chevauchement de 200 octets

  • Chunks Plus Petits (512-1024 octets) : Correspondances plus précises, mieux pour des questions spécifiques

  • Chunks Plus Grands (1500-2048 octets) : Plus de contexte dans chaque correspondance, mieux pour des sujets plus larges

  • Chevauchement : Assure que le contexte n'est pas perdu aux limites des chunks

Optimisation des Requêtes

  • Fenêtres de Contexte : Utilisez prev_chunks et next_chunks pour récupérer le contenu environnant

  • Nombre de Résultats : Commencez avec 3-5 résultats (paramètre n) et ajustez en fonction des besoins de précision

  • Seuil : Ajustez le paramètre t pour filtrer les résultats par score de similarité

Utilisation Avancée

Réindexation

Rememberizer déclenche automatiquement la réindexation lorsque le nombre de vecteurs dépasse des seuils prédéfinis, mais envisagez une réindexation manuelle après :

  • Avoir téléchargé un grand nombre de documents

  • Avoir changé le modèle d'incorporation

  • Avoir modifié l'algorithme d'indexation

Amélioration des requêtes

Pour de meilleurs résultats de recherche :

  1. Soyez spécifique dans les requêtes de recherche

  2. Incluez le contexte lorsque c'est possible

  3. Utilisez un langage naturel plutôt que des mots-clés

  4. Ajustez les paramètres en fonction de la qualité des résultats

Migration depuis d'autres bases de données vectorielles

Si vous utilisez actuellement d'autres solutions de bases de données vectorielles et souhaitez migrer vers Rememberizer Vector Store, les guides suivants vous aideront à transférer vos données efficacement.

Vue d'ensemble de la migration

La migration des données vectorielles implique :

  1. L'exportation des données de votre base de données vectorielle source

  2. La conversion des données dans un format compatible avec Rememberizer

  3. L'importation des données dans votre magasin de vecteurs Rememberizer

  4. La vérification que la migration a réussi

Avantages de la migration vers Rememberizer

  • Fondation PostgreSQL : Construit sur une technologie de base de données mature avec sauvegarde et récupération intégrées

  • Écosystème intégré : Connexion transparente avec d'autres composants de Rememberizer

  • Gestion simplifiée : Interface unifiée pour les opérations vectorielles

  • Sécurité avancée : Sécurité au niveau des lignes et contrôles d'accès granulaires

  • Architecture évolutive : Optimisation des performances à mesure que vos données croissent

Migration de Pinecone

Migration de Qdrant

Migration de Supabase pgvector

Si vous utilisez déjà Supabase avec pgvector, la migration vers Rememberizer est particulièrement simple puisque les deux utilisent PostgreSQL avec l'extension pgvector.

Meilleures Pratiques de Migration

Suivez ces recommandations pour une migration réussie :

  1. Planifiez à l'avance :

    • Estimez le volume de données et le temps requis pour la migration

    • Planifiez la migration pendant les périodes de faible trafic

    • Augmentez l'espace disque avant de commencer de grandes migrations

  2. Testez d'abord :

    • Créez un magasin de vecteurs de test dans Rememberizer

    • Migrez un petit sous-ensemble de données (100-1000 vecteurs)

    • Vérifiez la fonctionnalité de recherche avec des requêtes clés

  3. Validation des Données :

    • Comparez les comptes de documents avant et après la migration

    • Exécutez des requêtes de référence pour garantir des résultats similaires

    • Validez que les métadonnées sont correctement préservées

  4. Optimisez pour la Performance :

    • Utilisez des opérations par lots pour plus d'efficacité

    • Envisagez la colocation géographique des bases de données source et cible

    • Surveillez les limites de taux d'API et ajustez les tailles de lot en conséquence

  5. Étapes Post-Migration :

    • Vérifiez la création de l'index dans Rememberizer

    • Mettez à jour les configurations de l'application pour pointer vers le nouveau magasin de vecteurs

    • Gardez la base de données source en tant que sauvegarde jusqu'à ce que la migration soit vérifiée

Pour une référence API détaillée et la documentation des points de terminaison, visitez la page APIs de magasin de vecteurs.


Assurez-vous de gérer les clés API de manière sécurisée et de suivre les meilleures pratiques pour la gestion des clés API.

Last updated