L'API PutVectorIndex crée un index vectoriel dans un bucket vectoriel.
Notes
Un bucket vectoriel peut contenir au maximum 100 index vectoriels.
Le débit maximal est de 5 requêtes PutVectorIndex par seconde.
Permissions
Par défaut, les comptes Alibaba Cloud disposent de toutes les permissions, tandis que les utilisateurs RAM et les rôles RAM n'en ont aucune. Le compte Alibaba Cloud ou un administrateur doit accorder les permissions via une politique RAM ou une politique de bucket.
|
API |
Action |
Description |
|
PutVectorIndex |
|
Crée un index vectoriel. |
Syntaxe de la requête
POST /?putVectorIndex HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Content-type: application/json
{
"dataType": "string",
"dimension": int,
"distanceMetric": "string",
"indexName": "string",
"metadata": {
"nonFilterableMetadataKeys": [string, string]
}
}
En-têtes de requête
Cette opération utilise uniquement des en-têtes de requête communs. Pour plus d'informations, consultez la section En-têtes de requête communs.
Paramètres de requête
|
Nom |
Type de données |
Obligatoire |
Exemple |
Description |
|
dataType |
String |
Oui |
float32 |
Type de données des vecteurs. Ce paramètre n'est pas configurable. Valeur par défaut : float32. |
|
dimension |
Valeur |
Oui |
512 |
Nombre de dimensions du vecteur. Valeurs valides : 1 à 4096. Valeur par défaut : 512. |
|
distanceMetric |
String |
Oui |
euclidean |
Fonction de mesure de distance. Valeurs valides :
|
|
indexName |
String |
Oui |
vectorindex1 |
Nom personnalisé de l'index.
|
|
metadata |
Object |
Non |
- |
Conteneur pour les configurations de métadonnées. Seules les métadonnées non filtrables sont prises en charge. |
|
nonFilterableMetadataKeys |
Array of strings |
Non |
["field1", "field2"] | Configuration des métadonnées non filtrables. Les limites suivantes s'appliquent :
Nœud parent : metadata |
En-têtes de réponse
Cette opération utilise uniquement des en-têtes de réponse communs. Pour plus d'informations, consultez la section En-têtes de réponse communs.
Exemples
Exemple de requête
POST /?putVectorIndex HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.oss-vectors.aliyuncs.com
Date: Thu, 17 Apr 2025 01:33:47 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218
Content-type: application/json
{
"dataType": "float32",
"dimension": 1024,
"distanceMetric": "euclidean",
"indexName": "vectorindex1",
"metadata": {
"nonFilterableMetadataKeys": ["category", "timestamp"]
}
}
Exemple de réponse
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSS
SDK
L'API PutVectorIndex est prise en charge par les kits de développement logiciel (SDK) suivants :
Outil de ligne de commande ossutil
Pour appeler cette opération à l'aide de l'outil de ligne de commande ossutil, consultez la section put-vector-index.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
VectorIndexParameterInvalid |
400 |
Les paramètres de l'index vectoriel fournis dans la requête ne sont pas valides. |
|
MalformedJson |
400 |
Le format JSON du corps de la requête n'est pas valide. |
|
VectorBucketIndexExceedLimit |
400 |
Le nombre d'index créés a atteint la limite maximale. Un bucket vectoriel peut contenir au maximum 100 index vectoriels. |
|
AccessDenied |
403 |
Cette erreur est renvoyée dans les cas suivants :
|
|
VectorBucketIndexAlreadyExist |
409 |
Le nom d'index spécifié existe déjà. Vous ne pouvez pas créer un index portant le même nom. |