יצירת הטמעות מולטי-מודאליות

אתם יכולים ליצור הטמעות מולטי-מודאליות ב-AlloyDB ל-PostgreSQL באמצעות המודל המולטי-מודאלי של פלטפורמת הסוכנים Gemini Enterprise, ‏ multimodalembedding@001.

אתם יכולים להשתמש במודלים להטמעה מרובת-אופנים של Agent Platform שמוזכרים במודלים נתמכים.

ההנחה במאמר הזה היא שאתם מכירים את AlloyDB ל-PostgreSQL ואת המושגים שקשורים ל-AI גנרטיבי. מידע נוסף זמין במאמר מהם הטמעות.

לפני שמתחילים

לפני שמשתמשים בהטמעות מולטימודאליות, צריך:

שילוב עם פלטפורמת הסוכנים והתקנת התוסף

  1. הגדרת גישת משתמשים למודלים של Agent Platform.
  2. מוודאים שמותקנת הגרסה העדכנית של google_ml_integration.
    1. כדי לבדוק את הגרסה המותקנת, מריצים את הפקודה הבאה:

      SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';
      extversion 
      ------------
      1.5.2
      (1 row)
    2. אם התוסף לא מותקן או אם הגרסה המותקנת קודמת לגרסה 1.5.2, צריך לעדכן את התוסף.

      CREATE EXTENSION IF NOT EXISTS google_ml_integration;
      ALTER EXTENSION google_ml_integration UPDATE;

      אם נתקלתם בבעיות כשניסיתם להריץ את הפקודות שלמעלה, או אם התוסף לא עודכן לגרסה 1.5.2 אחרי שהרצתם את הפקודות שלמעלה, פנו אל Google Cloud התמיכה.

  3. כדי להשתמש בפונקציונליות של מנוע השאילתות של AlloyDB AI, צריך להגדיר את הדגל google_ml_integration.enable_ai_query_engine לערך on.

    SQL

    1. מפעילים את מנוע השאילתות מבוסס ה-AI בסשן הנוכחי.
      SET google_ml_integration.enable_ai_query_engine = on;
    2. הפעלה של תכונות למסד נתונים ספציפי בסשנים שונים.
      ALTER DATABASE DATABASE_NAME SET google_ml_integration.enable_ai_query_engine = 'on';
    3. הפעלת מנוע השאילתות מבוסס ה-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

גישה לנתונים ב-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]. מידע נוסף מופיע במאמר בנושא מערכים.

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