סקירה כללית של ניהול נקודות קצה של מודלים

בדף הזה מוסבר איך לרשום נקודת קצה של מודל AI ולהפעיל חיזויים באמצעות ניהול נקודות קצה של מודלים ב-Cloud SQL. כדי להשתמש במודלים של AI בסביבות ייצור, אפשר לעיין במאמר בנושא יצירה וניהול של הטמעות וקטוריות.

סקירה כללית

ניהול נקודות קצה של מודלים מאפשר לכם לרשום נקודת קצה של מודל, לנהל מטא-נתונים של נקודת קצה של מודל במופע Cloud SQL, ואז ליצור אינטראקציה עם המודלים באמצעות שאילתות SQL. אפשר להשתמש במודלים האלה כדי ליצור הטמעות של וקטורים או כדי להפעיל תחזיות.

אפשר לרשום את סוגי המודלים הבאים באמצעות ניהול נקודות קצה של מודלים:

  • מודלים להטמעת טקסט ב-Vertex AI.
  • מודלים להטמעת טקסט שמתארחים ברשתות בתוך Google Cloud.
  • מודלים גנריים עם API מבוסס-JSON. דוגמאות למודלים כאלה:

    • מודל gemini-flash מ-Vertex AI Model Garden
    • מודל open_ai למודלים של OpenAI
    • מודלים שמתארחים ברשתות בתוך Google Cloud

איך זה עובד

אתם יכולים להשתמש בניהול נקודות קצה של מודלים כדי לרשום נקודת קצה של מודל שעומדת בדרישות הבאות:

  • הקלט והפלט של המודל תומכים בפורמט JSON.
  • אפשר להשתמש בפרוטוקול REST כדי לקרוא למודל.

כשרושמים נקודת קצה של מודל באמצעות הכלי לניהול נקודות קצה של מודלים, הכלי רושם כל נקודת קצה עם מזהה מודל ייחודי כהפניה למודל. אפשר להשתמש במזהה המודל הזה כדי לשלוח שאילתות למודלים, באופן הבא:

  • ליצור הטבעות כדי לתרגם הנחיות טקסט לווקטורים מספריים. אפשר לאחסן הטמעות שנוצרו כנתוני וקטור כשמפעילים תמיכה בהטמעת וקטור במופע. מידע נוסף מופיע במאמר הפעלה והשבתה של הטמעות וקטוריות במופע.

  • אפשר להפעיל חיזוי כדי לקרוא למודל באמצעות SQL בתוך טרנזקציה.

כדי לרשום מודלים של AI מרוחקים ולהפעיל אותם באמצעות מכונת Cloud SQL, צריך להתקין במכונה את גרסת התחזוקה MYSQL_VERSION.R20250531.01_14 ואילך. אם במכונה שלכם פועלת גרסת תחזוקה מוקדמת יותר מ-MYSQL_VERSION.R20250531.01_14, תוכלו להשתמש רק בפונקציות הבאות, כפי שמתואר בשילוב של Cloud SQL ו-Vertex AI.

כדי לשדרג את המופע לגרסת תחזוקה MYSQL_VERSION.R20250531.01_14 או לגרסה מתקדמת יותר, אפשר לעיין במאמר בנושא תחזוקה בשירות עצמי. אחרי שמשדרגים את המופע, אפשר להשתמש בפונקציות הבאות:

בנוסף, אתם יכולים להשתמש בפונקציות הבאות עם ספק המודלים הרשום שלכם:

  • mysql.ml_embedding(): יצירת הטמעות טקסט
  • mysql.ml_predict_row(): יצירת תחזיות כשמפעילים מודלים גנריים שתומכים בפורמטים של קלט ופלט JSON

הרשאות משתמש נדרשות במסד הנתונים

כדי לרשום מודלים של AI מרחוק ולהפעיל אותם, אתם צריכים להיות מחוברים כמשתמש של מסד נתונים של MySQL שקיבל הרשאות SELECT ו-EXECUTE בפריבילגיות mysql.*.

כברירת מחדל, לכל משתמש עם תפקיד cloudsqlsuperuser יש את ההרשאות האלה, או שהוא יכול ליצור משתמש ולהעניק לו את ההרשאות הנדרשות.

מידע נוסף על התפקיד cloudsqlsuperuser ב-Cloud SQL זמין במאמרים הרשאות משתמש ב-MySQL 8.0 והרשאות משתמש ב-MySQL 8.4.

מושגים מרכזיים

לפני שמתחילים להשתמש בניהול נקודות קצה של מודלים, חשוב להבין את המושגים שנדרשים כדי להתחבר למודלים ולהשתמש בהם.

ספק המודל

ספק המודל הוא ספק אירוח המודלים הנתמך. בטבלה הבאה מוצג הערך של ספק המודל שצריך להגדיר בהתאם לספק המודל שבו אתם משתמשים:

ספק המודל הגדרה בפונקציה בתור…
‫Vertex AI (כולל Gemini) google
Anthropic anthropic
Hugging Face hugging_face
OpenAI open_ai
מודלים אחרים שמתארחים מחוץ ל-Vertex AI,‏
Anthropic,‏ Hugging Face ו-OpenAI
custom

ספק המודלים שמוגדר כברירת מחדל הוא custom.

סוגי מודלים

סוגי מודלים הם הסוגים של מודל ה-AI. כשרושמים נקודת קצה של מודל, אפשר להגדיר את סוגי המודלים text_embedding או generic לנקודת הקצה.

אם אתם משתמשים ב-Vertex AI כספק המודלים, אתם לא צריכים לרשום נקודת קצה של מודל כי נקודות הקצה נתמכות באופן אוטומטי. כברירת מחדל, ב-Vertex AI משתמשים במודל text-embedding-005.

מודלים אחרים להטמעת טקסט
במודלים אחרים להטמעת טקסט, צריך ליצור פונקציות טרנספורמציה כדי לטפל בפורמטים של הקלט והפלט שהמודל תומך בהם. אפשר גם להשתמש בפונקציה ליצירת כותרות HTTP שיוצרת כותרות בהתאמה אישית שנדרשות על ידי המודל.

סוג המודל של המודלים האלה הוא text_embedding.

מודלים גנריים
ניהול נקודות הקצה של המודלים תומך גם ברישום של כל סוגי המודלים האחרים, מלבד מודלים להטמעת טקסט. כדי להפעיל תחזיות למודלים כלליים, משתמשים בפונקציה mysql.ml_predict_row(). אפשר להגדיר מטא-נתונים של נקודת קצה של מודל, כמו נקודת קצה של בקשה וכותרות HTTP שספציפיות למודל.
אי אפשר להעביר פונקציות טרנספורמציה כשרושמים נקודת קצה של מודל גנרי. חשוב לוודא שכאשר מפעילים חיזויים, הקלט לפונקציה הוא בפורמט JSON, ושהפלט של ה-JSON מנותח כדי להפיק את הפלט הסופי.
סוג המודל של המודלים האלה הוא generic. ‫generic הוא סוג המודל שמוגדר כברירת מחדל, ולכן אם רושמים נקודות קצה של מודל מהסוג הזה, הגדרת סוג המודל היא אופציונלית.
ב-Vertex AI, ניהול נקודות הקצה של המודלים כולל תמיכה רשומה מראש במודל gemini-2.5-flash.

שיטות אימות

אתם יכולים להפעיל תמיכה בהטמעות וקטוריות במופע Cloud SQL ל-MySQL ואז לציין שיטות אימות שונות כדי לגשת למודל. הגדרת השיטות האלה היא אופציונלית, והיא נדרשת רק אם אתם צריכים לאמת את הגישה למודל.

במודלים של Vertex AI, חשבון השירות של Cloud SQL משמש לאימות. במודלים אחרים, אפשר להשתמש במפתח ה-API או באסימון ה-bearer שמאוחסן כסוד ב-Secret Manager עם פונקציית ה-SQL‏ mysql.ml_create_sm_secret_registration().

בטבלה הבאה מפורטות שיטות האימות שאפשר להגדיר:

שיטת אימות הגדרה בפונקציה בתור… ספק המודל
סוכן שירות של Cloud SQL auth_type_cloudsql_service_agent_iam ספק Vertex AI
Secret Manager auth_type_secret_manager מודלים שמארחים מחוץ ל-Vertex AI

פונקציות חיזוי

mysql.ml_embedding()
Calls a registered text embedding model endpoint to generate embeddings. הוא כולל תמיכה מובנית בכל מודלים להטמעה של Vertex AI.
במודלים להטמעת טקסט ללא תמיכה מובנית, פרמטרי הקלט והפלט הם ייחודיים למודל וצריך לבצע טרנספורמציה כדי שהפונקציה תוכל לקרוא למודל. יוצרים פונקציית קלט לטרנספורמציה כדי להמיר את הקלט של פונקציית החיזוי לקלט ספציפי למודל, ופונקציית פלט לטרנספורמציה כדי להמיר את הפלט הספציפי למודל לפלט של פונקציית החיזוי.
mysql.ml_predict_row()
קורא לנקודת קצה רשומה של מודל גנרי, אם נקודת הקצה תומכת בממשקי API מבוססי-JSON להפעלת תחזיות.

טרנספורמציה של פונקציות

פונקציות טרנספורמציה משנות את הקלט לפורמט שהמודל מבין, וממירות את התגובה של המודל לפורמט שפונקציית החיזוי מצפה לו. פונקציות הטרנספורמציה משמשות כשרושמים את נקודת הקצה של מודל text-embedding ללא תמיכה מובנית. החתימה של פונקציות הטרנספורמציה תלויה בפונקציית החיזוי של סוג המודל.

אי אפשר להשתמש בפונקציות טרנספורמציה כשרושמים נקודת קצה של מודל generic.

בדוגמה הבאה מוצגות החתימות של פונקציית החיזוי עבור מודלים של הטמעת טקסט:

// define custom model specific input/output transform functions.
CREATE FUNCTION IF NOT EXISTS input_transform_function(model_id VARCHAR(100), input_text TEXT) RETURNS JSON DETERMINISTIC;

// the returned BLOB should be of type VECTOR
CREATE FUNCTION IF NOT EXISTS output_transform_function(model_id VARCHAR(100), response_json JSON) RETURNS BLOB DETERMINISTIC;

מידע נוסף על יצירת פונקציות טרנספורמציה זמין במאמר דוגמה לפונקציות טרנספורמציה.

פונקציה ליצירת כותרת HTTP

הפונקציה ליצירת כותרות HTTP יוצרת את הפלט בזוגות של מפתח וערך בפורמט JSON, שמשמשים ככותרות HTTP. החתימה של פונקציית החיזוי מגדירה את החתימות של פונקציית יצירת הכותרת.

בדוגמה הבאה מוצגת החתימה של פונקציית החיזוי mysql.ml_embedding():

CREATE FUNCTION IF NOT EXISTS generate_headers(model_id VARCHAR(100), input TEXT) RETURNS JSON DETERMINISTIC;

עבור פונקציית החיזוי mysql.ml_predict_row(), החתימה היא כדלקמן:

CREATE FUNCTION IF NOT EXISTS generate_headers(model_id VARCHAR(100), input JSON) RETURNS JSON DETERMINISTIC;

מידע נוסף על יצירת פונקציה ליצירת כותרות זמין במאמר דוגמה לפונקציה ליצירת כותרות.

מגבלות

  • כשמריצים פונקציות של רישום מודלים או ניהול סודות, כל העסקאות הפתוחות בסשן מתבצעות באופן אוטומטי. פונקציות החיזוי לא מבצעות אוטומטית עסקאות.

  • אם מייצאים או מייבאים את מסד הנתונים באמצעות mysqldump, קטלוג נקודות הקצה של המודל לא מיוצא.

  • במסד נתונים של משתמשים שמכיל פונקציות טרנספורמציה, השם לא יכול להכיל נקודה ('.'). לדוגמה, אי אפשר להשתמש במסד נתונים בשם my.sql.

  • ניהול נקודות קצה של מודלים זמין רק ב-Cloud SQL ל-MySQL בגרסה 8.0.36 ואילך.

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