הפעלת חיזויים

בדף הזה מוסבר איך להפעיל תחזיות באמצעות פונקציות ממרחבי השמות public ו-google_ml. התוסף google_ml_integration כולל פונקציות חיזוי למרחבי השמות האלה.

אפשר להשתמש בפונקציה ml_predict_row() בסכימה public עם כל מודל גנרי שמתארח ב-Gemini Enterprise Agent Platform בלי לרשום את נקודת הקצה. אפשר להשתמש בפונקציה google_ml.predict_row() בסכימה google_ml עם כל מודל שרשום בניהול נקודות קצה של מודלים.

כדי להפעיל תחזיות, בוחרים באחת מהסכימות הבאות.

לפני שמתחילים

כדי לאפשר ל-AlloyDB להפעיל תחזיות:

הפעלת חיזויים אונליין

משתמשים בפונקציית ה-SQL‏ ml_predict_row() כדי להפעיל תחזיות אונליין על הנתונים.

הפורמט של הארגומנט הראשוני של הפונקציה תלוי בכך אם מודל ה-ML שבו רוצים להשתמש נמצא ב-Model Garden או שהוא נקודת קצה שפועלת בפרויקט. Google Cloud

שימוש במודל ב-Model Garden

כדי להפעיל חיזוי אונליין באמצעות מודל ML שפועל ב-Model Garden, משתמשים בתחביר הבא לפונקציית ה-SQL‏ google_ml.predict_row():

SELECT ml_predict_row('projects/PROJECT_ID/locations/REGION_ID/publishers/google/models/MODEL_ID', '{ CONTENTS }');

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud

  • REGION_ID: המזהה של האזור שבו המודל נמצא, לדוגמה, us-central1 עבור gemini-pro Google Cloud

  • MODEL_ID: המזהה של מודל ה-ML לשימוש – לדוגמה, gemini-pro

  • 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-pro, שזמין ב-Model Garden, כדי ליצור טקסט על סמך הנחיה קצרה שמועברת כארגומנט מילולי אל ml_predict_row():

SELECT
  json_array_elements(ml_predict_row('publishers/google/models/gemini-1.5-pro: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-1.5-pro:generateContent', json_build_object('contents', json_build_object('text', message))) from messages;

אובייקט ה-JSON שמוחזר מכיל עכשיו רשומה אחת במערך predictions לכל שורה בטבלה messages.

מכיוון שהתגובה היא אובייקט JSON, אפשר לשלוף ממנה שדות ספציפיים באמצעות אופרטור החץ של PostgreSQL:

select ml_predict_row('projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-1.5-pro:generateContent', json_build_object('contents', json_build_object('text', message)))->'predictions'->0->'content' FROM messages;

דוגמאות נוספות לארגומנטים של ml_predict_row() זמינות במאמר מדריך למתחילים בנושא Agent Platform API.

המאמרים הבאים