Mengkueri indeks VPC untuk mendapatkan tetangga terdekat

Setelah membuat indeks, Anda dapat menjalankan kueri untuk mendapatkan tetangga terdekatnya.

Setiap DeployedIndex memiliki DEPLOYED_INDEX_SERVER_IP, yang dapat Anda ambil dengan mencantumkan IndexEndpoints. Untuk membuat kueri DeployedIndex, hubungkan ke DEPLOYED_INDEX_SERVER_IP di port 10000 dan panggil metode Match atau BatchMatch. Selain itu, Anda dapat membuat kueri menggunakan DOC_ID.

Contoh berikut menggunakan alat open source grpc_cli untuk mengirim permintaan grpc ke server indeks yang di-deploy.

gRPC

Pada contoh pertama, Anda mengirim satu kueri menggunakan metode Match.

./grpc_cli call ${DEPLOYED_INDEX_SERVER_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match '{deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]}'

Pada contoh kedua, Anda menggabungkan dua kueri terpisah ke dalam permintaan BatchMatch yang sama.

./grpc_cli call ${DEPLOYED_INDEX_SERVER_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.BatchMatch 'requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]}, {deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.2,..]}]}]'

Anda harus melakukan panggilan ke API ini dari klien yang berjalan di [VPC] yang sama dengan yang di-peering dengan layanan](#vpc-network-peering-setup).

Untuk menjalankan kueri menggunakan DOC_ID, gunakan contoh berikut.

./grpc_cli call ${DEPLOYED_INDEX_SERVER_IP}:10000  google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"

Untuk mempelajari lebih lanjut, lihat Penjelasan library klien.

Konsol

Gunakan petunjuk ini untuk membuat kueri indeks VPC dari konsol.

  1. Di bagian Vertex AI pada Konsol Google Cloud, buka bagian Deploy and Use. Pilih Cari Vektor

    Buka Vector Search

  2. Pilih indeks VPC yang ingin Anda kueri. Halaman Info indeks akan terbuka.
  3. 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.
  4. Dari bagian Indeks kueri, pilih parameter kueri Anda. Anda dapat memilih untuk membuat kueri berdasarkan vektor, atau titik data tertentu.
  5. Jalankan kueri menggunakan alat open source grpc_cli, atau dengan menggunakan Vertex AI SDK untuk Python.

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 bereksperimenlah dengan konfigurasi Anda untuk memastikan konfigurasi tersebut berfungsi untuk kasus penggunaan Anda.

Untuk definisi parameter, lihat Parameter konfigurasi indeks.

Parameter Tentang Dampak performa
approximateNeighborsCount Memberi tahu algoritme jumlah hasil perkiraan yang akan diambil dari setiap shard.

Meningkatkan nilai approximateNeighborsCount dapat memengaruhi performa dengan cara berikut:

  • Recall: Meningkat
  • Latensi: Berpotensi meningkat
  • Ketersediaan: Tidak ada dampak
  • Biaya: Dapat meningkat karena lebih banyak data yang diproses selama penelusuran

Menurunkan nilai approximateNeighborsCount dapat memengaruhi performa dengan cara berikut:

  • Ingatan: Menurun
  • Latensi: Berpotensi menurun
  • Ketersediaan: Tidak ada dampak
  • Biaya: Dapat menurunkan biaya karena lebih sedikit data yang diproses selama penelusuran
setNeighborCount Menentukan jumlah hasil yang Anda inginkan untuk ditampilkan oleh kueri.

Nilai kurang dari atau sama dengan 300 tetap berperforma tinggi pada sebagian besar kasus penggunaan. Untuk nilai yang lebih besar, uji kasus penggunaan spesifik Anda.

approximateNeighborsCount harus selalu lebih besar dari setNeighborsCount. Jika nilai setNeighborsCount kecil, 10 kali nilai tersebut direkomendasikan untuk approximateNeighborsCount. Untuk nilai setNeighborsCount yang lebih besar, pengganda yang lebih kecil dapat digunakan.

fractionLeafNodesToSearch Mengontrol persentase node daun yang akan dikunjungi saat mencari tetangga terdekat. Hal ini terkait dengan leafNodeEmbeddingCount karena makin banyak embedding per node daun, makin banyak data yang diperiksa per daun.

Meningkatkan nilai fractionLeafNodesToSearch dapat memengaruhi performa dengan cara berikut:

  • Recall: Meningkat
  • Latensi: Meningkat
  • Ketersediaan: Tidak ada dampak
  • Biaya: Dapat meningkat karena latensi yang lebih tinggi memerlukan resource mesin yang lebih banyak

Menurunkan nilai fractionLeafNodesToSearch dapat memengaruhi performa dengan cara berikut:

  • Ingatan: Menurun
  • Latensi: Berkurang
  • Ketersediaan: Tidak ada dampak
  • Biaya: Dapat menurun karena latensi yang lebih rendah menggunakan resource mesin yang lebih sedikit

Langkah selanjutnya