Bantuan vektor adalah ekstensi AlloyDB untuk PostgreSQL yang menyediakan framework SQL deklaratif untuk men-deploy dan mengelola workload penelusuran vektor. Daripada mengonfigurasi pembuatan sematan, parameter indeks, dan penyesuaian kueri secara manual, Anda mendeklarasikan persyaratan beban kerja—seperti tabel target, kolom teks sumber, dan sasaran perolehan—dengan menggunakan fungsi SQL.
Berdasarkan spesifikasi vektor Anda, bantuan vektor menggunakan algoritma penyesuaian otomatis untuk menghasilkan rekomendasi SQL yang dioptimalkan dengan penjelasan yang dapat Anda tinjau, ubah, dan terapkan. Alur kerja ini membantu Anda membuat prototipe dan men-deploy aplikasi penelusuran semantik siap produksi dengan penyiapan manual minimal.
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 menghasilkan 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 Anda. File ini mencakup semua informasi yang diperlukan, termasuk:
- Tabel dan kolom yang relevan (teks atau vektor)
- Preferensi model embedding (jika menggunakan pembuatan embedding)
- Jenis indeks yang direkomendasikan:
HNSWatauIVFFlat.ScaNNtidak didukung. - Target perolehan untuk kueri penelusuran
- Batasan memori
Anda menentukan spesifikasi vektor menggunakan fungsi
vector_assist.define_spec, dan dapat mengubahnya kapan saja. Sistem menetapkan ID unik untuk setiap spesifikasi dan menyimpannya dalam tabel bernama vector_assist.VECTOR_SPECS.
Bantuan vektor menyimpulkan input spesifikasi dan algoritma penyesuaian 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 tersebut direkomendasikan.
- Informasi tentang potensi konsekuensi 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 changelogpgvector. - 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 yang dibuat otomatis dan menggunakan
text_column_namesebagai parameter input. Jika beban kerja 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.