Creación de un índice vectorial en un bucket vectorial
nota
Amazon S3 Vectors se encuentra en versión preliminar para Amazon Simple Storage Service y está sujeto a cambios.
nota
Elija con cuidado los parámetros de configuración del índice vectorial. Después de crear un índice vectorial, no puede actualizar el nombre, la dimensión, la métrica de distancia ni las claves de metadatos no filtrables del índice vectorial. Para cambiar cualquiera de estos valores, debe crear un nuevo índice vectorial.
Un índice vectorial es un recurso dentro de un bucket vectorial que almacena y organiza datos vectoriales para realizar búsquedas de similitud de forma eficiente. Al crear un índice vectorial, se definen las características que deben compartir todos los vectores de ese índice, como la dimensión, la métrica de distancia utilizada para los cálculos de similitud y, opcionalmente, las claves de metadatos no filtrables. Para obtener más información sobre los requisitos de nomenclatura de los índices vectoriales, los requisitos de dimensión, las opciones de métricas de distancia y las claves de metadatos no filtrables, consulte Restricciones y limitaciones.
Los índices vectoriales deben crearse en un bucket vectorial existente y requieren parámetros de configuración específicos que no se pueden modificar después de la creación.
Creación de un índice vectorial
-
Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3
. -
En el panel de navegación, elija Buckets vectoriales.
-
En la lista de buckets vectoriales, elija el nombre del bucket en el que desea crear un índice vectorial.
-
Elija Crear índice vectorial.
-
En Nombre del índice vectorial, introduzca un nombre para el índice vectorial.
Los nombres de los índices vectoriales deben ser únicos en el bucket vectorial. El nombre de índice tener entre 3 y 63 caracteres. Los caracteres válidos son letras minúsculas (a-z), números (0-9), guiones (-) y puntos (.). Para obtener más información sobre los requisitos de nomenclatura de los índices vectoriales, consulte Restricciones y limitaciones.
-
En Dimensión, introduzca el número de valores de cada vector.
nota
-
El valor de Dimensión determina cuántos valores numéricos contendrá cada vector.
-
Todos los vectores agregados a este índice deben tener exactamente este número de valores.
-
Una dimensión debe estar entre 1 y 4096.
-
Una dimensión mayor requiere más espacio de almacenamiento.
-
Elija en función de las dimensiones de salida del modelo de incrustación.
Para obtener más información sobre los requisitos de dimensión, consulte Restricciones y limitaciones.
-
-
En Métrica de distancia, elija una de las siguientes opciones:
-
Coseno: mide el coseno del ángulo entre vectores. Ideal para vectores normalizados y cuando la dirección es más importante que la magnitud.
-
Euclidiano: mide la distancia en línea recta entre vectores. Ideal cuando tanto la dirección como la magnitud son importantes.
-
-
(Opcional) En Metadatos no filtrables, configure las claves de metadatos que se almacenarán pero no se utilizarán para filtrar:
Para agregar claves de metadatos no filtrables:
-
Elija Agregar clave.
-
Introduzca un nombre de clave (debe tener de 1 a 63 caracteres y debe ser único en este índice vectorial).
-
Repita el proceso para agregar claves adicionales (máximo diez claves).
nota
Puede asociar metadatos filtrables como pares clave-valor a cada vector al insertar datos vectoriales después de crear un índice vectorial. De forma predeterminada, todas las claves de metadatos asociadas a vectores son filtrables y se pueden utilizar como filtros en una consulta de similitud. Solo las claves de metadatos que se especifican como no filtrables durante la creación del índice vectorial se excluyen del filtrado. Para obtener más información sobre los límites de tamaño de metadatos por vector, incluidas las restricciones de metadatos totales y filtrables, consulte Restricciones y limitaciones.
-
-
Revise la configuración cuidadosamente.
nota
Esta configuración no se puede cambiar después de la creación.
-
Elija Crear índice vectorial.
Para crear un índice vectorial en un bucket vectorial, utilice los siguientes comandos de ejemplo y reemplace los user input placeholders
por información propia.
Ejemplo 1: creación de un índice vectorial con claves de metadatos no 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
"]}'
Ejemplo 2: creación de un índice vectorial sin claves de metadatos no filtrables
aws s3vectors create-index \ --vector-bucket-name "
amzn-s3-demo-vector-bucket
" \ --index-name "idx2
" \ --data-type "float32" \ --dimension4096
\ --distance-metric "euclidean
"
Además, todos los metadatos (tanto filtrables como no filtrables) se recuperan de la misma manera mediante las operaciones de la API GetVectors
, ListVectors
o QueryVectors
. En el siguiente comando de la CLI se muestra cómo recuperar vectores con metadatos (incluidos los metadatos no filtrables).
Ejemplo de solicitud:
aws s3vectors get-vectors \ --vector-bucket-name "
amzn-s3-demo-vector-bucket
" \ --index-name "idx
" \ --keys '["vec1", "vec3"]' \ --return-data \ --return-metadata \
Ejemplo de respuesta:
{ "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 respuesta incluirá todos los metadatos asociados al vector, independientemente de si se especificaron como filtrables o no filtrables durante la creación del índice.