Criar um índice de vetores em um bucket de vetores
nota
O Amazon S3 Vectors está na versão prévia para o Amazon Simple Storage Service e está sujeito a alterações.
nota
Escolha cuidadosamente os parâmetros de configuração do índice de vetores. Após a criação de um índice de vetores, não é possível atualizar o respectivo nome, dimensão, métrica de distância ou chaves de metadados não filtráveis. Para alterar qualquer um desses valores, você deve criar outro índice de vetores.
Índice de vetores é um recurso dentro de um bucket de vetores que armazena e organiza os dados vetoriais para possibilitar uma pesquisa por similaridade eficiente. Ao criar um índice de vetores, você define as características que todos os vetores desse índice devem ter em comum, como dimensão, métrica de distância usada para cálculos de similaridade e, opcionalmente, chaves de metadados não filtráveis. Para ter mais informações sobre os requisitos de nomenclatura, os requisitos de dimensão, as opções de métrica de distância e as chaves de metadados não filtráveis dos índices de vetores, consulte Limitações e restrições.
Os índices de vetores devem ser criados em um bucket de vetores existente e exigem parâmetros de configuração específicos que não podem ser modificados após a criação.
Como criar um índice de vetores
-
Abra o console do Amazon S3, em https://console.aws.amazon.com/s3/
. -
No painel de navegação, escolha Buckets de vetores.
-
Na lista de buckets de vetores, escolha o nome do bucket em que você deseja criar um índice de vetores.
-
Escolha Criar índice de vetores.
-
Em Nome do índice de vetores, insira um nome para o índice de vetores.
O nome dos índices de vetores deve ser exclusivo dentro do bucket de vetores. O nome do índice deve ter entre 3 e 63 caracteres. Os caracteres válidos são letras minúsculas (a-z), números (0-9), hifens (-) e pontos (.). Para ter mais informações sobre os requisitos de nomenclatura de índices de vetores, consulte Limitações e restrições.
-
Em Dimensão, insira o número de valores em cada vetor.
nota
-
O valor para Dimensão determina quantos valores numéricos cada vetor conterá.
-
Todos os vetores adicionados a esse índice devem ter exatamente esse número de valores.
-
A dimensão deve ser entre 1 e 4096.
-
Uma dimensão maior requer maior espaço de armazenamento.
-
Escolha com base nas dimensões de saída do seu modelo de incorporação.
Para ter mais informações sobre os requisitos de dimensão, consulte Limitações e restrições.
-
-
Em Métrica de distância, escolha uma das seguintes opções:
-
Cosseno: mede o cosseno do ângulo entre os vetores. Ideal para vetores normalizados e quando a direção é mais importante do que a magnitude.
-
Euclidiano: mede a distância em linha reta entre os vetores. Ideal quando a direção e a magnitude são importantes.
-
-
(Opcional) Em Metadados não filtráveis, configure as chaves de metadados que serão armazenadas, mas não usadas para filtragem:
Para adicionar chaves de metadados não filtráveis:
-
Escolha Adicionar chave.
-
Insira um nome de chave (de 1 a 63 caracteres e exclusivo nesse índice de vetores).
-
Repita o procedimento para adicionar mais chaves (no máximo dez chaves).
nota
Depois de criar um índice de vetores, você pode anexar metadados filtráveis como pares de chave-valor a cada vetor ao inserir dados vetoriais. Por padrão, todas as chaves de metadados anexadas aos vetores são filtráveis e podem ser usadas como filtros em uma consulta de similaridade. Somente as chaves de metadados especificadas como não filtráveis durante a criação do índice de vetores são excluídas da filtragem. Para ter mais informações sobre limites de tamanho de metadados por vetor, bem como restrições de metadados totais e filtráveis, consulte Limitações e restrições.
-
-
Analise sua configuração cuidadosamente.
nota
Essas configurações não podem ser alteradas após a criação.
-
Escolha Criar índice de vetores.
Para criar um índice de vetores em um bucket de vetores, use os comandos de exemplo a seguir e substitua os user input placeholders pelas suas próprias informações.
Exemplo 1: criar um índice de vetores com chaves de metadados não filtráveis
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"]}'
Exemplo 2: criar um índice de vetores sem chaves de metadados não filtráveis
aws s3vectors create-index \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx2" \ --data-type "float32" \ --dimension4096\ --distance-metric "euclidean"
Além disso, todos os metadados (filtráveis e não filtráveis) são recuperados da mesma forma usando as operações de API GetVectors, ListVectors ou QueryVectors. O comando da CLI a seguir mostra como recuperar vetores com metadados (inclusive metadados não filtráveis).
Exemplo de solicitação:
aws s3vectors get-vectors \ --vector-bucket-name "amzn-s3-demo-vector-bucket" \ --index-name "idx" \ --keys '["vec1", "vec3"]' \ --return-data \ --return-metadata \
Exemplo de resposta:
{ "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" } } ] }
A resposta incluirá todos os metadados associados ao vetor, independentemente de terem sido especificados como filtráveis ou não filtráveis durante a criação do índice.