Tous les produits
Search
Centre de documentation

Object Storage Service:put-vectors

Dernière mise à jour :Sep 22, 2026

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

oss: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://.

Remarque

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 :

  • Si une clé existe déjà, le vecteur est écrasé. Si des clés en double existent au sein du même lot, l'opération entière échoue.

  • La longueur de la clé doit être comprise entre 1 et 1 024 caractères.

  • La clé doit être au format UTF-8.

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 :

  • La taille totale ne peut pas dépasser 200 Ko.

  • Limites pour les métadonnées filtrables : chaque vecteur prend en charge de 0 à 100 champs filtrables. La taille de chaque champ de métadonnées filtrable ne peut pas dépasser 2 Ko.

  • Types de données pris en charge : string, number, boolean et list.

  • Lorsque vous configurez des métadonnées filtrables :

    • La longueur totale des métadonnées filtrables dans une seule instruction de filtre ne peut pas dépasser 20 Ko.

    • Le nombre d'éléments de métadonnées filtrables dans une seule instruction de filtre ne peut pas dépasser 1 024.

    • Les conditions de filtre peuvent être imbriquées jusqu'à 8 niveaux de profondeur.

    • Les conditions de filtre vides sont autorisées.

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\"}}]"