בדף הזה מוסבר איך לרשום נקודת קצה של מודל 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_create_model_registration(): רישום של נקודת הקצה של המודל שמשמשת בפונקציית החיזוי או ההטמעה -
mysql.ml_create_sm_secret_registration(): משתמש בערכי Secret ב- Google Cloud Secret Manager, שבו מאוחסנים מפתחות ה-API
בנוסף, אתם יכולים להשתמש בפונקציות הבאות עם ספק המודלים הרשום שלכם:
-
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.
text_embedding.mysql.ml_predict_row().
אפשר להגדיר מטא-נתונים של נקודת קצה של מודל, כמו נקודת קצה של בקשה וכותרות HTTP שספציפיות למודל.generic. generic הוא סוג המודל שמוגדר כברירת מחדל, ולכן אם רושמים נקודות קצה של מודל מהסוג הזה, הגדרת סוג המודל היא אופציונלית.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 ואילך.