בדף הזה מוסבר איך להפעיל תחזיות אונליין ממופע של Cloud SQL.
בעזרת Cloud SQL אפשר לקבל תחזיות אונליין בקוד SQL על ידי קריאה לפונקציה ml_predict_row(). מידע נוסף מופיע במאמר יצירת אפליקציות AI גנרטיבי באמצעות Cloud SQL.
לפני שמתחילים
כדי להפעיל חיזויים אונליין ממופע Cloud SQL, צריך להכין את מסד הנתונים ולבחור מודל מתאים של למידת מכונה.
הכנת מסד הנתונים
כדי להכין את מסד הנתונים, מגדירים שילוב בין Cloud SQL לבין Vertex AI.
הענקת הרשאות למשתמשי מסד נתונים להשתמש בפונקציה
ml_predict_row()כדי להריץ תחזיות:מחברים לקוח
psqlלמופע הראשי, כמו שמתואר במאמר חיבור באמצעות לקוח psql.בשורת הפקודה
psql, מתחברים למסד הנתונים ומעניקים הרשאות:\c DB_NAME GRANT EXECUTE ON FUNCTION ml_predict_row TO USER_NAME;מחליפים את מה שכתוב בשדות הבאים:
DB_NAME: שם מסד הנתונים שרוצים להעניק לו הרשאות
USER_NAME: השם של המשתמש שרוצים להעניק לו הרשאות
בחירת מודל למידת מכונה
כשמפעילים את הפונקציה ml_predict_row(), צריך לציין את המיקום של מודל ML. המודל שאתם מציינים יכול להיות אחד מהבאים:
מודל שפועל ב-Vertex AI Model Garden.
הפונקציה
ml_predict_row()תומכת בהפעלת חיזויים רק במודלים טבלאיים או במודלים מותאמים אישית.מודל Vertex AI עם נקודת קצה פעילה שיש לכם הרשאה לגישה אליה בניהול זהויות והרשאות גישה (IAM).
Cloud SQL לא תומך בנקודות קצה פרטיות לקבלת תחזיות אונליין.
הפעלת חיזויים אונליין
אפשר להשתמש בפונקציית ה-SQL ml_predict_row() כדי להפעיל תחזיות אונליין על הנתונים.
הפורמט של הארגומנט הראשוני של הפונקציה תלוי במיקום של מודל ה-ML שבו רוצים להשתמש: ב-Vertex AI Model Garden או בנקודת קצה שפועלת בפרויקט. Google Cloud
שימוש במודל ב-Vertex AI Model Garden
כדי להפעיל חיזוי אונליין באמצעות מודל למידת מכונה שפועל ב-Vertex AI Model Garden, משתמשים בתחביר הבא לפונקציית ה-SQL ml_predict_row():
sql
SELECT ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
מחליפים את הפרטים הבאים:
MODEL_ID: המזהה של מודל ה-ML לשימוש (לדוגמה,
gemini-2.0)INSTANCES: הקלט לקריאה לחיזוי, בפורמט JSON
PARAMETERS: הפרמטרים של הקריאה לחיזוי, בפורמט JSON
SELECT ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
שימוש בנקודת קצה של מודל Vertex AI
כדי להפעיל חיזוי אונליין באמצעות נקודת קצה של מודל Vertex AI, משתמשים בתחביר הבא לפונקציית ה-SQL ml_predict_row():
sql
SELECT ML_PREDICT_ROW('endpoints/ENDPOINT_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
מחליפים את הפרטים הבאים:
ENDPOINT_ID: המזהה של נקודת הקצה של המודל
INSTANCES: הקלט לקריאה לחיזוי, בפורמט JSON
PARAMETERS: הפרמטרים של הקריאה לחיזוי, בפורמט JSON
מידע על הודעות התגובה של המודל ב-JSON מופיע במאמר בנושא PredictResponse.
דוגמאות להפעלות
בדוגמה הבאה נעשה שימוש ב-PaLM 2 for Text, שזמין ב-Model Garden, כדי ליצור טקסט על סמך פרומפט קצר שמועבר כארגומנט מילולי ל-ml_predict_row():
select ML_PREDICT_ROW('projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison', '{"instances":[{"prompt": "What are three advantages of using Cloud SQL as my SQL database server?"}], "parameters":{"maxOutputTokens":1024, "topK": 40, "topP":0.8, "temperature":0.2}}');
התגובה היא אובייקט JSON. מידע נוסף על הפורמט של האובייקט זמין במאמר בנושא גוף התגובה.
בדוגמה הבאה, שינינו את הדוגמה הקודמת באופן הבא:
בדוגמה נעשה שימוש בתוכן של העמודה
messages.messageבמסד הנתונים הנוכחי כקלט.בדוגמה הזו מוצג שימוש בפונקציה
json_build_object()כדי לעזור בעיצוב הפרמטרים של הפונקציה.
select ML_PREDICT_ROW('projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison', json_build_object('instances', json_build_object('prompt', message), 'parameters', json_build_object('maxOutputTokens', 1024,'topK', 40,'topP', 0.8,'temperature', 0.2))) from messages;
לכל שורה בטבלה messages, אובייקט ה-JSON שמוחזר מכיל עכשיו רשומה אחת במערך predictions.
מכיוון שהתגובה היא אובייקט JSON, אפשר לשלוף ממנה שדות ספציפיים:
דוגמאות נוספות לארגומנטים של ml_predict_row() זמינות במאמר ניסיון השימוש ב-Vertex AI Gemini API.