בדף הזה מתואר תצוגה מקדימה שמאפשרת לכם להתנסות ברישום של נקודת קצה של מודל AI ובהפעלת תחזיות באמצעות ניהול נקודות קצה של מודלים ב-AlloyDB Omni. כדי להשתמש במודלים של AI בסביבות ייצור, אפשר לעיין במאמרים בנושא יצירת אפליקציות של AI גנרטיבי באמצעות AlloyDB AI ועבודה עם הטמעות וקטוריות.
כדי לרשום נקודות קצה של מודלים מרוחקים ב-AlloyDB, אפשר לעיין במאמר רישום של מודלים מרוחקים של AI ב-AlloyDB והפעלתם.
סקירה כללית
גרסת הטרום-השקה של ניהול נקודות קצה של מודלים מאפשרת לרשום נקודת קצה של מודל, לנהל מטא-נתונים של נקודת קצה של מודל באשכול מסד הנתונים, ואז ליצור אינטראקציה עם המודלים באמצעות שאילתות SQL. היא מספקת את התוסף google_ml_integration שכולל פונקציות להוספה ולרישום של המטא-נתונים של נקודת הקצה של המודל שקשורים למודלים, ואז להשתמש במודלים כדי ליצור הטבעות וקטוריות או להפעיל תחזיות.
אלה כמה דוגמאות לסוגי מודלים שאפשר לרשום באמצעות ניהול נקודות קצה של מודלים:
- מודלים להטמעת טקסט ב-Vertex AI
- מודלים להטמעה שסופקו על ידי ספקי צד שלישי, כמו Anthropic, Hugging Face או OpenAI.
- מודלים של הטמעת טקסט שמתארחים בהתאמה אישית
- מודלים גנריים עם API מבוסס-JSON – לדוגמה, מודל
facebook/bart-large-mnliשמתארח ב-Hugging Face או מודלgemini-proמ-Vertex AI Model Garden
איך זה עובד
אתם יכולים להשתמש בניהול נקודות קצה של מודלים כדי לרשום נקודת קצה של מודל שעומדת בדרישות הבאות:
- הקלט והפלט של המודל תומכים בפורמט JSON.
- אפשר לקרוא למודל באמצעות פרוטוקול REST.
כשרושמים נקודת קצה של מודל באמצעות ניהול נקודות קצה של מודלים, כל נקודת קצה נרשמת עם מזהה מודל ייחודי שסיפקתם כהפניה למודל. אפשר להשתמש במזהה המודל הזה כדי להריץ שאילתות על מודלים:
ליצור הטמעות כדי לתרגם הנחיות טקסט לווקטורים מספריים. אפשר לאחסן הטמעות שנוצרו כנתונים וקטוריים כשהתוסף
pgvectorמופעל במסד הנתונים.אפשר להפעיל חיזויים כדי לקרוא למודל באמצעות SQL בתוך טרנזקציה.
האפליקציות שלכם יכולות לגשת לניהול נקודות הקצה של המודל באמצעות התוסף google_ml_integration. התוסף הזה מספק את הפונקציות הבאות:
- פונקציית ה-SQL
google_ml.create_model(), שמשמשת לרישום נקודת הקצה של המודל שמשמשת בפונקציית החיזוי או ההטמעה. - פונקציית ה-SQL
google_ml.create_sm_secret(), שמשתמשת בסודות ב- Google CloudSecret Manager, שבו מאוחסנים מפתחות ה-API. - פונקציית ה-SQL
google_ml.embedding(), שהיא פונקציית חיזוי שמייצרת הטמעות טקסט. - פונקציית ה-SQL
google_ml.predict_row()שיוצרת תחזיות כשמפעילים מודלים גנריים שתומכים בפורמט קלט ופלט של JSON. - פונקציות עזר אחרות שמטפלות ביצירה של כתובת URL מותאמת אישית, ביצירה של כותרות HTTP או בהעברה של פונקציות transform למודלים גנריים.
- פונקציות לניהול נקודות הקצה והסודות של המודל הרשום.
מושגים מרכזיים
לפני שמתחילים להשתמש בניהול נקודות קצה של מודלים, חשוב להבין את המושגים שנדרשים כדי להתחבר למודלים ולהשתמש בהם.
ספק המודל {: #model-provider}̦
ספק המודל מציין את ספקי אירוח המודלים הנתמכים. בטבלה הבאה מוצג ערך ספק המודל שצריך להגדיר בהתאם לספק המודל שבו אתם משתמשים:
| ספק המודל | הגדרה בפונקציה בתור… |
|---|---|
| Vertex AI | google |
| מודלים של Hugging Face | custom |
| מודלים של Anthropic | custom |
| מודלים אחרים | custom |
| OpenAI | open_ai |
ספק המודלים שמוגדר כברירת מחדל הוא custom.
שיטת האימות הנתמכת משתנה בהתאם לסוג הספק. האימות של מודלים של Vertex AI מתבצע באמצעות חשבון השירות של AlloyDB, וספקים אחרים יכולים להשתמש ב-Secret Manager לאימות.
סוג המודל
סוג המודל מציין את סוג מודל ה-AI. התוסף תומך בהטמעת טקסט וגם בכל סוג של מודל גנרי. סוגי המודלים הנתמכים שאפשר להגדיר כשרושמים נקודת קצה של מודל הם text-embedding ו-generic. הגדרת סוג המודל היא אופציונלית כשרושמים נקודות קצה של מודלים גנריים, כי generic הוא סוג המודל שמוגדר כברירת מחדל.
- מודלים להטמעת טקסט עם תמיכה מובנית
- ניהול נקודות הקצה של המודלים מספק תמיכה מובנית בכל הגרסאות של מודל
textembedding-geckoשל Vertex AI ומודלtext-embedding-ada-002של OpenAI. כדי לרשום את נקודות הקצה של המודלים האלה, משתמשים בפונקציהgoogle_ml.create_model(). AlloyDB מגדיר באופן אוטומטי פונקציות טרנספורמציה שמוגדרות כברירת מחדל למודלים האלה. - סוג המודל של המודלים האלה הוא
text-embedding. - מודלים אחרים להטמעת טקסט
- במודלים אחרים של הטמעת טקסט, צריך ליצור פונקציות טרנספורמציה כדי לטפל בפורמטים של הקלט והפלט שהמודל תומך בהם. אפשר גם להשתמש בפונקציה ליצירת כותרות HTTP, שמייצרת כותרות בהתאמה אישית שנדרשות על ידי המודל.
- סוג המודל של המודלים האלה הוא
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()- משמש לקריאה לנקודת קצה של מודל מוטמע טקסט רשום כדי ליצור הטמעות. הוא כולל תמיכה מובנית במודל
textembedding-geckoשל Vertex AI ובמודלtext-embedding-ada-002של OpenAI. - במודלים להטמעת טקסט ללא תמיכה מובנית, פרמטרי הקלט והפלט ייחודיים למודל וצריך לבצע בהם טרנספורמציה כדי שהפונקציה תקרא למודל. יוצרים פונקציית קלט של טרנספורמציה כדי להפוך את הקלט של פונקציית החיזוי לקלט ספציפי למודל, ופונקציית פלט של טרנספורמציה כדי להפוך את הפלט הספציפי למודל לפלט של פונקציית החיזוי.
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;
מידע נוסף על יצירת פונקציה ליצירת כותרות זמין במאמר פונקציה ליצירת כותרות HTTP.
המאמרים הבאים
- רישום של נקודת קצה של מודל באמצעות ניהול נקודות קצה של מודלים
- מידע נוסף על ניהול נקודות קצה של מודלים