Enumeración de vectores - Amazon Simple Storage Service

Enumeración de vectores

Puede enumerar vectores en un índice vectorial con la operación de la API ListVectors. Para obtener más información sobre el número máximo de vectores que se pueden devolver por página, consulte Restricciones y limitaciones. La respuesta incluye un token de paginación cuando los resultados se truncan. Para obtener más información sobre los elementos de respuesta de ListVectors, consulte ListVectors en la Referencia de la API de Amazon S3. También puede utilizar ListVectors para exportar datos vectoriales desde un índice vectorial especificado. ListVectors tiene una alta coherencia. Después de una operación WRITE, puede enumerar inmediatamente los vectores con todos los cambios reflejados.

Para enumerar vectores, utilice los siguientes comandos de ejemplo. Reemplace los marcadores de posición de entrada del usuario por información propia.

Los parámetros segment-count y segment-index le permiten dividir las operaciones de enumeración en varias solicitudes paralelas. Cuando se especifica un valor segment-count (como 2), el índice se divide en ese número de segmentos. El parámetro segment-index (a partir de 0) determina qué segmento se enumerará. Este enfoque ayuda a mejorar el rendimiento cuando se enumeran índices vectoriales grandes, ya que habilita el procesamiento paralelo. Para obtener más información sobre segment-count y segment-index, consulte ListVectors en la Referencia de la API de Amazon S3.

Enumeración de todos los vectores de un índice

Ejemplo de solicitud:

aws s3vectors list-vectors \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --segment-count 2 \ --segment-index 0 \ --return-data \ --return-metadata

Respuesta de ejemplo:

{ "vectors": [ { "key": "vec3", "data": { "float32": [0.4000000059604645] }, "metadata": { "nonFilterableKey": "val4", "filterableKey": "val2" } } ] }

Enumeración de vectores con paginación

Ejemplo de solicitud:

aws s3vectors list-vectors \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --segment-count 2 \ --segment-index 0 \ --return-data \ --return-metadata \ --next-token "zWfh7e57H2jBfBtRRmC7OfMwl209G9dg3j2qM6kM4t0rps6ClYzJykgMOil9eGqU5nhf_gTq53IfoUdTnsg"

Respuesta de ejemplo:

{ "vectors": [ { "key": "vec1", "data": { "float32": [0.5] }, "metadata": { "nonFilterableKey": "val2", "filterableKey": "val1" } } ] }
SDK for Python

Ejemplo: Muestra de vectores en un índice vectorial

import boto3 # Create a S3 Vectors client in the AWS Region of your choice. s3vectors = boto3.client("s3vectors", region_name="us-west-2") #List vectors in your vector index response = s3vectors.list_vectors( vectorBucketName="media-embeddings", indexName="movies", maxResults = 600, returnData = True, returnMetadata = True ) vectors = response["vectors"] print(vectors)

Ejemplo: Muestra de todos los vectores en un índice vectorial en paralelo

import boto3 # Create a S3 Vectors client in the AWS Region of your choice. s3vectors = boto3.client("s3vectors", region_name="us-west-2") #List vectors in the 1st half of vectors in the index. response = s3vectors.list_vectors( vectorBucketName="media-embeddings", indexName="movies", segmentCount=2, segmentIndex=1, maxResults = 600, returnData = True, returnMetadata = True ) vectors = response["vectors"] #List vectors starting from the 2nd half of vectors in the index. # This can be ran in parallel with the first `list_vectors` call. response = s3vectors.list_vectors( vectorBucketName="media-embeddings", indexName="movies", segmentCount=2, segmentIndex=1, maxResults = 600, returnData = True, returnMetadata = True ) vectors = response["vectors"] print(vectors)