Operasi PutVectorIndex membuat indeks vektor di dalam bucket vektor.
Catatan penggunaan
-
Satu bucket vektor dapat berisi hingga 100 indeks vektor. Untuk menaikkan kuota ini, hubungi Technical Support.
-
Operasi PutVectorIndex mendukung maksimal lima permintaan per detik.
Izin
Akun Alibaba Cloud memiliki semua izin secara default. Sebaliknya, Pengguna Resource Access Management (RAM) atau Peran RAM tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator harus memberikan izin untuk operasi ini melalui Kebijakan RAM atau kebijakan bucket.
|
API |
Action |
Deskripsi |
|
PutVectorIndex |
|
Membuat indeks vektor. |
Sintaksis permintaan
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]
}
}
Header permintaan
Operasi ini hanya menggunakan header permintaan umum. Untuk informasi selengkapnya, lihat Header permintaan umum.
Parameter permintaan
|
Nama |
Tipe data |
Wajib |
Contoh |
Deskripsi |
|
dataType |
String |
Ya |
float32 |
Tipe data dari data vektor. Parameter ini tidak dapat dikonfigurasi oleh pengguna. Nilai default: float32. |
|
dimension |
Nilai |
Ya |
512 |
Dimensi vektor. Nilai yang valid: 1 hingga 4096. Nilai default: 512. |
|
distanceMetric |
String |
Ya |
euclidean |
Fungsi ukuran jarak. Nilai yang valid:
|
|
indexName |
String |
Ya |
vectorindex1 |
Nama indeks. Anda dapat menentukan nama kustom.
|
|
metadata |
Objek |
Tidak |
- |
Kontainer untuk konfigurasi metadata. Hanya metadata non-filterable yang didukung. |
|
nonFilterableMetadataKeys |
Array of strings |
Tidak |
["field1", "field2"] |
Konfigurasi untuk metadata non-filterable. Batasan berikut berlaku:
Node induk: metadata |
Header respons
Operasi ini hanya menggunakan header respons umum. Untuk informasi selengkapnya, lihat Header respons umum.
Contoh
Permintaan contoh
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"]
}
}
Respons contoh
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSSSDK
Kit pengembangan perangkat lunak (SDK) berikut mendukung operasi PutVectorIndex:
Antarmuka baris perintah ossutil
Perintah ossutil yang sesuai dengan operasi PutVectorIndex adalah put-vector-index.
Kode error
|
Kode error |
Kode status HTTP |
Deskripsi |
|
VectorIndexParameterInvalid |
400 |
Parameter indeks vektor yang diberikan dalam permintaan tidak valid. |
|
MalformedJson |
400 |
Format JSON pada badan permintaan tidak valid. |
|
VectorBucketIndexExceedLimit |
400 |
Jumlah indeks yang dibuat telah mencapai batas maksimum. Anda dapat membuat maksimal 100 indeks vektor dalam satu bucket vektor. |
|
AccessDenied |
403 |
Error ini dikembalikan karena alasan berikut:
|
|
VectorBucketIndexAlreadyExist |
409 |
Nama indeks yang ditentukan sudah ada. Anda tidak dapat membuat indeks dengan nama yang sama. |