Création d’un index vectoriel dans un compartiment de vecteur
Note
Amazon S3 Vectors est en version préliminaire pour Amazon Simple Storage Service et sujet à modification.
Note
Choisissez soigneusement les paramètres de configuration de votre index vectoriel. Après avoir créé un index vectoriel, vous ne pouvez pas mettre à jour le nom de l’index vectoriel, la dimension, la métrique de distance ou les clés de métadonnées non filtrables. Pour modifier l’une de ces valeurs, vous devez créer un nouvel index vectoriel.
Un index vectoriel est une ressource au sein d’un compartiment de vecteur qui stocke et organise les données vectorielles pour une recherche de similarité efficace. Lorsque vous créez un index vectoriel, vous définissez les caractéristiques que tous les vecteurs de cet index doivent partager, telles que la dimension, la métrique de distance utilisée pour les calculs de similarité et, éventuellement, les clés de métadonnées non filtrables. Pour plus d’informations sur les exigences de dénomination des index vectoriels, les exigences de dimension, les options de métrique de distance et les clés de métadonnées non filtrables, consultez Limites et restrictions.
Les index vectoriels doivent être créés dans un compartiment de vecteur existant et nécessitent des paramètres de configuration spécifiques qui ne peuvent pas être modifiés après leur création.
Pour créer un index vectoriel
-
Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation, choisissez Compartiments de vecteur.
-
Dans la liste de compartiments de vecteur, choisissez le nom du compartiment dans lequel vous souhaitez créer un index vectoriel.
-
Choisissez Créer un index vectoriel.
-
Dans Nom de l’index vectoriel, saisissez le nom de votre index vectoriel.
Les noms d’index vectoriel doivent être uniques dans le compartiment de vecteur. Le nom d’index doit comporter entre 3 et 63 caractères. Les caractères valides sont les lettres minuscules (a-z), les chiffres (0-9), les tirets (-) et les points (.). Pour plus d’informations sur les exigences relatives à la dénomination des index vectoriels, consultez Limites et restrictions.
-
Pour Dimension, entrez le nombre de valeurs dans chaque vecteur.
Note
-
La valeur de Dimension détermine le nombre de valeurs numériques que chaque vecteur contiendra.
-
Tous les vecteurs ajoutés à cet index doivent avoir exactement ce nombre de valeurs.
-
Une dimension doit être comprise entre 1 et 4 096.
-
Une plus grande dimension nécessite plus d’espace de stockage.
-
Choisissez en fonction des dimensions de sortie de votre modèle de vectorisation.
Pour plus d’informations sur les exigences relatives aux dimensions, consultez Limites et restrictions.
-
-
Pour Métrique de distance, choisissez l’une des options suivantes :
-
Cosinus : mesure le cosinus de l’angle entre les vecteurs. Idéal pour les vecteurs normalisés et lorsque la direction compte plus que la magnitude
-
Euclidien : mesure la distance en ligne droite entre les vecteurs. Idéal lorsque la direction et la magnitude sont importantes.
-
-
(Facultatif) Sous Métadonnées non filtrables, configurez les clés de métadonnées qui seront stockées mais non utilisées pour le filtrage :
Pour ajouter des clés de métadonnées non filtrables :
-
Sélectionnez Ajouter une clé.
-
Saisissez un nom de clé (1 à 63 caractères et unique dans cet index vectoriel).
-
Répétez l’opération pour ajouter des clés supplémentaires (10 clés au maximum).
Note
Vous pouvez attacher des métadonnées filtrables sous forme de paires clé-valeur à chaque vecteur lorsque vous insérez des données vectorielles après avoir créé un index vectoriel. Par défaut, toutes les clés de métadonnées attachées à des vecteurs sont filtrables et utilisables 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. Pour plus d’informations sur les limites de taille des métadonnées par vecteur, y compris les contraintes de métadonnées totales et filtrables, consultez Limites et restrictions.
-
-
Vérifiez attentivement votre configuration.
Note
Ces paramètres ne peuvent pas être modifiés après la création.
-
Choisissez Créer un index vectoriel.
Pour créer un index vectoriel dans un compartiment de vecteur, utilisez les exemples de commandes suivants et remplacez les user input placeholders par vos propres informations.
Exemple 1 : création d’un index vectoriel avec des clés de métadonnées non filtrables
aws s3vectors create-index \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --data-type "float32" \ --dimension1\ --distance-metric "cosine" \ --metadata-configuration '{"nonFilterableMetadataKeys":["nonFilterableKey1"]}'
Exemple 2 : création d’un index vectoriel avec des clés de métadonnées non filtrables
aws s3vectors create-index \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx2" \ --data-type "float32" \ --dimension4096\ --distance-metric "euclidean"
En outre, toutes les métadonnées (filtrables et non filtrables) sont récupérées de la même manière à l’aide des opérations de l’API GetVectors, ListVectors ou QueryVectors. La commande de l’interface de ligne de commande suivante montre comment récupérer des vecteurs avec des métadonnées (y compris des métadonnées non filtrables).
Exemple de demande :
aws s3vectors get-vectors \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --keys '["vec1", "vec3"]' \ --return-data \ --return-metadata \
Exemple de réponse :
{ "vectors": [ { "key": "vec1", "data": { "float32": [ 0.10000000149011612, 0.20000000298023224, 0.30000001192092896, 0.4000000059604645, 0.5 ] }, "metadata": { "category": "test", "text": "First vector" } }, { "key": "vec3", "data": { "float32": [ 0.6000000238418579, 0.699999988079071, 0.800000011920929, 0.8999999761581421, 1.0 ] }, "metadata": { "text": "Third vector", "category": "test" } } ] }
La réponse inclura toutes les métadonnées associées au vecteur, qu’il ait été spécifié comme filtrable ou non filtrable lors de la création de l’index.