Halaman ini menunjukkan cara memanggil prediksi online dari instance Cloud SQL.
Cloud SQL memungkinkan Anda mendapatkan prediksi online dalam
kode SQL dengan memanggil fungsi
mysql.ml_predict_row(). Untuk mengetahui informasi selengkapnya, lihat Membangun aplikasi AI generatif menggunakan Cloud SQL.
Sebelum memulai
Sebelum dapat memanggil prediksi online dari instance Cloud SQL, Anda harus menyiapkan database dan memilih model ML yang sesuai.
Menyiapkan database
Untuk menyiapkan database Anda, siapkan integrasi antara Cloud SQL dan Platform Agen.Pilih model ML
Saat memanggil fungsi mysql.ml_predict_row(),
Anda harus menentukan lokasi model ML. Model yang Anda tentukan
dapat berupa salah satu dari berikut ini:
Model yang berjalan di Agent Platform Model Garden.
Fungsi
mysql.ml_predict_row()mendukung pemanggilan prediksi hanya pada model tabel atau kustom.Model Platform Agen dengan endpoint aktif yang izin Identity and Access Management (IAM) untuk mengaksesnya Anda miliki.
Cloud SQL tidak mendukung endpoint pribadi untuk mendapatkan prediksi online.
Memanggil prediksi online
Anda dapat menggunakan fungsi SQL mysql.ml_predict_row() untuk memanggil prediksi online terhadap data Anda.
Format argumen awal fungsi bergantung pada apakah model ML yang ingin Anda gunakan ada di Model Garden Platform Agen atau merupakan endpoint yang berjalan di project Google Cloud .
Menggunakan model di Model Garden Platform Agen
Untuk memanggil prediksi online menggunakan model ML yang berjalan di
Agent Platform Model Garden, gunakan sintaksis berikut untuk fungsi SQL
mysql.ml_predict_row():
SELECT mysql.ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
Lakukan penggantian berikut:
MODEL_ID: ID model ML yang akan digunakan (misalnya,
gemini-2.0)INSTANCES: input ke panggilan prediksi, dalam format JSON
PARAMETERS: parameter untuk panggilan prediksi, dalam format JSON
SELECT mysql.ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
Menggunakan endpoint model Agent Platform
Untuk memanggil prediksi online menggunakan endpoint model Agent Platform, gunakan sintaksis berikut untuk fungsi SQL mysql.ml_predict_row():
SELECT mysql.ML_PREDICT_ROW('endpoints/ENDPOINT_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
Lakukan penggantian berikut:
ENDPOINT_ID: ID endpoint model
INSTANCES: input ke panggilan prediksi, dalam format JSON
PARAMETERS: parameter untuk panggilan prediksi, dalam format JSON
Untuk mengetahui informasi tentang pesan respons JSON model, lihat PredictResponse.
Contoh pemanggilan
Contoh berikut menggunakan
PaLM 2 for Text, yang tersedia
di Model Garden, untuk membuat teks berdasarkan perintah singkat yang
diberikan sebagai argumen literal ke mysql.ml_predict_row():
sql
select mysql.ML_PREDICT_ROW('publishers/google/models/gemini-2.0-flash:generateContent', '{
"contents": [{
"role": "user",
"parts": [{
"text": "Write me a short poem about MySQL"
}]
}]
}');
Responsnya adalah objek JSON. Untuk mengetahui informasi selengkapnya tentang format objek, lihat Isi respons.
Contoh berikutnya mengubah contoh sebelumnya dengan cara berikut:
Contoh ini menggunakan konten kolom
messages.messagedatabase saat ini sebagai input.Contoh ini menunjukkan penggunaan fungsi
json_object()sebagai bantuan untuk memformat parameter fungsi.
select mysql.ML_PREDICT_ROW('projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison', json_object('instances', json_object('prompt', message), 'parameters', json_object('maxOutputTokens', 1024,'topK', 40,'topP', 0.8,'temperature', 0.2))) from messages;
Untuk setiap baris dalam tabel messages, objek JSON yang ditampilkan kini berisi
satu entri dalam array predictions-nya.
Karena responsnya adalah objek JSON, Anda dapat menarik kolom tertentu dari respons tersebut:
select JSON_EXTRACT(mysql.ml_PREDICT_ROW('publishers/google/models/gemini-2.0-flash:generateContent', JSON_OBJECT(
'contents', JSON_ARRAY(
JSON_OBJECT(
'role', 'user',
'parts', JSON_ARRAY(
JSON_OBJECT(
'text', message
)
)
)
)
)), '$.candidates[0].content.parts[0].text') from messages;
Untuk melihat contoh argumen lainnya ke ml_predict_row(), lihat
Mencoba Gemini API Platform Agen.