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 :
Recherche sémantique : Trouver des documents en fonction du sens plutôt que des mots-clés
Correspondance de similarité : Identifier du contenu conceptuellement lié
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
Accédez à la section Magasins de Vecteurs dans votre tableau de bord
Cliquez sur "Créer un nouveau Magasin de Vecteurs" :
Un formulaire apparaîtra vous demandant d'entrer des détails.
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).
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
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
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
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
Voir et Éditer les Magasins de Vecteurs :
Accédez au tableau de bord de gestion pour voir, éditer ou supprimer des magasins de vecteurs.
Visualisation des Documents :
Parcourez les documents individuels et leurs métadonnées associées au sein d'un magasin de vecteurs spécifique.
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
Rendez-vous sur la page de détails de votre Vector Store
Naviguez vers la section de Gestion des Clés API :
Elle se trouve dans l'onglet "Configuration"
Cliquez sur "Ajouter une Clé API" :
Un formulaire apparaîtra vous demandant d'entrer des détails.
Remplissez les Détails :
Nom : Fournissez un nom pour la clé API afin de vous aider à identifier son cas d'utilisation.
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
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_chunksetnext_chunkspour récupérer le contenu environnantNombre de Résultats : Commencez avec 3-5 résultats (paramètre
n) et ajustez en fonction des besoins de précisionSeuil : Ajustez le paramètre
tpour 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 :
Soyez spécifique dans les requêtes de recherche
Incluez le contexte lorsque c'est possible
Utilisez un langage naturel plutôt que des mots-clés
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 :
L'exportation des données de votre base de données vectorielle source
La conversion des données dans un format compatible avec Rememberizer
L'importation des données dans votre magasin de vecteurs Rememberizer
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 :
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
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
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
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
É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