Setelah membuat dan men-deploy indeks, Anda dapat menjalankan kueri untuk mendapatkan tetangga terdekat.
Berikut adalah beberapa contoh kueri pencocokan untuk menemukan tetangga terdekat teratas menggunakan algoritma k-nearest neighbors (k-NN).
Contoh kueri untuk endpoint publik
Python
Python
Curl
publicEndpointDomainName
yang tercantum di bawah dapat ditemukan di
Deploy dan diformat sebagai
<number>.<region>-<number>.vdb.vertexai.goog
.
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://1957880287.us-central1-181224308459.vdb.vertexai.goog/v1/projects/181224308459/locations/us-central1/indexEndpoints/3370566089086861312:findNeighbors -d '{deployed_index_id: "test_index_public1", queries: [{datapoint: {datapoint_id: "0", feature_vector: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, neighbor_count: 5}]}'
Contoh curl ini menunjukkan cara melakukan panggilan dari klien http(s)
, walaupun endpoint publik mendukung protokol ganda untuk aktivitas RESTful dan grpc_cli
.
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://1957880287.us-central1-181224308459.vdb.vertexai.goog/v1/projects/${PROJECT_ID}/locations/us-central1/indexEndpoints/${INDEX_ENDPOINT_ID}:readIndexDatapoints -d '{deployed_index_id:"test_index_public1", ids: ["606431", "896688"]}'
Contoh curl ini menunjukkan cara membuat kueri dengan batasan token dan numerik.
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer `gcloud auth print-access-token`" https://${PUBLIC_ENDPOINT_DOMAIN}/v1/projects/${PROJECT_ID}/locations/${LOCATION}/indexEndpoints/${INDEX_ENDPOINT_ID}:findNeighbors -d '{deployed_index_id:"${DEPLOYED_INDEX_ID}", queries: [{datapoint: {datapoint_id:"x", feature_vector: [1, 1], "sparse_embedding": {"values": [111.0,111.1,111.2], "dimensions": [10,20,30]}, numeric_restricts: [{namespace: "int-ns", value_int: -2, op: "GREATER"}, {namespace: "int-ns", value_int: 4, op: "LESS_EQUAL"}, {namespace: "int-ns", value_int: 0, op: "NOT_EQUAL"}], restricts: [{namespace: "color", allow_list: ["red"]}]}}]}'
Konsol
Gunakan petunjuk ini untuk membuat kueri indeks yang di-deploy ke endpoint publik dari konsol.
- Di bagian Vertex AI pada Konsol Google Cloud, buka bagian Deploy and Use. Pilih Vector Search.
- Pilih indeks yang ingin Anda buat kuerinya. Halaman Info indeks akan terbuka.
- Scroll ke bawah ke bagian Indeks yang di-deploy, lalu pilih indeks yang di-deploy yang ingin Anda buat kuerinya. Halaman Info indeks yang di-deploy akan terbuka.
- Dari bagian Indeks kueri, pilih apakah akan membuat kueri berdasarkan nilai penyematan padat, nilai penyematan jarang, nilai penyematan campuran (penyematan padat dan jarang), atau titik data tertentu.
- Masukkan parameter kueri untuk jenis kueri yang Anda pilih. Misalnya, jika Anda membuat kueri berdasarkan embedding padat, masukkan vektor embedding yang akan digunakan untuk membuat kueri.
- Jalankan kueri menggunakan perintah curl yang disediakan, atau dengan menjalankannya dengan Cloud Shell.
- Jika menggunakan Cloud Shell, pilih Run in Cloud Shell.
- Jalankan di Cloud Shell.
- Hasilnya akan menampilkan tetangga terdekat.
Untuk melihat contoh menyeluruh tentang cara membuat indeks, cara men-deploy-nya ke endpoint publik, dan cara membuat kueri, lihat notebook resmi: Menggunakan Vector Search dan Vertex AI Embeddings untuk Teks untuk StackOverflow Questions.
Setelan waktu kueri yang memengaruhi performa
Parameter waktu kueri berikut dapat memengaruhi latensi, ketersediaan, dan biaya saat menggunakan Penelusuran Vektor. Panduan ini berlaku untuk sebagian besar kasus. Namun, selalu bereksperimen dengan konfigurasi untuk memastikan konfigurasi tersebut berfungsi untuk kasus penggunaan Anda.
Untuk definisi parameter, lihat Parameter konfigurasi indeks.
Parameter | Tentang | Dampak performa |
---|---|---|
approximateNeighborsCount |
Memberi tahu algoritma jumlah perkiraan hasil yang akan diambil dari setiap shard.
Nilai |
Meningkatkan nilai
Menurunkan nilai
|
setNeighborCount |
Menentukan jumlah hasil yang ingin ditampilkan oleh kueri. |
Nilai kurang dari atau sama dengan 300 tetap berperforma baik dalam sebagian besar kasus penggunaan. Untuk nilai yang lebih besar, uji kasus penggunaan tertentu Anda. |
fractionLeafNodesToSearch |
Mengontrol persentase node daun yang akan dikunjungi saat menelusuri tetangga terdekat. Hal ini terkait dengan leafNodeEmbeddingCount karena
semakin banyak penyematan per node daun, semakin banyak data yang diperiksa per daun.
|
Meningkatkan nilai
Menurunkan nilai
|
Langkah selanjutnya
- Pelajari cara Mengupdate dan membuat kembali indeks
- Pelajari cara Memfilter pencocokan vektor
- Pelajari cara Memantau indeks