אתם יכולים ליצור הטמעות מולטי-מודאליות ב-AlloyDB ל-PostgreSQL באמצעות המודל המולטי-מודאלי של פלטפורמת הסוכנים Gemini Enterprise, multimodalembedding@001.
אתם יכולים להשתמש במודלים להטמעה מרובת-אופנים של Agent Platform שמוזכרים במודלים נתמכים.
ההנחה במאמר הזה היא שאתם מכירים את AlloyDB ל-PostgreSQL ואת המושגים שקשורים ל-AI גנרטיבי. מידע נוסף זמין במאמר מהם הטמעות.
לפני שמתחילים
לפני שמשתמשים בהטמעות מולטימודאליות, צריך:
- מוודאים שהתוסף
google_ml_integrationמותקן. - מוודאים שהדגל
google_ml_integration.enable_model_supportמוגדר לערךon. - שילוב עם Agent Platform.
- גישה לנתונים ב-Cloud Storage כדי ליצור הטבעות מולטימודאליות.
שילוב עם פלטפורמת הסוכנים והתקנת התוסף
- הגדרת גישת משתמשים למודלים של Agent Platform.
- מוודאים שמותקנת הגרסה העדכנית של
google_ml_integration.כדי לבדוק את הגרסה המותקנת, מריצים את הפקודה הבאה:
SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration'; extversion ------------ 1.5.2 (1 row)
אם התוסף לא מותקן או אם הגרסה המותקנת קודמת לגרסה 1.5.2, צריך לעדכן את התוסף.
CREATE EXTENSION IF NOT EXISTS google_ml_integration; ALTER EXTENSION google_ml_integration UPDATE;
אם נתקלתם בבעיות כשניסיתם להריץ את הפקודות שלמעלה, או אם התוסף לא עודכן לגרסה 1.5.2 אחרי שהרצתם את הפקודות שלמעלה, פנו אל Google Cloud התמיכה.
כדי להשתמש בפונקציונליות של מנוע השאילתות של AlloyDB AI, צריך להגדיר את הדגל
google_ml_integration.enable_ai_query_engineלערךon.SQL
- מפעילים את מנוע השאילתות מבוסס ה-AI בסשן הנוכחי.
SET google_ml_integration.enable_ai_query_engine = on;
- הפעלה של תכונות למסד נתונים ספציפי בסשנים שונים.
ALTER DATABASE DATABASE_NAME SET google_ml_integration.enable_ai_query_engine = 'on';
- הפעלת מנוע השאילתות מבוסס ה-AI למשתמש ספציפי בסשנים ובמסדי נתונים.
ALTER ROLE postgres SET google_ml_integration.enable_ai_query_engine = 'on';
המסוף
כדי לשנות את הערך של הדגל
google_ml_integration.enable_ai_query_engine, פועלים לפי השלבים במאמר הגדרת דגלים של מסד נתונים במופע.gcloud
כדי להשתמש ב-gcloud CLI, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.
אפשר לשנות את הערך של הדגל
google_ml_integration.enable_ai_query_engine. מידע נוסף זמין במאמר בנושא הגדרת דגלים של מסד נתונים במופע.gcloud alloydb instances update INSTANCE_ID \ --database-flags google_ml_integration.enable_ai_query_engine=on \ --region=REGION_ID \ --cluster=CLUSTER_ID \ --project=PROJECT_ID
- מפעילים את מנוע השאילתות מבוסס ה-AI בסשן הנוכחי.
גישה לנתונים ב-Cloud Storage כדי ליצור הטמעות מולטימודאליות
- כדי ליצור הטמעות מולטימודאליות, צריך להפנות לתוכן ב-Cloud Storage באמצעות
gs://URI. - גישה לתוכן ב-Cloud Storage דרך סוכן השירות של פלטפורמת הסוכנים בפרויקט הנוכחי. כברירת מחדל, לסוכן השירות של Agent Platform כבר יש הרשאה לגשת לקטגוריה באותו פרויקט. מידע נוסף זמין במאמר אינדקס של תפקידים והרשאות ב-IAM.
כדי לגשת לנתונים בקטגוריה של Cloud Storage בפרויקט אחר, Google Cloud מריצים את הפקודה הבאה ב-gcloud CLI כדי להעניק את התפקיד 'צפייה באובייקט אחסון' (
roles/storage.objectViewer) לסוכן השירות של פלטפורמת הסוכנים בפרויקט AlloyDB.gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \ --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"מידע נוסף מופיע במאמר בנושא הגדרה וניהול של מדיניות IAM בדליים.
כדי ליצור הטמעות מולטימודאליות, בוחרים באחת מהסכימות הבאות.
יצירת הטמעות מולטי-מודאליות
כדי ליצור הטמעות טקסט לנקודת קצה של מודל multimodalembedding@001, מריצים את ההצהרה הבאה:
SELECT
ai.text_embedding(
model_id => 'multimodalembedding@001',
content => 'TEXT');
מחליפים את TEXT בטקסט שרוצים ליצור לו הטמעה.
כדי ליצור הטמעות של תמונות עבור נקודת קצה של מודל multimodalembedding@001 רשום שסוג ה-MIME של התמונה הוא ברירת המחדל image/jpeg, מריצים את ההצהרה הבאה:
SELECT
ai.image_embedding(
model_id => 'multimodalembedding@001',
image => 'IMAGE_PATH_OR_TEXT',
mimetype => MIMETYPE');
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_PATH_OR_TEXTעם ה-URI של התמונה ב-Cloud Storage, לדוגמה,gs://my-bucket/embeddings/flowers.jpeg, או מחרוזת base64 של התמונה. -
MIMETYPEעם סוג ה-MIME של התמונה, לדוגמה,image/jpeg. רשימה מלאה של סוגי ה-MIME הנתמכים מופיעה במאמר בנושא Multimodal embeddings API.
כדי ליצור הטמעות של סרטונים לנקודת קצה של מודל multimodalembedding@001 רשום, מריצים את ההצהרה הבאה:
SELECT
ai.video_embedding(
model_id => 'multimodalembedding@001',
video => 'VIDEO_URI');
מחליפים את VIDEO_URI ב-URI של Cloud Storage של סרטון היעד, לדוגמה, gs://my-bucket/embeddings/supermarket-video.mp4, או במחרוזת base64 של הסרטון.
מדובר במערכים דו-ממדיים שאפשר לגשת אליהם באמצעות תחביר כמו my_array[0][5].
מידע נוסף מופיע במאמר בנושא מערכים.