Use el comando put-vectors para escribir datos vectoriales en un índice.
Notas de uso
Un solo índice vectorial almacena un máximo de 2 mil millones de filas de datos vectoriales.
La operación PutVectors tiene un límite de QPS de 1,000. Una sola solicitud escribe un lote de hasta 500 vectores. El número total de vectores en todas las solicitudes simultáneas está limitado a 2,500.
Permisos
Una cuenta de Alibaba Cloud tiene todos los permisos de forma predeterminada. Sin embargo, un usuario o rol de Resource Access Management (RAM) no cuenta con ningún permiso de forma predeterminada. El propietario de la cuenta de Alibaba Cloud o un administrador debe otorgar permisos mediante una RAM Policy o un bucket policy.
|
API |
Acción |
Descripción |
|
PutVectors |
|
Escribe datos vectoriales. |
Formato del comando
ossutil vectors-api put-vectors --bucket value --index-name value --vectors value [flags]
Parámetros
|
Parámetro |
Tipo |
Descripción |
|
--bucket |
string |
Nombre del bucket de vectores. |
|
--index-name |
string |
Nombre del índice. |
|
--vectors |
string |
Datos vectoriales. Especifique una cadena JSON o la ruta de un archivo con el prefijo file://. |
El comando put-vectors corresponde a la operación de API PutVectors.
Para obtener información sobre las opciones globales de línea de comandos compatibles, consulte Global command-line options.
Formato de los datos vectoriales
Los datos vectoriales deben estar en formato de arreglo JSON. Cada vector del arreglo contiene los campos a continuación:
[
{
"data": {
"float32":[float]
},
"key": "string",
"metadata": {
"key1": ["value1", "value2"],
"key2": "value2"
}
}
]
A continuación se describe cada campo.
|
Nombre |
Tipo de dato |
Obligatorio |
Ejemplo |
Descripción |
|
key |
String |
Sí |
doc-001 |
Clave principal del vector que lo identifica de manera única. Se aplican los siguientes límites:
Nodo padre: vectors |
|
data |
Container |
Sí |
- |
Contenido del vector. Nodo padre: vectors |
|
float32 |
Arreglo numérico |
Sí |
[0.1, 0.2, 0.3] |
Datos vectoriales con tipo de dato float32. Las dimensiones del vector deben coincidir con las definidas en el índice. No se permiten vectores cero cuando se usa la medida de distancia coseno. Nodo padre: data |
|
metadata |
Container |
No |
- | Metadatos. Se aplican los siguientes límites:
Nodo padre: vectors |
Ejemplos
En este ejemplo se agrega un vector a un índice llamado index dentro de un bucket de vectores denominado examplebucket. Los datos vectoriales son [1], la clave principal es vector1 y los metadatos son {"Key1": "32"}.
-
Use un archivo de configuración JSON. El archivo vectors.json contiene lo a continuación:
[ { "data": { "float32": [1] }, "key": "vector1", "metadata": { "Key1": "32" } } ]Ejemplo de comando:
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors file://vectors.json -
Use un parámetro de configuración JSON:
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors "[{\"data\":{\"float32\":[1]},\"key\":\"vector1\",\"metadata\":{\"Key1\":\"32\"}}]"