בדף הזה מוסברים מושגי מפתח שחשוב להכיר לפני שמבצעים רישום של נקודת קצה של מודל AI ומפעילים חיזויים באמצעות ניהול נקודות קצה של מודלים.
כדי לרשום נקודות קצה של מודלים מרוחקים ב-AlloyDB ל-PostgreSQL, אפשר לעיין במאמר בנושא רישום של מודלים מרוחקים של AI וקריאה להם ב-AlloyDB.
סקירה כללית
ניהול נקודות קצה של מודלים מאפשר לכם לרשום נקודת קצה של מודל, לנהל את המטא-נתונים של נקודת הקצה של המודל באשכול מסד הנתונים ולבצע קריאות לנקודות הקצה של המודלים המרוחקים באמצעות שאילתות SQL. הוא מספק את התוסף google_ml_integration שכולל פונקציות שמאפשרות לרשום את המטא-נתונים שקשורים למודלים של AI ב-AlloyDB. המטא-נתונים הרשומים האלה משמשים ליצירת הטבעות וקטוריות או להפעלת תחזיות.
אלה כמה דוגמאות לסוגי מודלים שאפשר לרשום באמצעות ניהול נקודות קצה של מודלים:
- מודלים גנריים והטמעת טקסט ב-Vertex AI
- הטמעה של מודלים שסופקו על ידי ספקי צד שלישי, כמו Hugging Face או OpenAI
- מודלים להטמעת טקסט באירוח בהתאמה אישית, כולל מודלים באירוח עצמי או מודלים שזמינים דרך נקודות קצה פרטיות
- מודלים גנריים עם API מבוסס-JSON – לדוגמה, מודל
facebook/bart-large-mnliשמתארח ב-Hugging Face, מודלgemini-proמ-Vertex AI Model Garden או מודליםclaudeשל Anthropic
איך זה עובד
אתם יכולים להשתמש בניהול נקודות קצה של מודלים כדי לרשום נקודת קצה של מודל שעומדת בדרישות הבאות:
- הקלט והפלט של המודל תומכים בפורמט JSON.
- אפשר לקרוא למודל באמצעות פרוטוקול REST.
כשרושמים נקודת קצה של מודל באמצעות ניהול נקודות קצה של מודלים, כל נקודת קצה נרשמת עם מזהה מודל ייחודי שסיפקתם כהפניה למודל.
אפשר להשתמש במזהה של נקודת הקצה של המודל כדי לשלוח שאילתות למודלים ולבצע את הפעולות הבאות:
ליצור הטבעות כדי לתרגם הנחיות טקסט לווקטורים מספריים. אפשר לאחסן הטמעות שנוצרו כנתונים וקטוריים כשהתוסף
vectorמופעל במסד הנתונים. מידע נוסף זמין במאמר בנושא אחסון הטמעות וקטורים.מפעילים חיזויים באמצעות SQL.
האפליקציות שלכם יכולות לגשת לניהול נקודות קצה של מודלים באמצעות התוסף google_ml_integration. התוסף הזה מספק את הפונקציות הבאות:
- פונקציית ה-SQL
google_ml.create_model(), שמשמשת לרישום נקודת הקצה של המודל שמשמשת בפונקציית החיזוי או ההטמעה. - פונקציית ה-SQL
google_ml.create_sm_secret(), שמשתמשת בסודות ב- Google CloudSecret Manager, שבו מאוחסנים מפתחות ה-API. - פונקציית ה-SQL
google_ml.embedding(), שהיא פונקציית חיזוי שמייצרת הטמעות טקסט. סוג הערך שמוחזר מפונקציית ההטמעה הואREAL[]. - פונקציית ה-SQL
google_ml.predict_row()שמייצרת תחזיות כשקוראים למודלים גנריים שתומכים בפורמט קלט ופלט של JSON. - פונקציות עזר אחרות שמטפלות ביצירת כתובת URL מותאמת אישית, ביצירת כותרות HTTP או בהעברת פונקציות של טרנספורמציה.
- פונקציות לניהול נקודות הקצה והסודות של המודל הרשום.
מושגים מרכזיים
לפני שמתחילים להשתמש בניהול נקודות קצה של מודלים, חשוב להבין את המושגים שנדרשים כדי להתחבר למודלים ולהשתמש בהם.
ספק המודל
Model provider (ספק המודל) מציין את ספקי אירוח המודלים הנתמכים. הגדרת ספק המודל היא אופציונלית, אבל היא עוזרת לניהול נקודות הקצה של המודל לזהות את הספק ולעצב באופן אוטומטי את הכותרות עבור מודלים נתמכים. בטבלה הבאה מוצג הערך של ספק המודל שאפשר להגדיר בהתאם לספק המודל שבו אתם משתמשים:
| ספק המודל | הגדרה בפונקציה בתור… |
|---|---|
| Vertex AI | google |
| מודלים של Hugging Face | hugging_face |
| מודלים של Anthropic | anthropic |
| OpenAI | open_ai |
| מודלים אחרים | custom |
ספק המודלים שמוגדר כברירת מחדל הוא custom.
שיטת האימות הנתמכת משתנה בהתאם לסוג הספק. האימות של מודלים ב-Vertex AI מתבצע באמצעות חשבון השירות ששימש להתקנת AlloyDB Omni, ואילו ספקים אחרים יכולים להשתמש ב-Secret Manager או להעביר פרטי אימות דרך כותרות. מידע נוסף זמין במאמר בנושא הגדרת אימות.
סוג המודל
סוג המודל מציין את סוג מודל ה-AI. התוסף תומך בהטמעת טקסט וגם בכל סוג של מודל גנרי. סוגי המודלים הנתמכים שאפשר להגדיר כשרושמים נקודת קצה של מודל הם text-embedding ו-generic.
הגדרת סוג המודל היא אופציונלית כשרושמים נקודות קצה של מודלים גנריים, כי generic הוא סוג המודל שמוגדר כברירת מחדל.
- מודלים שנרשמו מראש ב-Vertex AI
- ניהול נקודות הקצה של המודלים תומך בכמה מודלים של הטמעת טקסט ומודלים כלליים של Vertex AI כמזהי מודלים שרשומים מראש. אפשר להשתמש ישירות במזהה המודל כדי ליצור הטמעות או להפעיל תחזיות, בהתאם לסוג המודל.
מידע נוסף על מודלים רשומים מראש שנתמכים זמין במאמר מודלים רשומים מראש של Vertex AI.
לדוגמה, כדי להפעיל את המודלtextembedding-geckoשרשום מראש, אפשר להפעיל את המודל ישירות באמצעות פונקציית ההטמעה:SELECT google_ml.embedding( model_id => 'textembedding-gecko', content => 'AlloyDB is a managed, cloud-hosted SQL database service'); - מודלים עם תמיכה מובנית
- ניהול נקודות הקצה של המודלים מספק תמיכה מובנית בחלק מהמודלים של Vertex AI, Anthropic ו-OpenAI. במודלים של הטמעת טקסט עם תמיכה מובנית, מערכת AlloyDB מגדירה באופן אוטומטי פונקציות טרנספורמציה שמוגדרות כברירת מחדל.
- כשרושמים את נקודות הקצה של המודלים האלה, צריך להגדיר את השם המלא באופן מפורש. מידע נוסף על רשימת המודלים עם תמיכה מובנית זמין במאמר מודלים עם תמיכה מובנית.
- סוג המודל של המודלים האלה יכול להיות
text-embeddingאוgeneric. - מודלים אחרים להטמעת טקסט
- כדי לרשום נקודת קצה של מודל הטמעת טקסט ללא תמיכה מובנית, מומלץ ליצור פונקציות טרנספורמציה לטיפול בפורמטים של קלט ופלט שהמודל תומך בהם. אופציונלי, בהתאם לדרישות המודל, יכול להיות שתצטרכו גם ליצור פונקציית כותרת בהתאמה אישית כדי לציין את הכותרת.
- סוג המודל של המודלים האלה הוא
text-embedding. - מודלים גנריים
- ניהול נקודות הקצה של המודל תומך גם ברישום של כל סוגי המודלים האחרים, מלבד מודלים להטמעת טקסט. כדי להפעיל תחזיות למודלים כלליים, משתמשים בפונקציה
google_ml.predict_row(). אפשר להגדיר מטא-נתונים של נקודת קצה של מודל, כמו נקודת קצה של בקשה וכותרות HTTP שספציפיות למודל. - אי אפשר להעביר פונקציות טרנספורמציה כשרושמים נקודת קצה של מודל גנרי. חשוב לוודא שכאשר מפעילים תחזיות, הקלט לפונקציה הוא בפורמט JSON, ושהפלט של ה-JSON מנותח כדי להפיק את הפלט הסופי.
- סוג המודל של המודלים האלה הוא
generic.
אימות
סוגי אימות מציינים את סוג האימות שבו אפשר להשתמש כדי להתחבר לניהול נקודות הקצה של המודל באמצעות התוסף google_ml_integration. הגדרת אימות היא אופציונלית ונדרשת רק אם אתם צריכים לעבור אימות כדי לגשת למודל.
במודלים של Vertex AI, חשבון השירות של AlloyDB משמש לאימות. בדגמים אחרים, אפשר להשתמש במפתח API או בטוקן מסוג bearer שמאוחסן כסוד ב-Secret Manager עם הפונקציה google_ml.create_sm_secret() SQL. אם אתם מעבירים אימות דרך כותרות, אתם יכולים לדלג על הגדרת שיטת האימות.
בטבלה הבאה מוצגים סוגי האימות שאפשר להגדיר:
| שיטת אימות | הגדרה בפונקציה בתור… | ספק המודל |
|---|---|---|
| סוכן שירות AlloyDB | alloydb_service_agent_iam |
ספק Vertex AI |
| Secret Manager | secret_manager |
ספקי צד שלישי, כמו Anthropic, Hugging Face או OpenAI |
פונקציות חיזוי
התוסף google_ml_integration כולל את פונקציות החיזוי הבאות:
google_ml.embedding()- משמש לקריאה לנקודת קצה של מודל הטמעת טקסט רשום כדי ליצור הטמעות.
- במודלים להטמעת טקסט שלא כוללים תמיכה מובנית, פרמטרי הקלט והפלט הם ייחודיים למודל, וצריך לבצע טרנספורמציה כדי שהפונקציה תוכל לקרוא למודל. צריך ליצור פונקציית קלט טרנספורמציה כדי להפוך את הקלט של פונקציית החיזוי לקלט ספציפי למודל, ופונקציית טרנספורמציה של פלט כדי להפוך את הפלט הספציפי למודל לפלט של פונקציית החיזוי.
google_ml.predict_row()- משמש לשליחת קריאה לנקודת קצה של מודל גנרי רשום, בתנאי שהמודל תומך ב-API מבוסס-JSON, כדי להפעיל תחזיות.
טרנספורמציה של פונקציות
פונקציות טרנספורמציה משנות את הקלט לפורמט שהמודל מבין, וממירות את התגובה של המודל לפורמט שפונקציית החיזוי מצפה לו. פונקציות הטרנספורמציה משמשות כשרושמים את נקודת הקצה של מודל text-embedding ללא תמיכה מובנית. החתימה של פונקציות הטרנספורמציה תלויה בקלט שהמודל מצפה לו.
אי אפשר להשתמש בפונקציות טרנספורמציה כשרושמים נקודת קצה של מודל generic.
בדוגמה הבאה מוצגות החתימות של פונקציית החיזוי עבור מודלים של הטמעת טקסט:
// define custom model specific input/output transform functions.
CREATE OR REPLACE FUNCTION input_transform_function(model_id VARCHAR(100), input_text TEXT) RETURNS JSON;
CREATE OR REPLACE FUNCTION output_transform_function(model_id VARCHAR(100), response_json JSON) RETURNS real[];
מידע נוסף על יצירת פונקציות טרנספורמציה זמין במאמר דוגמה לפונקציות טרנספורמציה.
פונקציה ליצירת כותרת HTTP
פונקציית יצירת כותרות ה-HTTP יוצרת את הפלט בצמדי מפתח-ערך בפורמט JSON שמשמשים ככותרות HTTP. החתימה של פונקציית החיזוי מגדירה את החתימות של פונקציית יצירת הכותרת.
בדוגמה הבאה מוצגת החתימה של פונקציית החיזוי google_ml.embedding().
CREATE OR REPLACE FUNCTION generate_headers(model_id VARCHAR(100), input TEXT) RETURNS JSON;
עבור פונקציית החיזוי google_ml.predict_row(), החתימה היא כדלקמן:
CREATE OR REPLACE FUNCTION generate_headers(model_id VARCHAR(100), input JSON) RETURNS JSON;
מידע נוסף על יצירת פונקציה ליצירת כותרות זמין במאמר דוגמה לפונקציה ליצירת כותרות.
המאמרים הבאים
- הגדרת אימות לספקי מודלים.
- רישום של נקודת קצה של מודל באמצעות ניהול נקודות קצה של מודלים
- מידע נוסף על ניהול נקודות קצה של מודלים