Halaman ini menjelaskan cara menggunakan bahasa alami dalam operator SQL menggunakan
fungsi operator yang disediakan oleh mesin kueri AI AlloyDB. Anda dapat menggunakan
operator ai.if
, Join dengan ai.if
, ai.score
, dan
ai.generate
untuk menggabungkan bahasa alami dengan kueri SQL.
Untuk menggunakan petunjuk di halaman ini, Anda harus memiliki pemahaman tentang AlloyDB untuk PostgreSQL dan memahami konsep AI generatif.
AlloyDB mencadangkan skema ai
, dan mencoba membuat skema ini saat Anda menginstal ekstensi google_ml_integration
. Jika pembuatan skema gagal, gunakan fungsi dengan nama yang sama di skema google_ml
.
Sebelum memulai
- Minta akses untuk menggunakan operator SQL dengan bahasa alami dan tunggu hingga Anda menerima konfirmasi pengaktifan sebelum mengikuti petunjuk di halaman ini.
Menggunakan filter dan join dalam kueri
Untuk mengevaluasi apakah kondisi yang dinyatakan dalam bahasa alami terpenuhi, gunakan operator ai.if
/google_ml.if
. Fungsi ini menampilkan nilai boolean true atau false, dan menampilkan NULL jika output tidak terdeteksi dengan jelas.
Contoh kueri berikut menunjukkan cara menemukan ulasan restoran yang menyebutkan tempat parkir.
SELECT review AS talks_about_parking
FROM user_reviews
WHERE
ai.if(
prompt => 'the following review talks about parking at the restaurant. review: ' || review);
Melakukan operasi join
Untuk melakukan operasi join, gunakan operator ai.if
/google_ml.if
dengan join. Contoh kueri berikut menemukan jumlah ulasan yang menyebutkan setiap item menu dari menu restoran.
SELECT item_name, COUNT(*)
FROM menu_items JOIN user_reviews
ON ai.if(
prompt => 'Does the following user review talk about the menu item mentioned ? review: ' || user_reviews.review_text || ' menu item: ' || item_name)
GROUP BY item_name;
Memberi skor pada hasil kueri
Untuk mengurutkan daftar item dalam kueri berdasarkan kriteria semantik yang dinyatakan menggunakan bahasa alami, gunakan operator ai.rank/google_ml.rank
Contoh kueri berikut mendapatkan 20 ulasan restoran paling positif. Fungsi ini mengurutkan respons berdasarkan kriteria yang ditetapkan dalam panggilan fungsi ai.rank/google_ml.rank
.
SELECT review AS top20
FROM user_reviews
ORDER BY ai.rank('Score the following review according to these rules: score of 8 to 10 if the review says the food is excellent, 4 to 7 if the review says the food is and 1 to 3 if the review says the food is not good. Here is the review: ' || review)
LIMIT 20;
Membuat teks untuk operator SQL dengan bahasa alami
Untuk membuat teks berdasarkan perintah yang ditentukan dalam bahasa alami, gunakan fungsi ai.generate
/google_ml.generate
.
Kueri berikut menghasilkan ringkasan setiap ulasan pengguna berdasarkan kriteria yang dinyatakan dalam panggilan fungsi ai.generate
.
SELECT
ai.generate(
prompt => 'Summarize the review in 20 words or less. Review: ' || review_text) AS review_summary
FROM user_reviews;