Halaman ini menjelaskan strategi penelusuran vektor AI AlloyDB dan menjelaskan kapan harus menggunakan setiap strategi. Secara default, AlloyDB menggunakan penelusuran tetangga terdekat (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 yang lebih baik daripada KNN. Perlu diingat bahwa, saat memilih indeks vektor, Anda harus menyeimbangkan latensi dan recall kueri.
Pengambilan mengukur seberapa efektif penelusuran mengambil semua item yang relevan untuk kueri tertentu. Misalnya, bayangkan Anda memiliki 100 penyematan, yang masing-masing mewakili entitas dalam database Anda. Anda membuat kueri untuk penyematan dengan vektor target dan membatasinya hingga 10 hasil. Penelusuran vektor KNN menemukan 10 vektor terdekat yang tepat menggunakan metode penghitungan brute force, yang menghasilkan recall 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 mungkin mempartisi vektor sesuai dengan kesamaan untuk memfasilitasi pengambilan yang lebih cepat. Oleh karena itu, dengan menggunakan ANN, 10 vektor yang ditampilkan dalam contoh sebelumnya mungkin tidak benar-benar 10 vektor yang jaraknya paling dekat. Jika hanya 8 dari 10 vektor yang diambil yang paling dekat dalam ruang ke vektor kueri Anda, maka recall Anda adalah 80%.
Latensi kueri menentukan seberapa cepat hasil penelusuran dihasilkan. Misalnya, latensi dihitung berdasarkan waktu yang dihabiskan untuk penelusuran guna menampilkan vektor setelah Anda mengirimkan kueri.
Memilih strategi penelusuran
Saat Anda melakukan penelusuran vektor di AlloyDB, pilih salah satu strategi penelusuran berikut:
Strategi Penelusuran | Deskripsi | Kasus Penggunaan |
K tetangga terdekat (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. |
|
Approximate Nearest Neighbors (ANN) | Algoritma yang menemukan perkiraan titik data terdekat. ANN membagi titik data pelanggan yang ada ke dalam grup kecil berdasarkan kesamaan. |
|
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 kemiripan, lihat Membuat indeks dan vektor kueri menggunakan ScaNN.