Untuk mempelajari lebih lanjut apa yang dimaksud dengan bantuan vektor dan cara kerjanya, lihat Ringkasan bantuan vektor.
Sebelum memulai
- Pastikan instance AlloyDB Omni Anda menjalankan versi 18.1.0 atau yang lebih baru. Untuk mengetahui informasi selengkapnya tentang upgrade, lihat Mengupgrade AlloyDB Omni.
Aktifkan ekstensi bantuan vektor menggunakan perintah berikut di database yang ingin Anda gunakan:
CREATE EXTENSION vector_assist CASCADE;Tindakan ini akan membuat skema
vector_assist, yang digunakan oleh bantuan vektor.
Menggunakan bantuan vektor untuk men-deploy workload vektor
Untuk menggunakan bantuan vektor guna men-deploy dan mengelola workload vektor, Anda harus melakukan hal berikut:
- Menentukan spesifikasi vektor
- Melihat rekomendasi bantuan vektor
- Menerapkan rekomendasi bantuan vektor
Menentukan spesifikasi vektor
Menentukan spesifikasi vektor, atau spesifikasi vektor, adalah langkah pertama dalam menggunakan bantuan vektor. Bergantung pada jenis workload vektor, kolom yang Anda gunakan untuk menentukan spesifikasi vektor mungkin berbeda.
Misalnya, jika Anda ingin mengaktifkan penelusuran semantik pada kolom tertentu dalam tabel, jalankan
vector_assist.define_spec
fungsi untuk menentukan spesifikasi vektor:
SELECT
recommendation_id,
REGEXP_REPLACE(query, 'SET hnsw.ef_search TO \d+', 'SET hnsw.ef_search TO') AS query_1,
recommendation,
vector_spec_id,
table_name,
applied,
modified
FROM vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
Ganti parameter berikut:
TABLE_NAME: nama tabel yang ingin Anda gunakan dalam workload vektor.- (Opsional)
VECTOR_COLUMN_NAME: kolom yang ingin Anda gunakan untuk melakukan penelusuran semantik. Jika Anda hanya memiliki satu kolom dengan vektor dalam tabel,vector_assistdapat menyetelnya secara otomatis. Jika ada lebih dari satu tabel dengan vektor, Anda harus menentukan kolom yang akan digunakan. - (Opsional)
TARGET_RECALL: target recall yang Anda inginkan untuk dipenuhi oleh bantuan vektor. Jika ditentukan,vector_assistakan melakukan eksperimen dengan nilaief_searchyang berbeda, membandingkan recall dalam penelusuran tetangga terdekat yang tepat.vector_assistmenetapkanef_searchke nilai yang memberikan target recall terdekat. Nilai default-nya adalah0.95. - (Opsional)
TUNE_INDEX: boolean yang menentukan apakah bantuan vektor menyetel indeks vektor dalam workload Anda. Nilai default-nya adalahfalse, yang berarti hanya parameter terkait penelusuran (ef_search) yang disetel—parameter waktu build (m,ef_construction) tidak disetel.
Untuk melihat daftar lengkap semua parameter yang tersedia untuk spesifikasi vektor, lihat Referensi fungsi bantuan vektor.
Setelah Anda menjalankan kueri untuk membuat spesifikasi vektor, bantuan vektor akan otomatis membuat langkah-langkah, yang disebut rekomendasi, yang harus Anda jalankan untuk men-deploy workload vektor.
Melihat rekomendasi bantuan vektor
Untuk melihat rekomendasi yang dibuat oleh bantuan vektor menggunakan spesifikasi vektor,
jalankan
vector_assist.get_recommendations
fungsi:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Ganti SPEC_ID dengan ID spesifikasi dari spesifikasi vektor yang ingin Anda lihat rekomendasinya. Untuk mendapatkan
daftar spesifikasi vektor yang tersedia, lihat Mencantumkan spesifikasi vektor.
vector_assist.get_recommendations menampilkan tabel bernama vector_assist.RECOMMENDATIONS yang berisi semua rekomendasi. Setiap rekomendasi disimpan dalam tabel dengan spec_id terkait. Setiap rekomendasi umumnya berisi informasi berikut:
- Kueri SQL yang perlu Anda jalankan
- Penjelasan mendetail untuk rekomendasi
- Informasi relevan lainnya yang menjelaskan rekomendasi
Menerapkan rekomendasi bantuan vektor
Anda dapat menerapkan rekomendasi yang dibuat satu per satu atau secara keseluruhan.
Untuk menerapkan rekomendasi tertentu, jalankan
vector_assist.apply_recommendation
fungsi:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENDATION_ID'
);
Ganti RECOMMENDATION_ID dengan ID rekomendasi bantuan vektor yang ingin Anda terapkan dari tabel vector_assist.RECOMMENDATIONS.
Untuk menerapkan semua rekomendasi secara bersamaan, jalankan fungsi
vector_assist.apply_spec
dengan parameter spec_id atau table_name:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID'
);
Ganti SPEC_ID dengan ID spesifikasi vektor yang ingin Anda gunakan.
Secara opsional, Anda juga dapat memasukkan parameter schema_name atau column_name.
Untuk mengetahui informasi tentang semua parameter kueri yang tersedia, lihat
Referensi fungsi bantuan vektor.
Setelah Anda menerapkan rekomendasi yang dibuat oleh bantuan vektor, indeks vektor siap digunakan.
Membuat kueri penelusuran
Anda dapat menggunakan bantuan vektor untuk membantu membuat kueri penelusuran yang dioptimalkan untuk workload vektor yang di-deploy menggunakan spesifikasi vektor workload dan indeks vektor yang dibuat. Untuk membuat kueri penelusuran yang dioptimalkan, jalankan fungsi
vector_assist.generate_query:
SELECT vector_assist.generate_query(
spec_id => 'SPEC_ID',
search_vector => 'SEARCH_VECTOR',
top_k => 'TOP_K',
target_recall => TARGET_RECALL,
filter_expression => 'FILTER_EXPRESSION'
);
Ganti parameter berikut:
SPEC_ID: ID spesifikasi yang ingin Anda gunakan.SEARCH_VECTOR: vektor untuk kueri penelusuran Anda. Misalnya,[1, 2, 3].- (Opsional)
TOP_K: jumlah tetangga terdekat yang akan ditampilkan. Jika tidak ditentukan, nilai default-nya adalah10. - (Opsional)
TARGET_RECALL: target recall yang Anda inginkan untuk dipenuhi oleh bantuan vektor. Jika ditentukan,vector_assistakan melakukan eksperimen dengan nilaief_searchyang berbeda, membandingkan recall dalam penelusuran tetangga terdekat yang tepat.vector_assistmenetapkanef_searchke nilai yang memberikan target recall terdekat. - (Opsional)
FILTER_EXPRESSION: filter apa pun untuk kueri penelusuran. Misalnya, memfilter berdasarkan kolom lain.
Untuk melihat daftar lengkap semua parameter yang tersedia untuk membuat kueri penelusuran, lihat Referensi fungsi bantuan vektor.
Output fungsi ini menampilkan teks yang berisi kueri SQL. Anda dapat menjalankan atau menyimpan kueri SQL ini sesuai kebutuhan.
Mencantumkan spesifikasi vektor
Jika Anda perlu mencantumkan spesifikasi vektor individual, atau semua spesifikasi vektor yang ada, jalankan fungsi vector_assist.list_specs:
SELECT vector_assist.list_specs(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
Ganti parameter berikut:
- (Opsional)
SPEC_ID: ID spesifikasi vektor yang ingin Anda gunakan. TABLE_NAME: nama tabel yang Anda gunakan untuk menentukan spesifikasi vektor.
Langkah berikutnya
- Pelajari bantuan vektor lebih lanjut.
- Referensi fungsi bantuan vektor.