Bantuan vektor adalah ekstensi AlloyDB untuk PostgreSQL yang menyederhanakan deployment dan pengelolaan workload vektor Anda. Ekstensi ini menyediakan framework SQL deklaratif yang membantu Anda menyiapkan kemampuan penelusuran vektor siap produksi, seperti pembuatan embedding, pengoptimalan kueri, dan pembuatan indeks. Framework ini mengurangi kompleksitas workload vektor dengan:
- Menyederhanakan deklarasi intent: persyaratan (seperti tabel, kolom teks, atau target recall) dideklarasikan menggunakan fungsi SQL.
- Mengotomatiskan praktik terbaik: menghasilkan perintah SQL yang dioptimalkan, yang juga dikenal sebagai rekomendasi, untuk menyiapkan workload vektor menggunakan spesifikasi vektor yang Anda tentukan dan algoritma penyetelan otomatis yang dioptimalkan yang menghitung konfigurasi indeks yang optimal.
- Memberikan transparansi dan kontrol: memberikan penjelasan yang jelas untuk setiap rekomendasi saat mengotomatiskan tugas yang memungkinkan Anda meninjau, mengubah, dan menerapkan rekomendasi sesuai kecepatan Anda.
- Memungkinkan pembuatan prototipe yang cepat: memungkinkan Anda men-deploy penyiapan penelusuran vektor yang disetel dengan baik secara cepat, sehingga mengurangi waktu dari konsep hingga produksi.
- Berfokus pada kemudahan penggunaan: menyederhanakan kompleksitas penelusuran semantik, menjembatani kesenjangan antara persyaratan bisnis dan teknik.
Dengan bantuan vektor, Anda dapat membuat aplikasi end-to-end dengan fitur penelusuran semantik dengan penyiapan yang disederhanakan.
Cara kerja bantuan vektor
Bantuan vektor mengharuskan Anda menentukan spesifikasi vektor. Framework ini menggunakan spesifikasi vektor ini, yang juga dikenal sebagai spesifikasi vektor, untuk menghasilkan langkah-langkah yang diperlukan untuk membuat indeks vektor. Bantuan vektor menampilkan langkah-langkah yang diperlukan untuk men-deploy workload vektor Anda sebagai rekomendasi. Setiap kali Anda mengubah spesifikasi vektor, bantuan vektor akan membuat ulang rekomendasi.
Setelah membuat indeks vektor menggunakan langkah-langkah yang direkomendasikan ini, Anda dapat menggunakan bantuan vektor untuk membuat kueri penelusuran yang dioptimalkan.
Spesifikasi bantuan vektor
Menyiapkan spesifikasi indeks vektor, atau spesifikasi vektor, adalah langkah pertama dalam menggunakan bantuan vektor. Spesifikasi vektor adalah objek tempat Anda menentukan intent dan persyaratan untuk workload vektor. Spesifikasi ini mencakup semua informasi yang diperlukan, termasuk hal berikut:
- Tabel dan kolom yang relevan (teks atau vektor)
- Preferensi model embedding (jika menggunakan pembuatan embedding)
- Jenis indeks pilihan:
HNSWatauIVFFlat.ScaNNtidak didukung. - Target recall untuk kueri penelusuran
- Batasan memori
Anda menentukan spesifikasi vektor menggunakan fungsi
vector_assist.define_spec, dan Anda dapat mengubahnya kapan saja. Sistem menetapkan ID unik ke setiap spesifikasi dan menyimpannya dalam tabel yang disebut vector_assist.VECTOR_SPECS.
Bantuan vektor menyimpulkan input spesifikasi dan algoritma penyetelan otomatis yang dioptimalkan yang menghitung konfigurasi indeks yang optimal. Meskipun bantuan vektor menggunakan nilai ini untuk menyederhanakan proses pengembangan, Anda tetap dapat menyesuaikannya agar sesuai dengan preferensi Anda.
Rekomendasi bantuan vektor
Setelah Anda menentukan spesifikasi vektor, bantuan vektor akan memproses input Anda dan membuat rekomendasi. Rekomendasi ini adalah daftar langkah-langkah berguna yang diurutkan, biasanya perintah SQL, yang harus Anda jalankan untuk men-deploy workload vektor sesuai spesifikasi Anda. Setiap rekomendasi mencakup hal berikut:
- Kueri SQL yang akan dijalankan.
- Penjelasan mendetail tentang fungsi kueri dan alasan kueri direkomendasikan.
- Informasi tentang potensi trade-off atau biaya, seperti perkiraan ukuran indeks atau waktu build.
Bantuan vektor menyimpan rekomendasi dalam tabel yang disebut vector_assist.RECOMMENDATIONS, dan Anda dapat meninjau, mengubah, dan menerapkannya satu per satu, atau secara keseluruhan.
Setiap kali Anda mengubah spesifikasi vektor untuk workload, bantuan vektor akan membuat ulang rekomendasi agar sesuai dengan spesifikasi yang diperbarui.
Batasan
Saat menggunakan bantuan vektor dengan instance AlloyDB, pertimbangkan batasan berikut:
- Bantuan vektor hanya mendukung PostgreSQL versi 17 dan yang lebih baru.
- Meskipun bantuan vektor mendukung semua versi
pgvector, sebaiknya gunakan versi terbaru untuk performa dan dukungan fitur yang optimal. Untuk mengetahui informasi selengkapnya, lihat log perubahanpgvector. - Jika instance Anda menggunakan ekstensi
google_ml_integrationuntuk membuat embedding, batasannya juga berlaku saat Anda menggunakan bantuan vektor. Untuk mengetahui informasi selengkapnya, lihat Ringkasan mendaftarkan dan memanggil model AI jarak jauh di AlloyDB. - Bantuan vektor hanya mendukung jenis indeks
HNSWdanIVFFlat. Jenis indeksScaNNtidak didukung. - Bantuan vektor hanya mendukung model embedding teks untuk membuat embedding secara otomatis dan menggunakan
text_column_namesebagai parameter input. Jika workload vektor Anda memerlukan model embedding multimodal, gunakan ekstensigoogle_ml_integration, atau ekstensi lain untuk membuat embedding ini secara manual sebelum menggunakan bantuan vektor untuk mengaktifkan penelusuran semantik pada embedding ini.