Panggil QueryVectors untuk melakukan pencarian kemiripan vektor.
Permissions
Secara default, Akun Alibaba Cloud memiliki izin penuh, sedangkan Pengguna RAM dan Peran RAM tidak memiliki izin apa pun. Untuk memberikan izin, pemilik Akun Alibaba Cloud atau administrator harus menggunakan RAM policy atau bucket policy.
API | Action | Description |
QueryVectors |
| Menanyakan data vektor. |
Sintaksis permintaan
Selama 30 detik pertama setelah indeks vektor dibuat, tingkat recall untukQueryVectorsrendah. Setelah Anda menulis data menggunakanPutVectors, data tersebut dapat diakses olehQueryVectorsdalam waktu sekitar 2 hingga 3 detik.
POST /?queryVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou.oss-vectors.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Content-type: application/json
{
"filter": {
"$and": [{
"type": {
"$in": ["comedy", "documentary"]
}
}, {
"year": {
"$eq": "2020"
}
}]
},
"indexName": "string",
"queryVector": {
"float32":[float]
},
"returnDistance": boolean,
"returnMetadata": boolean,
"topK": int
}Request headers
Operasi ini hanya menggunakan Header HTTP umum. Untuk informasi selengkapnya, lihat Common HTTP headers.
Parameter permintaan
Parameter | Type | Required | Example | Description |
indexName | String | Yes | vectorindex1 | Nama indeks vektor. |
queryVector | Container | Yes | N/A | Vektor kueri. Dimensi vektor harus sesuai dengan dimensi indeks vektor. |
filter | Container | No | N/A | Memfilter hasil pencarian berdasarkan metadata. Batasan berikut berlaku:
|
returnDistance | Boolean | No | false | Menentukan apakah jarak kemiripan dikembalikan. Nilai yang valid:
|
returnMetadata | Boolean | No | false | Menentukan apakah metadata dikembalikan. Nilai yang valid:
|
topK | Integer | Yes | 10 | Jumlah hasil paling mirip yang dikembalikan. Nilainya harus antara 1 hingga 100. |
Operator filter
Operator | Type | Description |
| String | Mencocokkan satu nilai. Jika bidang metadata berupa array, operator ini mencocokkan elemen mana pun dalam array tersebut. |
| String | Tidak sama dengan. |
| String array | Mencocokkan nilai apa pun dalam array (mirip dengan operasi |
| String array | Tidak mencocokkan nilai apa pun dalam array (mirip dengan operasi |
| Boolean | Memeriksa apakah kunci metadata ada. |
| Non-empty array of filters | Menjalankan operasi logika AND pada array yang terdiri dari dua ekspresi filter atau lebih. |
| Non-empty array of filters | Menjalankan operasi logika OR pada array yang terdiri dari dua ekspresi filter atau lebih. |
Response headers
Operasi ini hanya menggunakan Header HTTP umum. Untuk informasi selengkapnya, lihat Common HTTP headers.
Elemen respons
Parameter | Type | Example | Description |
vectors | Array of objects | / | Array objek vektor yang dikembalikan. Jika kunci primary vektor yang ditentukan tidak ada, objek tersebut dihilangkan dari respons dan tidak dilaporkan sebagai error. |
key | String | doc-001 | Kunci primary vektor. Node induk: vectors |
distance | Float | 0.25 | Jarak kemiripan antara vektor hasil dan vektor kueri. Nilai yang lebih kecil menunjukkan kemiripan yang lebih tinggi. Parameter ini hanya dikembalikan ketika Node induk: vectors |
metadata | Object | / | Metadata lengkap untuk vektor tersebut. Parameter ini hanya dikembalikan ketika Node induk: vectors |
Contoh
POST /?queryVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou.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
{
"filter": {
"$and": [{
"category": {
"$in": ["technology", "science"]
}
}, {
"year": {
"$eq": "2020"
}
}]
},
"indexName": "vectorindex1",
"queryVector": {
"float32": [0.15, 0.25, 0.35, 0.45, 0.55]
},
"returnDistance": true,
"returnMetadata": true,
"topK": 5
}Contoh respons
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSS
Content-type: application/json
{
"vectors": [
{
"distance": 0.12,
"key": "doc-001",
"metadata": {
"category": ["technology", "ai"],
"title": "Introduction to Vector Search",
"year": "2020"
}
},
{
"distance": 0.25,
"key": "doc-003",
"metadata": {
"category": ["science"],
"title": "Advanced Vector Operations",
"year": "2020"
}
}
]
}SDKs
Operasi QueryVectors tersedia di SDK berikut:
Ossutil CLI
Perintah ossutil untuk operasi QueryVectors adalah query-vectors.
Kode error
Error code | HTTP status code | Description |
VectorIndexParameterInvalid | 400 | Parameter indeks vektor yang diberikan dalam permintaan tidak valid. |
MalformedJson | 400 | Badan permintaan tidak dalam format JSON yang valid. |
AccessDenied | 403 | Error ini terjadi karena salah satu alasan berikut:
|
NoSuchVectorIndex | 404 | Indeks vektor yang ditentukan tidak ada. |
QpsLimitExceeded | 503 | Jumlah kueri per detik (QPS) melebihi batas. Laju permintaan dikendalikan. |