יצירת הטמעות טקסט באמצעות מודל פתוח והפונקציה AI.GENERATE_EMBEDDING

במדריך הזה נסביר איך ליצור מודל מרוחק שמבוסס על מודל הטמעת הטקסט בקוד פתוח Qwen3-Embedding-0.6B, ואיך להשתמש במודל הזה עם הפונקציה AI.GENERATE_EMBEDDING כדי להטמיע ביקורות על סרטים מהטבלה שזמינה לכולם bigquery-public-data.imdb.reviews.

ההרשאות הנדרשות

כדי להריץ את המדריך הזה, אתם צריכים את התפקידים הבאים בניהול הזהויות והרשאות הגישה (IAM):

  • יצירה ושימוש במערכי נתונים, בחיבורים ובמודלים של BigQuery: אדמין ב-BigQuery‏ (roles/bigquery.admin).
  • נותנים הרשאות לחשבון השירות של החיבור: אדמין IAM של פרויקט (roles/resourcemanager.projectIamAdmin).
  • פריסה וביטול פריסה של מודלים ב-Gemini Enterprise Agent Platform: אדמין של Agent Platform (roles/aiplatform.admin).

התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי לבצע את המשימות שמפורטות במאמר הזה. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:

ההרשאות הנדרשות

  • יוצרים מערך נתונים: bigquery.datasets.create
  • יצירה, הקצאה ושימוש בחיבור: bigquery.connections.*
  • מגדירים את חיבור ברירת המחדל: bigquery.config.*
  • מגדירים את ההרשאות של חשבון השירות: resourcemanager.projects.getIamPolicy וגם resourcemanager.projects.setIamPolicy
  • פריסה וביטול פריסה של מודל ב-Agent Platform:
    • aiplatform.endpoints.deploy
    • aiplatform.endpoints.undeploy
  • יוצרים מודל ומריצים הסקה:
    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata

יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

  • BigQuery ML: You incur costs for the data that you process in BigQuery.
  • Gemini Enterprise Agent Platform: You incur costs for calls to the Agent Platform model that's represented by the remote model.

בעזרת מחשבון העלויות אתם יכולים להעריך את העלויות בהתאם לשימוש הצפוי.

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

למידע נוסף על התמחור של BigQuery, קראו את המאמר התמחור של BigQuery במרכז העזרה של BigQuery.

מודלים פתוחים שאתם פורסים ב-Agent Platform מחויבים לפי שעת מכונה. כלומר, החיוב מתחיל ברגע שהגדרת נקודת הקצה מסתיימת, ונמשך עד שמבטלים את הפריסה שלה. למידע נוסף על התמחור של Agent Platform, קראו את המאמר התמחור של Agent Platform.

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

  1. בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.

    התפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד "יצירת פרויקטים" (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים?

    כניסה לדף לבחירת הפרויקט

  2. מוודאים שהחיוב מופעל בפרויקט ב- Google Cloud .

  3. מפעילים את ממשקי ה-API הבאים, אם הם עדיין לא מופעלים: BigQuery,‏ BigQuery Connection ו-Agent Platform API.

    התפקידים שנדרשים כדי להפעיל ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, אתם יכולים לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים?

    הפעלת ממשקי ה-API

יצירת קבוצת נתונים

כדי ליצור מערך נתונים ב-BigQuery, בוחרים אחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. בחלונית הימנית, לוחצים על Explorer:

    כפתור מודגש לחלונית Explorer.

    אם החלונית הימנית לא מוצגת, לוחצים על Expand left pane כדי לפתוח אותה.

  3. ב-Explorer, מרחיבים את הפרויקט ולוחצים על Datasets.

  4. בדף Datasets, לוחצים על Create dataset.

  5. בחלונית Create dataset:

    • בשדה Dataset ID, מזינים bqml_tutorial.

    • בקטע Data location (מיקום הנתונים), בוחרים באפשרות US (ארה"ב).

    משאירים את שאר הגדרות ברירת המחדל כמו שהן.

  6. לוחצים על Create dataset.

BQ

כדי ליצור קבוצת נתונים חדשה, משתמשים בפקודה bq mk --dataset.

  1. יוצרים מערך נתונים בשם bqml_tutorial ומגדירים את מיקום הנתונים ל-US:

    bq mk --dataset \
      --location=US \
      --description "BigQuery ML tutorial dataset." \
      bqml_tutorial
  2. מוודאים שמערך הנתונים נוצר:

    bq ls

API

מפעילים את השיטה datasets.insert עם משאב של מערך נתונים מוגדר:

{
  "datasetReference": {
     "datasetId": "bqml_tutorial"
  }
}

יצירת המודל המרוחק

יוצרים מודל מרוחק שמייצג מודל של Agent Platform באירוח:

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. בעורך השאילתות, מריצים את ההצהרה הבאה:

CREATE OR REPLACE MODEL `bqml_tutorial.qwen3_embedding_model`
  REMOTE WITH CONNECTION DEFAULT
  OPTIONS (
    HUGGING_FACE_MODEL_ID = 'Qwen/Qwen3-Embedding-0.6B'
);

השאילתה מסתיימת תוך 20 דקות, ואז המודל qwen3_embedding_model מופיע במערך הנתונים bqml_tutorial בחלונית Explorer. בגלל שהשאילתה משתמשת בהצהרת CREATE MODEL כדי ליצור מודל, אין תוצאות לשאילתה.

הטמעת טקסט

מבצעים הטמעת טקסט בביקורות על סרטים ב-IMDB באמצעות המודל המרוחק והפונקציה AI.GENERATE_EMBEDDING:

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. בעורך השאילתות, מזינים את ההצהרה הבאה כדי לבצע הטמעת טקסט בחמש ביקורות על סרטים:

    SELECT
      *
    FROM
      AI.GENERATE_EMBEDDING(
        MODEL `bqml_tutorial.qwen3_embedding_model`,
        (
          SELECT
            review AS content,
            *
          FROM
            `bigquery-public-data.imdb.reviews`
          LIMIT 5
        )
      );

    התוצאות כוללות את העמודות הבאות:

    • ‫embedding: מערך של ערכים מסוג double שמייצג את ההטמעות שנוצרו.
    • ‫status: סטטוס התגובה מה-API בשורה המתאימה. אם הפעולה הצליחה, הערך הזה ריק.
    • ‫content: טקסט הקלט שממנו רוצים לחלץ את ההטמעות.
    • כל העמודות מהטבלה bigquery-public-data.imdb.reviews.

ביטול הפריסה של המודל

אם אתם בוחרים לא למחוק את הפרויקט כמו שמומלץ, אתם צריכים לבטל את הפריסה של מודל ההטמעה Qwen3 ב-Agent Platform כדי להימנע מהמשך החיוב עליו. ‫BigQuery מבטל באופן אוטומטי את פריסת המודל אחרי תקופה מסוימת של חוסר פעילות (6.5 שעות כברירת מחדל). לחלופין, אתם יכולים לבטל את הפריסה של המודל באופן מיידי באמצעות ההצהרה ALTER MODEL, כמו בדוגמה הבאה:

ALTER MODEL `bqml_tutorial.qwen3_embedding_model`
SET OPTIONS (deploy_model = false);

מידע נוסף מופיע במאמר ביטול פריסה אוטומטי או מיידי של מודלים פתוחים.

הסרת המשאבים

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

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