Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Insertion de vecteurs dans un index vectoriel
Note
Amazon S3 Vectors est en version préliminaire pour Amazon Simple Storage Service et est sujet à modification.
Vous pouvez ajouter des vecteurs à un index vectoriel à l'aide de l'opération PutVectorsAPI. Chaque vecteur est constitué d'une clé qui identifie de manière unique chaque vecteur dans un index vectoriel. Si vous insérez un vecteur avec une clé qui existe déjà dans l'index, il remplacera complètement le vecteur existant, ce qui rend le vecteur précédent impossible à rechercher. Pour optimiser le débit d'écriture, il est recommandé d'insérer des vecteurs par lots volumineux, jusqu'à la taille de lot maximale pour. PutVectors
Pour plus d'informations sur la taille de lot maximale pourPutVectors
, qui est la limite de vecteurs par appel d'PutVectors
API, consultezLimites et restrictions. En outre, vous pouvez joindre des métadonnées (par exemple, année, auteur, genre, lieu) sous forme de paires clé-valeur à chaque vecteur. Par défaut, toutes les clés de métadonnées associées aux vecteurs sont filtrables et peuvent être utilisées comme filtres dans une requête de similarité. Seules les clés de métadonnées spécifiées comme non filtrables lors de la création de l'index vectoriel sont exclues du filtrage. Les index vectoriels S3 prennent en charge les types de métadonnées de type chaîne, numérique, booléen et liste. Pour plus d'informations sur la limite de taille totale des métadonnées par vecteur et la limite de taille des métadonnées filtrables par vecteur, consultezLimites et restrictions. Si la taille des métadonnées dépasse ces limites, l'opération d'PutVectors
API renvoie une 400 Bad Request
erreur.
Avant d'ajouter des données vectorielles à votre index vectoriel à l'aide de l'opération PutVectors
API, vous devez convertir vos données brutes en intégrations vectorielles, qui sont des représentations numériques de votre contenu sous forme de tableaux de nombres à virgule flottante. Les intégrations vectorielles capturent la signification sémantique de votre contenu, permettant ainsi des recherches de similarité une fois qu'elles sont stockées dans votre index vectoriel pendant l'opération. PutVectors
Vous pouvez générer des intégrations vectorielles à l'aide de différentes méthodes en fonction de votre type de données et de votre cas d'utilisation. Ces méthodes incluent l'utilisation de frameworks d'apprentissage automatique, de bibliothèques d'intégration spécialisées ou de AWS
services tels qu'Amazon Bedrock. Par exemple, si vous utilisez Amazon Bedrock, vous pouvez générer des intégrations à l'aide de l'opération InvokeModelAPI et de votre modèle d'intégration préféré.
En outre, les bases de connaissances Amazon Bedrock fournissent un flux de travail end-to-end RAG entièrement géré dans lequel Amazon Bedrock récupère automatiquement les données de votre source de données S3, convertit le contenu en blocs de texte, génère des intégrations et les stocke dans votre index vectoriel. Vous pouvez ensuite interroger la base de connaissances et générer des réponses basées sur des fragments extraits de vos données sources.
En outre, l'outil open source Amazon S3 Vectors Embed CLI fournit un moyen simplifié de générer des intégrations et d'effectuer des recherches sémantiques à partir de la ligne de commande. Pour plus d'informations sur cet outil open source qui automatise à la fois la génération d'intégrations vectorielles avec les modèles Amazon Bedrock Foundation et les opérations de recherche sémantique dans vos index vectoriels S3, consultez. Création d'intégrations vectorielles et réalisation de recherches sémantiques avec s3vectors-embed-cli
Note
Lorsque vous insérez des données vectorielles dans votre index vectoriel, vous devez fournir les données vectorielles sous forme de valeurs float32
(virgule flottante 32 bits). Si vous transmettez des valeurs plus précises à un AWS SDK, S3 Vectors les convertit en virgule flottante 32 bits avant de les stocker GetVectorsListVectors, et les QueryVectorsopérations renvoient les valeurs. float32
Différents AWS SDKs peuvent avoir des types numériques par défaut différents. Assurez-vous donc que vos vecteurs sont correctement formatés en tant que float32
valeurs, quel que soit le SDK que vous utilisez. Par exemple, en Python, utilisez numpy.float32
ou convertissez explicitement vos valeurs.