Memilih indeks vektor

Pilih versi dokumentasi:

Halaman ini menjelaskan strategi penelusuran vektor AlloyDB AI dan menjelaskan kapan harus menggunakan setiap strategi. Secara default, AlloyDB menggunakan penelusuran k-nearest neighbors (KNN) untuk menemukan vektor yang mirip dengan kueri. Indeks vektor menerapkan strategi penelusuran yang disebut Approximate Nearest Neighbor (ANN). Saat Anda membuat indeks vektor, AlloyDB AI menggunakan ANN, yang memberikan performa lebih baik daripada KNN. Perlu diingat bahwa saat memilih indeks vektor, Anda perlu menyeimbangkan latensi kueri dan perolehan.

Pencarian mengukur seberapa efektif penelusuran mengambil semua item yang relevan untuk kueri tertentu. Misalnya, Anda memiliki 100 sematan, yang masing-masing merepresentasikan entitas dalam database Anda. Anda membuat kueri embedding dengan vektor target dan membatasinya hingga 10 hasil. Penelusuran vektor KNN menemukan 10 vektor terdekat yang tepat menggunakan metode perhitungan brute force, yang menghasilkan perolehan 100%. AlloyDB AI menggunakan metode ini secara default jika tidak ada indeks penelusuran vektor yang dibuat atau dipilih. Saat Anda membuat indeks vektor di AlloyDB untuk PostgreSQL, indeks tersebut biasanya menggunakan ANN, yang dapat mempartisi vektor berdasarkan kemiripan untuk memfasilitasi pengambilan yang lebih cepat. Akibatnya, dengan menggunakan ANN, 10 vektor yang ditampilkan dalam contoh sebelumnya mungkin tidak persis 10 vektor yang paling dekat jaraknya. Jika hanya 8 dari 10 vektor yang diambil adalah yang terdekat dalam ruang dengan vektor kueri Anda, maka perolehan Anda adalah 80%.

Latensi kueri menentukan seberapa cepat hasil penelusuran dibuat. Misalnya, latensi dihitung berdasarkan waktu yang dihabiskan untuk penelusuran guna menampilkan vektor setelah Anda mengirimkan kueri.

Memilih strategi penelusuran Anda

Saat melakukan penelusuran vektor di AlloyDB, pilih salah satu strategi penelusuran berikut:

Strategi Penelusuran Deskripsi Kasus Penggunaan
K-nearest neighbors (KNN) Algoritma yang menemukan titik data k-nearest neighbors ke titik data kueri tertentu. Saat Anda melakukan penelusuran vektor tanpa membuat indeks, penelusuran KNN akan dilakukan secara default.
  • Aplikasi Anda sangat sensitif terhadap akurasi dan Anda memerlukan kecocokan terdekat yang tepat.
  • Anda memiliki kurang dari 100.000 vektor.
Tetangga Terdekat Perkiraan (ANN) Algoritma yang menemukan perkiraan titik data terdekat. ANN membagi titik data pelanggan yang ada ke dalam kelompok kecil berdasarkan kesamaan.
  • Aplikasi Anda memerlukan latensi rendah.
  • Anda memiliki lebih dari 100.000 vektor.

Google merekomendasikan agar Anda membuat indeks vektor untuk mengoptimalkan performa pada kueri penelusuran vektor. Untuk mengetahui informasi selengkapnya tentang cara indeks ANN digunakan untuk penelusuran kesamaan, lihat Membuat indeks dan vektor kueri menggunakan ScaNN.

Langkah berikutnya