יצירת הטמעות טקסט באמצעות מודל פתוח והפונקציה 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 Administrator (roles/aiplatform.admin).

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

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

  • יצירת מערך נתונים: 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 או יוצרים אותו.

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

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

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

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

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

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

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

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

יצירת מערך נתונים

יוצרים מערך נתונים ב-BigQuery לאחסון מודל ה-ML.

המסוף

  1. במסוף Google Cloud , עוברים לדף BigQuery.

    לדף BigQuery

  2. בחלונית Explorer, לוחצים על שם הפרויקט.

  3. לוחצים על הצגת פעולות > יצירת מערך נתונים.

  4. בדף Create dataset, מבצעים את הפעולות הבאות:

    • בשדה Dataset ID (מזהה מערך הנתונים), מזינים bqml_tutorial.

    • בקטע Location type, בוחרים באפשרות Multi-region ואז בוחרים באפשרות US.

    • משאירים את הגדרות ברירת המחדל שנותרו כמו שהן ולוחצים על 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. במסוף Google Cloud , עוברים לדף BigQuery.

    כניסה ל-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. במסוף Google Cloud , עוברים לדף BigQuery.

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

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