Utilisez la commande put-vectors pour écrire des données vectorielles dans un index.
Notes d'utilisation
Un index vectoriel peut stocker au maximum 2 milliards de lignes de données vectorielles.
L'opération PutVectors est limitée à 1 000 QPS (requêtes par seconde). Une requête unique peut écrire un lot contenant jusqu'à 500 vecteurs. Le nombre total de vecteurs traités par toutes les requêtes simultanées est limité à 2 500.
Autorisations
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. En revanche, un utilisateur RAM ou un rôle RAM ne possède aucune autorisation. Le propriétaire du compte Alibaba Cloud ou un administrateur doit accorder les autorisations nécessaires via une stratégie RAM ou une stratégie de bucket.
|
API |
Action |
Description |
|
PutVectors |
|
Écrit des données vectorielles. |
Format de la commande
ossutil vectors-api put-vectors --bucket value --index-name value --vectors value [flags]
Paramètres
|
Paramètre |
Type |
Description |
|
--bucket |
string |
Nom du bucket vectoriel. |
|
--index-name |
string |
Nom de l'index. |
|
--vectors |
string |
Données vectorielles. Spécifiez une chaîne JSON ou un chemin de fichier préfixé par file://. |
La commande put-vectors correspond à l'opération API PutVectors.
Pour plus d'informations sur les options de ligne de commande globales prises en charge, consultez la section Options de ligne de commande globales.
Format des données vectorielles
Les données vectorielles doivent être au format tableau JSON. Chaque vecteur du tableau contient les champs suivants :
[
{
"data": {
"float32":[float]
},
"key": "string",
"metadata": {
"key1": ["value1", "value2"],
"key2": "value2"
}
}
]
Le tableau suivant décrit chaque champ.
|
Nom |
Type de données |
Obligatoire |
Exemple |
Description |
|
key |
String |
Oui |
doc-001 |
Clé primaire du vecteur. Elle identifie le vecteur de manière unique. Les limites suivantes s'appliquent :
Nœud parent : vectors |
|
data |
Container |
Oui |
- |
Contenu du vecteur. Nœud parent : vectors |
|
float32 |
Tableau numérique |
Oui |
[0.1, 0,2, 0,3] |
Données vectorielles. Le type de données est float32. Les dimensions du vecteur doivent correspondre aux dimensions définies dans l'index. Les vecteurs nuls ne sont pas autorisés lorsque la mesure de distance cosinus est utilisée. Nœud parent : data |
|
metadata |
Container |
Non |
- | Métadonnées. Les limites suivantes s'appliquent :
Nœud parent : vectors |
Exemples
Cet exemple ajoute un vecteur à un index vectoriel nommé index dans un bucket vectoriel nommé examplebucket. Les données vectorielles sont [1], la clé primaire est vector1 et les métadonnées sont {"Key1": "32"}.
-
Utilisez un fichier de configuration JSON. Le contenu suivant se trouve dans le fichier vectors.json :
[ { "data": { "float32": [1] }, "key": "vector1", "metadata": { "Key1": "32" } } ]Exemple de commande :
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors file://vectors.json -
Utilisez un paramètre de configuration JSON :
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors "[{\"data\":{\"float32\":[1]},\"key\":\"vector1\",\"metadata\":{\"Key1\":\"32\"}}]"