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
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Python dokumentasi referensi API.
Command-line
Yang publicEndpointDomainName 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 http(s) klien,
meskipun 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 pembatasan 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 Platform Agen pada Google Cloud konsol, buka bagian Deploy dan Gunakan. Pilih Vector Search.
- Pilih indeks yang ingin Anda kueri. Halaman Info indeks akan terbuka.
- Scroll ke bawah ke bagian Indeks yang di-deploy , lalu pilih indeks yang di-deploy yang ingin Anda kueri. Halaman Info indeks yang di-deploy akan terbuka.
- Dari bagian Kueri indeks, pilih apakah akan membuat kueri berdasarkan nilai embedding padat, nilai embedding jarang, nilai embedding hybrid (embedding 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 untuk membuat kueri.
- Jalankan kueri menggunakan perintah curl yang disediakan, atau dengan menjalankan Cloud Shell.
- Jika menggunakan Cloud Shell, pilih Jalankan di Cloud Shell.
- Jalankan di Cloud Shell.
- Hasilnya akan menampilkan tetangga terdekat.
Kueri hybrid
Penelusuran hybrid menggunakan embedding padat dan jarang untuk penelusuran berdasarkan kombinasi penelusuran kata kunci dan penelusuran semantik.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Python dokumentasi referensi API.
Kueri dengan pemfilteran dan pengelompokan
Memfilter kecocokan vektor memungkinkan Anda membatasi hasil tetangga terdekat ke kategori tertentu. Filter juga dapat menetapkan kategori yang akan dikecualikan dari hasil Anda.
Batas tetangga per pengelompokan dapat meningkatkan keragaman hasil dengan membatasi jumlah hasil yang ditampilkan dari satu tag pengelompokan dalam data indeks Anda.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Python dokumentasi referensi API.
Command-line
Yang PUBLIC_ENDPOINT_DOMAIN tercantum di bawah dapat ditemukan di
indeks yang di-deploy dan diformat sebagai
<number>.<region>-<number>.vdb.vertexai.goog.
Contoh curl ini menunjukkan cara membuat kueri dengan pembatasan 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"]}]}}]}'
Setelan waktu kueri yang memengaruhi performa
Parameter waktu kueri berikut dapat memengaruhi latensi, ketersediaan, dan biaya saat menggunakan Vector Search. Panduan ini berlaku untuk sebagian besar kasus. Namun, selalu lakukan eksperimen dengan konfigurasi Anda untuk memastikan konfigurasi tersebut berfungsi untuk kasus penggunaan Anda.
Untuk mengetahui definisi parameter, lihat Parameter konfigurasi indeks.
| Parameter | Tentang | Dampak performa |
|---|---|---|
approximateNeighborsCount |
Memberi tahu algoritma jumlah perkiraan hasil yang akan diambil dari setiap shard.
Nilai
Nama REST API yang sesuai untuk kolom ini adalah
|
Meningkatkan nilai
Menurunkan nilai
|
setNeighborCount |
Menentukan jumlah hasil yang Anda inginkan untuk ditampilkan oleh kueri.
Nama REST API yang sesuai untuk kolom ini adalah
|
Nilai yang kurang dari atau sama dengan 300 tetap berperforma baik di sebagian besar kasus penggunaan. Untuk nilai yang lebih besar, uji untuk kasus penggunaan tertentu. |
fractionLeafNodesToSearch |
Mengontrol persentase node daun yang akan dikunjungi saat menelusuri tetangga terdekat. Hal ini terkait dengan leafNodeEmbeddingCount di
bahwa semakin banyak embedding per node daun, semakin banyak data yang diperiksa per daun.
Nama REST API yang sesuai untuk kolom ini adalah
|
Meningkatkan nilai
Menurunkan nilai
|