Use o comando put-vectors para gravar dados vetoriais em um índice.
Notas de uso
Um único índice vetorial pode armazenar no máximo 2 bilhões de linhas de dados vetoriais.
A operação PutVectors tem um limite de QPS de 1.000. Uma única requisição pode gravar um lote de até 500 vetores, e o número total de vetores em todas as requisições simultâneas é limitado a 2.500.
Permissões
Por padrão, uma conta Alibaba Cloud tem todas as permissões. Porém, um usuário ou uma função do Resource Access Management (RAM) não possui permissões por padrão. O proprietário da conta Alibaba Cloud ou um administrador precisa conceder as permissões por meio de uma RAM Policy ou de uma bucket policy.
|
API |
Ação |
Descrição |
|
PutVectors |
|
Grava dados vetoriais. |
Formato do comando
ossutil vectors-api put-vectors --bucket value --index-name value --vectors value [flags]
Parâmetros
|
Parâmetro |
Tipo |
Descrição |
|
--bucket |
string |
O nome do bucket vetorial. |
|
--index-name |
string |
O nome do índice. |
|
--vectors |
string |
Os dados vetoriais, especifique uma string JSON ou um caminho de arquivo com o prefixo file://. |
O comando put-vectors corresponde à operação de API PutVectors.
Para obter informações sobre as opções globais de linha de comando compatíveis, consulte Global command-line options.
Formato dos dados vetoriais
Os dados vetoriais devem estar no formato de array JSON. Cada vetor no array contém os seguintes campos:
[
{
"data": {
"float32":[float]
},
"key": "string",
"metadata": {
"key1": ["value1", "value2"],
"key2": "value2"
}
}
]
A tabela a seguir descreve cada campo.
|
Nome |
Tipo de dados |
Obrigatório |
Exemplo |
Descrição |
|
key |
String |
Sim |
doc-001 |
A chave primária do vetor. Identifica o vetor de forma exclusiva. Aplicam-se os seguintes limites:
Nó pai: vectors |
|
data |
Contêiner |
Sim |
- |
O conteúdo do vetor. Nó pai: vectors |
|
float32 |
Array numérico |
Sim |
[0,1, 0,2, 0,3] |
Os dados do vetor, com tipo de dados float32. As dimensões do vetor devem corresponder às dimensões definidas no índice. Vetores zero não são permitidos ao usar a medida de distância cosseno. Nó pai: data |
|
metadata |
Contêiner |
Não |
- | Os metadados. Aplicam-se os seguintes limites:
Nó pai: vectors |
Exemplos
Este exemplo adiciona um vetor a um índice vetorial chamado index em um bucket vetorial chamado examplebucket. Os dados do vetor são [1], a chave primária é vector1 e os metadados são {"Key1": "32"}.
-
Use um arquivo de configuração JSON. O conteúdo a seguir está no arquivo vectors.json:
[ { "data": { "float32": [1] }, "key": "vector1", "metadata": { "Key1": "32" } } ]Exemplo de comando:
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors file://vectors.json -
Use um parâmetro de configuração JSON:
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors "[{\"data\":{\"float32\":[1]},\"key\":\"vector1\",\"metadata\":{\"Key1\":\"32\"}}]"