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 לשליחת שאילתות למודלים מרוחקים
אם אתם רוצים לשלוח שאילתות למודלי AI של Vertex AI, אתם צריכים להגדיר חשבון שירות של AlloyDB Omni עם Vertex AI לפני שאתם מתקינים את AlloyDB Omni.
כדי להגדיר חשבון שירות לשליחת שאילתות למודלים מרוחקים, פועלים לפי השלבים הבאים:
יצירה של חשבון שירות עם Google Cloud. בשלב מאוחר יותר תעניקו לחשבון השירות הזה הרשאות גישה ל-Vertex AI.
יוצרים מפתח לחשבון שירות, שומרים אותו בפורמט JSON בקובץ
private-key.jsonומורידים אותו.מעתיקים את מפתח חשבון השירות שיצרתם אל KEY_PATH. נתיב המפתח צריך להיות נתיב במארח שאליו יש גישה למשתמש שיריץ את AlloyDB Omni, והוא הבעלים שלו.
מפעילים את Vertex AI API בפרויקט ב- Google Cloud .
gcloud services enable aiplatform.googleapis.com
מוסיפים הרשאות של Vertex AI לניהול זהויות והרשאות גישה (IAM) לפרויקט ולחשבון השירות המתאימים.
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.
- מתקינים את חבילת ה-RPM של AlloyDB Omni.
הגדרת AlloyDB AI ל-AlloyDB Omni
אחרי שמתקינים את חבילת ה-RPM של AlloyDB Omni, פועלים לפי השלבים הבאים כדי לשלב את AlloyDB AI:
מבצעים את כל השלבים שמפורטים בקטע הגדרה Google Cloud לשליחת שאילתות למודלים מרוחקים.
מעבירים את המפתח של חשבון השירות לספריית הנתונים של AlloyDB Omni.
sudo mv KEY_PATH DATA_DIR/private-key.jsonמחליפים את המשתנים הבאים:
-
KEY_PATH: הנתיב לקובץ המפתח של חשבון השירות. -
DATA_DIR: הנתיב לספריית המארח שבה הנתונים מאוחסנים.
-
מגדירים את הבעלים של מפתח חשבון השירות ל-
postgresואת ההרשאות שלו ל-600.sudo chown postgres:postgres DATA_DIR/private-key.json sudo chmod 600 DATA_DIR/private-key.jsonמעדכנים את ההגדרות של 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מפעילים מחדש את שירות 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].