התקנה של AlloyDB Omni עם AlloyDB AI

בחירת גרסת תיעוד:

בדף הזה מוסבר איך להתקין את AlloyDB Omni ולשלב את AlloyDB AI.

AlloyDB AI הוא חבילת תכונות שכלולה ב-AlloyDB Omni ומאפשרת לכם ליצור אפליקציות AI גנרטיביות לארגונים. למידע נוסף על פונקציונליות ה-AI/ML של AlloyDB, אפשר לעיין במאמר בנושא יצירת אפליקציות AI גנרטיביות.

‫AlloyDB Omni עם AlloyDB AI מאפשר לכם לשלוח שאילתות למודלים מרוחקים של למידת מכונה באמצעות התוסף google_ml_integration כדי לעבוד עם תחזיות אונליין והטמעות של טקסט שנוצרו ממודלים של למידת מכונה. ‫AlloyDB Omni עם AlloyDB AI יכול גם לעבד הטמעות וקטוריות מתוכן אחר, כמו תמונה, למשל, אם משתמשים בממשק google_ml.predict_row ומבצעים את התרגום בעצמכם בשאילתה.

הגדרה של Google Cloud לשאילתות של מודלים מרוחקים

אם רוצים לשלוח שאילתות למודלים של Vertex AI, צריך להגדיר חשבון שירות של AlloyDB Omni עם Vertex AI לפני שמתקינים את AlloyDB Omni.

כדי להגדיר חשבון שירות לשליחת שאילתות למודלים מרוחקים, פועלים לפי השלבים הבאים:

  1. יצירה של חשבון שירות עם Google Cloud. בשלב מאוחר יותר תעניקו לחשבון השירות הזה הרשאות גישה ל-Vertex AI.

  2. יוצרים מפתח של חשבון שירות, שומרים אותו בפורמט JSON בקובץ private-key.json ומורידים אותו.

  3. מעתיקים את מפתח חשבון השירות שיצרתם אל KEY_PATH. נתיב המפתח צריך להיות נתיב במארח שלכם שאפשר לגשת אליו, והוא בבעלות המשתמש שיריץ את AlloyDB Omni.

  4. מפעילים את Vertex AI API ב Google Cloud פרויקט.

    gcloud services enable aiplatform.googleapis.com
    
  5. מוסיפים הרשאות ניהול זהויות והרשאות גישה (IAM) ב-Vertex AI לפרויקט ולחשבון השירות המתאימים.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_ID" \
        --role="roles/aiplatform.user"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .

    • SERVICE_ACCOUNT_ID: המזהה של חשבון השירות שיצרתם בשלב הראשון. האיסור הזה כולל את הסיומת המלאה @PROJECT_ID.iam.gserviceaccount.com. לדוגמה: my-service@my-project.iam.gserviceaccount.com.

  1. מתקינים את חבילת ה-RPM של AlloyDB Omni.

הגדרת AlloyDB AI ל-AlloyDB Omni

אחרי שמתקינים את חבילת ה-RPM של AlloyDB Omni, מבצעים את השלבים הבאים כדי לשלב את AlloyDB AI:

  1. צריך להשלים את כל השלבים שמפורטים במאמר בנושא הגדרה של שאילתות למודלים מרוחקים Google Cloud .

  2. מעבירים את המפתח של חשבון השירות לספריית הנתונים של AlloyDB Omni.

    sudo mv KEY_PATH DATA_DIR/private-key.json

    מחליפים את המשתנים הבאים:

    • KEY_PATH: הנתיב לקובץ המפתח של חשבון השירות.
    • DATA_DIR: נתיב ספריית המארח שבה הנתונים מאוחסנים.
  3. מגדירים את הבעלים של המפתח של חשבון השירות ל-postgres ואת ההרשאות שלו ל-600.

    sudo chown postgres:postgres DATA_DIR/private-key.json
    sudo chmod 600 DATA_DIR/private-key.json
  4. מעדכנים את ההגדרות של AlloyDB Omni על ידי הוספת האפשרויות הבאות לקובץ postgresql.conf:

    sudo tee -a DATA_DIR/postgresql.conf << EOF
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = 'DATA_DIR/private-key.json'
    EOF
  5. מפעילים מחדש את שירות AlloyDB Omni.

    sudo systemctl restart alloydbomni18

התחברות באמצעות psql

כדי להתחבר למסד הנתונים של AlloyDB Omni, מריצים את הפקודה הבאה:

sudo -u postgres /usr/lib/postgresql/18/bin/psql -U postgres

אימות של AlloyDB Omni באמצעות התקנה של AlloyDB AI

כדי לוודא שההתקנה בוצעה בהצלחה ושהיא משתמשת בחיזוי מודל, מזינים את הפקודה הבאה:

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;

SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);

הפלט אמור להיראות כך:

array_dims
------------
[1:768]
(1 row)

בשילוב עם השאילתה הקודמת, הקריאה embedding() יוצרת הטמעות לטקסט הקלט AlloyDB AI. ‫array_dims מחזירה את המימדים של המערך שמוחזר על ידי embedding(). מכיוון שהמודל text-embedding-005 מחזיר פלט עם 768 מימדים, הפלט הוא [768].

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