התוסף google_ml_integration ב-AlloyDB ל-PostgreSQL מאפשר להפעיל חיזויים אונליין ממודלים של למידת מכונה ישירות בשאילתות SQL.
אפשר להפעיל את הפונקציה ml_predict_row() בסכימה public למודלים כלליים שמתארחים ב-Gemini Enterprise Agent Platform בלי לרשום נקודת קצה, או להפעיל את הפונקציה google_ml.predict_row() בסכימה google_ml למודלים שנרשמו בניהול נקודות קצה של מודלים.
כדי להפעיל חיזויים, בוחרים באחת מהסכימות הבאות.
לפני שמתחילים
כדי לאפשר ל-AlloyDB להפעיל חיזויים:
- אתם יכולים להפעיל חיזויים באזורים שבהם ה-AI הגנרטיבי זמין ב-Agent Platform. רשימת האזורים מופיעה במאמר פריסות ונקודות קצה (endpoint).
- מתחברים למסד הנתונים באמצעות
psqlאו AlloyDB Studio. - מוודאים שהתוסף
google_ml_integrationמותקן. - מוודאים שהדגל
google_ml_integration.enable_model_supportמוגדר לערךon. - כדי להפעיל חיזויים ממסד נתונים של AlloyDB, צריך להגדיר את AlloyDB כך שיעבוד עם Agent Platform. מידע נוסף זמין במאמר שילוב מסד הנתונים עם Agent Platform.
- צריך להיות לכם מודל פעיל של Agent Platform עם נקודת קצה פעילה, שיש לכם הרשאת גישה אליה בניהול זהויות והרשאות גישה (IAM). ב-AlloyDB אין תמיכה בנקודות קצה פרטיות לקבלת חיזויים אונליין.
כדי להפעיל חיזויים, נותנים למשתמשים במסד הנתונים הרשאות להריץ את פונקציית החיזוי:
\c DB_NAME; GRANT EXECUTE ON FUNCTION ml_predict_row TO USER_NAME;מחליפים את מה שכתוב בשדות הבאים:
DB_NAME: שם מסד הנתונים שבו צריך להעניק את ההרשאות
USER_NAME: שם המשתמש שצריך לתת לו את ההרשאות
הפעלת חיזויים אונליין
משתמשים בפונקציית ה-SQL ml_predict_row() כדי להפעיל חיזויים אונליין על הנתונים.
הפורמט של הארגומנט הראשוני של הפונקציה תלוי בשאלה אם מודל ה-ML שבו רוצים להשתמש נמצא ב-Model Garden או שהוא נקודת קצה (endpoint) שפועלת בפרויקט ב- Google Cloud .
שימוש במודל ב-Model Garden
כדי להפעיל חיזוי אונליין באמצעות מודל למידת מכונה שפועל ב-Model Garden, משתמשים בתחביר הבא לפונקציית ה-SQL google_ml.predict_row():
SELECT ml_predict_row('projects/PROJECT_ID/locations/REGION_ID/publishers/google/models/MODEL_ID', '{"instances": [CONTENTS]}');
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud
REGION_ID: המזהה של האזור Google Cloud שבו נמצא המודל, לדוגמהus-central1ל-gemini-2.5-flash
MODEL_ID: המזהה של מודל ה-ML שבו רוצים להשתמש, לדוגמה gemini-2.5-flash
CONTENTS: הקלט לקריאת החיזוי, בפורמט JSON
אם מודל ה-ML מאוחסן באותו פרויקט ובאותו אזור כמו אשכול AlloyDB, אתם יכולים לקצר את הארגומנט הראשון של הפונקציה הזו:
SELECT ml_predict_row('publishers/google/models/MODEL_ID', '{ CONTENTS }');
למידע על הודעות התגובה של המודל ב-JSON, קראו את המסמך בנושא מודלים בסיסיים של AI גנרטיבי.
לדוגמאות, ראו דוגמאות להפעלות.
שימוש בנקודת קצה של מודל ב-Agent Platform
כדי להפעיל חיזוי אונליין באמצעות נקודת קצה של מודל ב-Agent Platform, משתמשים בתחביר הבא לפונקציית ה-SQL ml_predict_row():
SELECT ml_predict_row('projects/PROJECT_ID/locations/REGION_ID/endpoints/ENDPOINT_ID', '{ CONTENTS }');
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט ב- Google Cloud שבו נמצא המודל
REGION_ID: מזהה האזור ב- Google Cloud שבו נמצא המודל. לדוגמה:us-central1
ENDPOINT_ID: המזהה של נקודת הקצה של המודל
CONTENTS: הקלט לקריאת החיזוי, בפורמט JSON
אם נקודת הקצה נמצאת באותו פרויקט ובאותו אזור כמו אשכול AlloyDB, אתם יכולים לקצר את הארגומנט הראשון של הפונקציה:
SELECT ml_predict_row('endpoints/ENDPOINT_ID', '{ CONTENTS }');
למידע על הודעות התגובה של המודל בפורמט JSON, ראו PredictResponse.
דוגמאות להפעלות
בדוגמה הבאה נעשה שימוש במודל gemini-2.5-flash, שזמין ב-Model Garden, כדי ליצור טקסט על סמך הנחיה קצרה שסופקה כארגומנט מילולי ל-ml_predict_row():
SELECT
json_array_elements(ml_predict_row('publishers/google/models/gemini-2.5-flash:streamGenerateContent',
'{ "contents": [ { "role": "user", "parts": [ { "text": "For TPCH database schema as mentioned here https://www.tpc.org/TPC_Documents_Current_Versions/pdf/TPC-H_v3.0.1.pdf , generate a SQL query to find all supplier names which are located in the India nation."
} ] } ] }'))-> 'candidates' -> 0 -> 'content' -> 'parts' -> 0 -> 'text';
התגובה היא אובייקט JSON. למידע נוסף על הפורמט של האובייקט, ראו גוף התגובה.
הדוגמה הבאה משנה את הדוגמה הקודמת בדרכים הבאות:
בדוגמה הזו, הקלט הוא התוכן של העמודה
messages.messageבמסד הנתונים הנוכחי.הדוגמה ממחישה את השימוש בפונקציה
json_build_object()ככלי עזר לעיצוב הפרמטרים של הפונקציה.
SELECT
ml_predict_row(
'projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent',
json_build_object(
'contents',
json_build_object(
'role', 'user',
'parts', json_build_object('text', message)
)
)
)
FROM messages;
אובייקט ה-JSON שמוחזר מכיל מערך candidates לכל שורה בטבלה messages.
התגובה היא אובייקט JSON, אז אפשר לשלוף ממנה שדות ספציפיים באמצעות אופרטור החץ של PostgreSQL:
SELECT
ml_predict_row(
'projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-2.5-flash:generateContent',
json_build_object(
'contents',
json_build_object(
'role', 'user',
'parts', json_build_object('text', message)
)
)
) -> 'candidates' -> 0 -> 'content' -> 'parts' -> 0 -> 'text'
FROM messages;
דוגמאות נוספות לארגומנטים של ml_predict_row() מפורטות במאמר התחלה מהירה באמצעות Agent Platform API.
המאמרים הבאים
- איך יוצרים עוזר חכם לשופינג באמצעות AlloyDB, pgvector וניהול נקודות קצה של מודלים
- מידע נוסף על ניהול נקודות קצה של מודלים