בדף הזה מוסבר איך להפעיל תחזיות אונליין ממופע של Cloud SQL.
Cloud SQL מאפשר לכם לקבל תחזיות אונליין בקוד ה-SQL שלכם על ידי קריאה לפונקציה mysql.ml_predict_row(). מידע נוסף מופיע במאמר יצירת אפליקציות AI גנרטיבי באמצעות Cloud SQL.
לפני שמתחילים
כדי להפעיל חיזויים אונליין ממופע Cloud SQL, צריך להכין את מסד הנתונים ולבחור מודל מתאים של למידת מכונה.
הכנת מסד הנתונים
כדי להכין את מסד הנתונים, מגדירים שילוב בין Cloud SQL לבין Vertex AI.בחירת מודל למידת מכונה
כשמפעילים את הפונקציה mysql.ml_predict_row(), צריך לציין את המיקום של מודל ML. המודל שאתם מציינים יכול להיות אחד מהבאים:
מודל שפועל ב-Vertex AI Model Garden.
הפונקציה
mysql.ml_predict_row()תומכת בהפעלת חיזויים רק במודלים טבלאיים או במודלים מותאמים אישית.מודל Vertex AI עם נקודת קצה פעילה שיש לכם הרשאה לגישה אליה בניהול זהויות והרשאות גישה (IAM).
Cloud SQL לא תומך בנקודות קצה פרטיות לקבלת תחזיות אונליין.
הפעלת חיזויים אונליין
אפשר להשתמש בפונקציית ה-SQL mysql.ml_predict_row() כדי להפעיל תחזיות אונליין על הנתונים.
הפורמט של הארגומנט הראשוני של הפונקציה תלוי במיקום של מודל ה-ML שבו רוצים להשתמש: ב-Vertex AI Model Garden או בנקודת קצה שפועלת בפרויקט. Google Cloud
שימוש במודל ב-Vertex AI Model Garden
כדי להפעיל חיזוי אונליין באמצעות מודל למידת מכונה שפועל ב-Vertex AI Model Garden, משתמשים בתחביר הבא לפונקציית ה-SQL mysql.ml_predict_row():
SELECT mysql.ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
מחליפים את הפרטים הבאים:
MODEL_ID: המזהה של מודל ה-ML לשימוש (לדוגמה,
gemini-2.0)INSTANCES: הקלט לקריאה לחיזוי, בפורמט JSON
PARAMETERS: הפרמטרים של הקריאה לחיזוי, בפורמט JSON
SELECT mysql.ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
שימוש בנקודת קצה של מודל Vertex AI
כדי להפעיל חיזוי אונליין באמצעות נקודת קצה של מודל Vertex AI, משתמשים בתחביר הבא עבור פונקציית ה-SQL mysql.ml_predict_row():
SELECT mysql.ML_PREDICT_ROW('endpoints/ENDPOINT_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
מחליפים את הפרטים הבאים:
ENDPOINT_ID: המזהה של נקודת הקצה של המודל
INSTANCES: הקלט לקריאה לחיזוי, בפורמט JSON
PARAMETERS: הפרמטרים של הקריאה לחיזוי, בפורמט JSON
מידע על הודעות התגובה של המודל ב-JSON מופיע במאמר בנושא PredictResponse.
דוגמאות להפעלות
בדוגמה הבאה נעשה שימוש ב-PaLM 2 for Text, שזמין ב-Model Garden, כדי ליצור טקסט על סמך פרומפט קצר שמועבר כארגומנט מילולי ל-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"
}]
}]
}');
התגובה היא אובייקט JSON. מידע נוסף על הפורמט של האובייקט זמין במאמר בנושא גוף התגובה.
בדוגמה הבאה, שינינו את הדוגמה הקודמת באופן הבא:
בדוגמה נעשה שימוש בתוכן של העמודה
messages.messageבמסד הנתונים הנוכחי כקלט.בדוגמה הזו מוצג שימוש בפונקציה
json_object()כדי לעזור בעיצוב הפרמטרים של הפונקציה.
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;
לכל שורה בטבלה messages, אובייקט ה-JSON שמוחזר מכיל עכשיו רשומה אחת במערך predictions.
מכיוון שהתגובה היא אובייקט JSON, אפשר לשלוף ממנה שדות ספציפיים:
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;
דוגמאות נוספות לארגומנטים של ml_predict_row() זמינות במאמר ניסיון השימוש ב-Vertex AI Gemini API.