יצירת טקסט באמצעות הפונקציה AI.GENERATE_TEXT

במאמר הזה מוסבר איך ליצור מודל מרוחק ב-BigQuery ML שמייצג מודל של Gemini Enterprise Agent Platform, ואז להשתמש במודל המרוחק הזה עם הפונקציה AI.GENERATE_TEXT כדי ליצור טקסט.

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

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

התפקידים הנדרשים

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

  • יצירה ושימוש במערכי נתונים, בטבלאות ובמודלים של BigQuery: BigQuery Data Editor (roles/bigquery.dataEditor) בפרויקט.
  • יצירה, הקצאה ושימוש בחיבורים ל-BigQuery: BigQuery Connections Admin (roles/bigquery.connectionsAdmin) בפרויקט.

    אם לא הגדרתם חיבור ברירת מחדל, תוכלו ליצור חיבור ולהגדיר אותו כחלק מהרצת ההצהרה CREATE MODEL. כדי לעשות זאת, צריך להיות לכם תפקיד BigQuery Admin ‏(roles/bigquery.admin) בפרויקט. מידע נוסף מופיע במאמר בנושא הגדרת חיבור ברירת המחדל.

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

    אם אתם משתמשים במודל מרוחק כדי לנתח נתונים לא מובנים מטבלת אובייקטים, וקטגוריה של Cloud Storage שבה אתם משתמשים בטבלת האובייקטים נמצאת בפרויקט אחר מנקודת הקצה של Agent Platform, אתם צריכים גם הרשאת Storage Admin ‏ (roles/storage.admin) בקטגוריה של Cloud Storage שבה נעשה שימוש בטבלת האובייקטים.

  • יצירת משימות BigQuery: BigQuery Job User (roles/bigquery.jobUser) בפרויקט.

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

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

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

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

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

  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 שיכיל את המשאבים:

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

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

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

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

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

      • אם בחרתם באפשרות אזור, בוחרים מיקום מהרשימה אזור.
      • אם בחרתם באפשרות Multi-region, בוחרים באפשרות US או Europe מהרשימה Multi-region.
    3. לוחצים על יצירת מערך נתונים.

BQ

  1. כדי ליצור מערך נתונים חדש, משתמשים בפקודה bq mk עם הדגל --location:

    bq --location=LOCATION mk -d DATASET_ID

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

    • LOCATION: המיקום של מערך הנתונים.
    • DATASET_ID הוא המזהה של מערך הנתונים שאתם יוצרים.
  2. בודקים שמערך הנתונים נוצר:

    bq ls

יצירת חיבור

יוצרים קישור למשאבים ב-Cloud כדי שהמודל המרוחק יוכל להשתמש בו, ומקבלים את חשבון השירות של הקישור. יוצרים את החיבור באותו מיקום של קבוצת הנתונים שיצרתם בשלב הקודם.

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

בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. עוברים לדף BigQuery.

    כניסה ל-BigQuery

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

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

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

  3. בחלונית Explorer מרחיבים את שם הפרויקט ואז לוחצים על Connections.

  4. בדף Connections (חיבורים), לוחצים על Create connection (יצירת חיבור).

  5. בשדה Connection type (סוג החיבור), בוחרים באפשרות Vertex AI remote models, remote functions, BigLake and Spanner (Cloud Resource) (מודלים מרוחקים של Vertex AI, פונקציות מרוחקות, BigLake ו-Spanner (משאב בענן)).

  6. בשדה מזהה החיבור, מזינים שם לחיבור.

  7. בקטע Location type, בוחרים מיקום לחיבור. החיבור צריך להיות ממוקם באותו מקום עם משאבים אחרים, כמו מערכי נתונים.

  8. לוחצים על יצירת קישור.

  9. לוחצים על מעבר לחיבור.

  10. בחלונית Connection info (פרטי התחברות), מעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר.

SQL

משתמשים בהצהרה CREATE CONNECTION:

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

    כניסה ל-BigQuery

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

    CREATE CONNECTION [IF NOT EXISTS] `CONNECTION_NAME`
    OPTIONS (
      connection_type = "CLOUD_RESOURCE",
      friendly_name = "FRIENDLY_NAME",
      description = "DESCRIPTION"
      );

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

    • CONNECTION_NAME: השם של החיבור בפורמט PROJECT_ID.LOCATION.CONNECTION_ID,‏ LOCATION.CONNECTION_ID או CONNECTION_ID. אם לא מציינים את הפרויקט או המיקום, המערכת מסיקה אותם מהפרויקט והמיקום שבהם מופעלת ההצהרה.
    • FRIENDLY_NAME (אופציונלי): שם תיאורי לחיבור.
    • DESCRIPTION (אופציונלי): תיאור של הקישור.

  3. לוחצים על הפעלה.

מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.

BQ

  1. בסביבת שורת פקודה, יוצרים חיבור:

    bq mk --connection --location=REGION --project_id=PROJECT_ID \
        --connection_type=CLOUD_RESOURCE CONNECTION_ID

    הפרמטר --project_id מבטל את פרויקט ברירת המחדל.

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

    • REGION: אזור החיבור
    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
    • CONNECTION_ID: מזהה לחיבור

    כשיוצרים משאב חיבור, מערכת BigQuery יוצרת חשבון שירות ייחודי ומקשרת אותו לחיבור.

    פתרון בעיות: אם מופיעה שגיאת החיבור הבאה, צריך לעדכן את Google Cloud SDK:

    Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
    
  2. מאחזרים ומעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר:

    bq show --connection PROJECT_ID.REGION.CONNECTION_ID

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

    name                          properties
    1234.REGION.CONNECTION_ID     {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
    

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

import google.api_core.exceptions
from google.cloud import bigquery_connection_v1

client = bigquery_connection_v1.ConnectionServiceClient()


def create_connection(
    project_id: str,
    location: str,
    connection_id: str,
):
    """Creates a BigQuery connection to a Cloud Resource.

    Cloud Resource connection creates a service account which can then be
    granted access to other Google Cloud resources for federated queries.

    Args:
        project_id: The Google Cloud project ID.
        location: The location of the connection (for example, "us-central1").
        connection_id: The ID of the connection to create.
    """

    parent = client.common_location_path(project_id, location)

    connection = bigquery_connection_v1.Connection(
        friendly_name="Example Connection",
        description="A sample connection for a Cloud Resource.",
        cloud_resource=bigquery_connection_v1.CloudResourceProperties(),
    )

    try:
        created_connection = client.create_connection(
            parent=parent, connection_id=connection_id, connection=connection
        )
        print(f"Successfully created connection: {created_connection.name}")
        print(f"Friendly name: {created_connection.friendly_name}")
        print(
            f"Service Account: {created_connection.cloud_resource.service_account_id}"
        )

    except google.api_core.exceptions.AlreadyExists:
        print(f"Connection with ID '{connection_id}' already exists.")
        print("Please use a different connection ID.")
    except Exception as e:
        print(f"An unexpected error occurred while creating the connection: {e}")

Node.js

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

const {ConnectionServiceClient} =
  require('@google-cloud/bigquery-connection').v1;
const {status} = require('@grpc/grpc-js');

const client = new ConnectionServiceClient();

/**
 * Creates a new BigQuery connection to a Cloud Resource.
 *
 * A Cloud Resource connection creates a service account that can be granted access
 * to other Google Cloud resources.
 *
 * @param {string} projectId The Google Cloud project ID. for example, 'example-project-id'
 * @param {string} location The location of the project to create the connection in. for example, 'us-central1'
 * @param {string} connectionId The ID of the connection to create. for example, 'example-connection-id'
 */
async function createConnection(projectId, location, connectionId) {
  const parent = client.locationPath(projectId, location);

  const connection = {
    friendlyName: 'Example Connection',
    description: 'A sample connection for a Cloud Resource',
    // The service account for this cloudResource will be created by the API.
    // Its ID will be available in the response.
    cloudResource: {},
  };

  const request = {
    parent,
    connectionId,
    connection,
  };

  try {
    const [response] = await client.createConnection(request);

    console.log(`Successfully created connection: ${response.name}`);
    console.log(`Friendly name: ${response.friendlyName}`);

    console.log(`Service Account: ${response.cloudResource.serviceAccountId}`);
  } catch (err) {
    if (err.code === status.ALREADY_EXISTS) {
      console.log(`Connection '${connectionId}' already exists.`);
    } else {
      console.error(`Error creating connection: ${err.message}`);
    }
  }
}

Terraform

משתמשים במשאב google_bigquery_connection.

כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.

בדוגמה הבאה נוצר קישור למשאבים ב-Cloud בשם my_cloud_resource_connection באזור US:


# This queries the provider for project information.
data "google_project" "default" {}

# This creates a cloud resource connection in the US region named my_cloud_resource_connection.
# Note: The cloud resource nested object has only one output field - serviceAccountId.
resource "google_bigquery_connection" "default" {
  connection_id = "my_cloud_resource_connection"
  project       = data.google_project.default.project_id
  location      = "US"
  cloud_resource {}
}

כדי להחיל את הגדרות Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.

הכנת Cloud Shell

  1. מפעילים את Cloud Shell.
  2. מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud

    תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

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

הכנת הספרייה

לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).

  1. יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת .tf, למשל main.tf. במדריך הזה, הקובץ נקרא main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.

    מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.

    לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.

  3. בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
  4. שומרים את השינויים.
  5. מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
    terraform init

    אופציונלי: תוכלו לכלול את האפשרות -upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:

    terraform init -upgrade

החלה של השינויים

  1. בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
    terraform plan

    מתקנים את ההגדרות לפי הצורך.

  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform:
    terraform apply

    ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!‎".

  3. פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.

הקצאת תפקיד לחשבון השירות של חיבור המודל המרוחק

צריך להקצות את התפקיד Agent Platform User לחשבון השירות של החיבור שבו משתמש המודל המרוחק.

אם אתם מתכננים לציין את נקודת הקצה של המודל המרוחק ככתובת URL, לדוגמה endpoint = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/publishers/google/models/gemini-2.0-flash', צריך להקצות את התפקיד הזה באותו פרויקט שציינתם בכתובת ה-URL.

אם אתם מתכננים לציין את נקודת הקצה של המודל המרוחק באמצעות שם המודל, למשל endpoint = 'gemini-2.0-flash', צריך להקצות את התפקיד הזה באותו פרויקט שבו אתם מתכננים ליצור את המודל המרוחק.

הקצאת התפקיד בפרויקט אחר תוביל לשגיאה bqcx-1234567890-wxyz@gcp-sa-bigquery-condel.iam.gserviceaccount.com does not have the permission to access resource.

כדי להעניק את התפקיד 'משתמש בפלטפורמת הסוכנים':

המסוף

  1. עוברים לדף IAM & Admin.

    כניסה לדף IAM & Admin

  2. לוחצים על הוספה.

    תיבת הדו-שיח Add principals נפתחת.

  3. בשדה New principals, מזינים את מזהה חשבון השירות שהעתקתם קודם.

  4. בשדה Select a role, בוחרים באפשרות Vertex AI ואז באפשרות Agent Platform User.

  5. לוחצים על Save.

gcloud

משתמשים בפקודה gcloud projects add-iam-policy-binding.

gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/aiplatform.user' --condition=None

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

  • PROJECT_NUMBER: מספר הפרויקט
  • MEMBER: המזהה של חשבון השירות שהעתקתם קודם

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

אם אתם משתמשים במודל מרוחק כדי ליצור טקסט מנתונים של טבלת אובייקטים, אתם צריכים להעניק לחשבון השירות של החיבור לטבלת האובייקטים את התפקיד Agent Platform User (משתמש בפלטפורמת סוכנים) באותו פרויקט שבו אתם מתכננים ליצור את המודל המרוחק. אם לא, אפשר לדלג על השלב הזה.

כדי למצוא את חשבון השירות של חיבור טבלת האובייקטים:

  1. עוברים לדף BigQuery.

    כניסה ל-BigQuery

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

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

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

  3. בחלונית Explorer, לוחצים על Datasets (מערכי נתונים) ואז בוחרים מערך נתונים שמכיל את טבלת האובייקטים.

  4. לוחצים על סקירה כללית > טבלאות ובוחרים את טבלת האובייקטים.

  5. בחלונית העריכה, לוחצים על הכרטיסייה פרטים.

  6. רושמים את שם החיבור בשדה מזהה החיבור.

  7. בחלונית Explorer (סייר), לוחצים על Connections (חיבורים).

  8. בוחרים את החיבור שתואם לחיבור שמופיע בשדה מזהה החיבור בטבלת האובייקטים.

  9. מעתיקים את הערך בשדה מזהה חשבון שירות.

כדי להקצות את התפקיד:

המסוף

  1. עוברים לדף IAM & Admin.

    כניסה לדף IAM & Admin

  2. לוחצים על הוספה.

    תיבת הדו-שיח Add principals נפתחת.

  3. בשדה New principals, מזינים את מזהה חשבון השירות שהעתקתם קודם.

  4. בשדה Select a role, בוחרים באפשרות Vertex AI ואז באפשרות Agent Platform User.

  5. לוחצים על Save.

gcloud

משתמשים בפקודה gcloud projects add-iam-policy-binding.

gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/aiplatform.user' --condition=None

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

  • PROJECT_NUMBER: מספר הפרויקט
  • MEMBER: המזהה של חשבון השירות שהעתקתם קודם

הפעלת מודל של שותף

השלב הזה נדרש רק אם רוצים להשתמש במודלים של Anthropic Claude,‏ Llama או Mistral AI.

  1. נכנסים לדף Model Garden של Agent Platform במסוף Google Cloud .

    כניסה ל-Model Garden

  2. מחפשים את מודל השותף שרוצים להשתמש בו.

  3. לוחצים על כרטיס המודל.

  4. בדף המודל, לוחצים על הפעלה.

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

  6. בקטע תנאים והגבלות, מסמנים את תיבת הסימון.

  7. לוחצים על Agree (אישור) כדי לאשר את התנאים וההגבלות ולהפעיל את המודל.

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

אם אתם יוצרים מודל מרוחק על בסיס מודל קוד פתוח נתמך, אתם יכולים לפרוס אוטומטית את מודל הקוד הפתוח בו-זמנית עם יצירת המודל המרוחק, על ידי ציון מזהה המודל של Agent Platform Model Garden או Hugging Face בהצהרת CREATE MODEL. לחלופין, אפשר קודם לפרוס את המודל הפתוח באופן ידני, ואז להשתמש במודל הפתוח עם המודל המרוחק על ידי הגדרת נקודת הקצה של המודל בהצהרת CREATE MODEL. מידע נוסף זמין במאמר בנושא פריסת מודלים פתוחים.

יצירת מודל מרוחק של BigQuery ML

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

מודלים של Agent Platform

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

    כניסה ל-BigQuery

  2. באמצעות עורך ה-SQL, יוצרים מודל מרוחק:

    CREATE OR REPLACE MODEL
    `PROJECT_ID.DATASET_ID.MODEL_NAME`
    REMOTE WITH CONNECTION {DEFAULT | `PROJECT_ID.REGION.CONNECTION_ID`}
    OPTIONS (ENDPOINT = 'ENDPOINT');

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

    • PROJECT_ID: מזהה הפרויקט.
    • DATASET_ID: המזהה של מערך הנתונים שאמור להכיל את המודל. מערך הנתונים הזה צריך להיות באותו מיקום כמו החיבור שבו אתם משתמשים.
    • MODEL_NAME: שם המודל.
    • REGION: האזור שבו נעשה שימוש בחיבור.
    • CONNECTION_ID: המזהה של החיבור ל-BigQuery.

      אפשר לקבל את הערך הזה על ידי צפייה בפרטי החיבור במסוף Google Cloud והעתקת הערך בקטע האחרון של מזהה החיבור המלא שמוצג במזהה החיבור. לדוגמה, projects/myproject/locations/connection_location/connections/myconnection.

    • ENDPOINT: נקודת הקצה של מודל Agent Platform שרוצים להשתמש בו.

      למודלים שעברו אימון מראש ב-Agent Platform, למודלים של Claude ולמודלים של Mistral AI, צריך לציין את שם המודל. בחלק מהמודלים האלה, אפשר לציין גרסה מסוימת של המודל כחלק מהשם. כדי לשפר את הזמינות של מודלים נתמכים של Gemini, אפשר לציין את נקודת הקצה הגלובלית.

      עבור מודלים של Llama, מציינים נקודת קצה (endpoint) של OpenAI API בפורמט openapi/<publisher_name>/<model_name>. לדוגמה, openapi/meta/llama-3.1-405b-instruct-maas.

      למידע על שמות וגרסאות של מודלים נתמכים, אפשר לעיין במאמר ENDPOINT.

      המודל של Agent Platform שאתם מציינים צריך להיות זמין במיקום שבו אתם יוצרים את המודל המרוחק. מידע נוסף זמין במאמר מיקומים.

מודלים פתוחים חדשים

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

    כניסה ל-BigQuery

  2. באמצעות עורך ה-SQL, יוצרים מודל מרוחק:

    CREATE OR REPLACE MODEL
    `PROJECT_ID.DATASET_ID.MODEL_NAME`
    REMOTE WITH CONNECTION {DEFAULT | `PROJECT_ID.REGION.CONNECTION_ID`}
    OPTIONS (
      {HUGGING_FACE_MODEL_ID = 'HUGGING_FACE_MODEL_ID' |
         MODEL_GARDEN_MODEL_NAME = 'MODEL_GARDEN_MODEL_NAME'}
      [, HUGGING_FACE_TOKEN = 'HUGGING_FACE_TOKEN' ]
      [, MACHINE_TYPE = 'MACHINE_TYPE' ]
      [, MIN_REPLICA_COUNT = MIN_REPLICA_COUNT ]
      [, MAX_REPLICA_COUNT = MAX_REPLICA_COUNT ]
      [, RESERVATION_AFFINITY_TYPE = {'NO_RESERVATION' | 'ANY_RESERVATION' | 'SPECIFIC_RESERVATION'} ]
      [, RESERVATION_AFFINITY_KEY = 'compute.googleapis.com/reservation-name' ]
      [, RESERVATION_AFFINITY_VALUES = RESERVATION_AFFINITY_VALUES ]
      [, ENDPOINT_IDLE_TTL = ENDPOINT_IDLE_TTL ]
    );

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

    • PROJECT_ID: מזהה הפרויקט.
    • DATASET_ID: המזהה של מערך הנתונים שאמור להכיל את המודל. מערך הנתונים הזה צריך להיות באותו מיקום כמו החיבור שבו אתם משתמשים.
    • MODEL_NAME: שם המודל.
    • REGION: האזור שבו נעשה שימוש בחיבור.
    • CONNECTION_ID: המזהה של החיבור ל-BigQuery.

      אפשר לקבל את הערך הזה על ידי צפייה בפרטי החיבור במסוף Google Cloud והעתקת הערך בקטע האחרון של מזהה החיבור המלא שמוצג במזהה החיבור. לדוגמה, projects/myproject/locations/connection_location/connections/myconnection.

    • HUGGING_FACE_MODEL_ID: ערך STRING שמציין את מזהה המודל של מודל נתמך של Hugging Face, בפורמט provider_name/model_name. לדוגמה, deepseek-ai/DeepSeek-R1. כדי לקבל את מזהה המודל, לוחצים על שם המודל ב-Hugging Face Model Hub ומעתיקים את מזהה המודל מחלקו העליון של כרטיס המודל.
    • MODEL_GARDEN_MODEL_NAME: ערך STRING שמציין את מזהה המודל ואת גרסת המודל של מודל נתמך ב-Model Garden של Gemini Enterprise Agent Platform, בפורמט publishers/publisher/models/model_name@model_version. לדוגמה, publishers/openai/models/gpt-oss@gpt-oss-120b. כדי לקבל את מזהה המודל, לוחצים על כרטיס המודל ב-Model Garden של Agent Platform ואז מעתיקים את מזהה המודל מהשדה מזהה המודל. אפשר להעתיק את גרסת ברירת המחדל של המודל מהשדה Version בכרטיס המודל. כדי לראות גרסאות אחרות של המודל שבהן אפשר להשתמש, לוחצים על Deploy model ואז על השדה Resource ID.
    • HUGGING_FACE_TOKEN: ערך STRING שמציין את User Access Token של Hugging Face שבו רוצים להשתמש. אפשר לציין ערך לאפשרות הזו רק אם מציינים ערך גם לאפשרות HUGGING_FACE_MODEL_ID.

      ל-token צריך להיות התפקיד read לפחות, אבל אפשר להשתמש גם ב-tokens עם היקף רחב יותר. האפשרות הזו נדרשת אם המודל שמוגדר על ידי הערך HUGGING_FACE_MODEL_ID הוא מודל מוגבל או פרטי של Hugging Face.

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

      1. עוברים לדף של המודל באתר Hugging Face.
      2. מאתרים את התנאים וההגבלות של המודל וקוראים אותם. בדרך כלל אפשר למצוא קישור להסכם השירות בכרטיס המודל.
      3. מאשרים את התנאים בהתאם להנחיות בדף.
    • MACHINE_TYPE: ערך STRING שמציין את סוג המכונה שבה יש להשתמש כשפורסים את המודל ב-Agent Platform. מידע על סוגי מכונות נתמכים זמין במאמר סוגי מכונות. אם לא מציינים ערך לאפשרות MACHINE_TYPE, נעשה שימוש בסוג המכונה שמוגדר כברירת מחדל ב-Agent Platform Model Garden עבור המודל.
    • MIN_REPLICA_COUNT: ערך INT64 שמציין את מספר הרפליקות המינימלי של המכונה שמשמשים לפריסת המודל בנקודת קצה של Agent Platform. השירות מגדיל או מקטין את מספר העותקים בהתאם לעומס ההסקה בנקודת הקצה. מספר העותקים שנעשה בהם שימוש אף פעם לא נמוך מהערך MIN_REPLICA_COUNT ואף פעם לא גבוה מהערך MAX_REPLICA_COUNT. הערך של MIN_REPLICA_COUNT צריך להיות בטווח [1, 4096]. ערך ברירת המחדל הוא 1.
    • MAX_REPLICA_COUNT: ערך INT64 שמציין את המספר המקסימלי של רפליקות של מכונות שמשמשים לפריסת המודל בנקודת קצה של Agent Platform. השירות מגדיל או מקטין את מספר העותקים בהתאם לעומס ההסקה בנקודת הקצה. מספר העותקים שנעשה בהם שימוש אף פעם לא נמוך מהערך MIN_REPLICA_COUNT ואף פעם לא גבוה מהערך MAX_REPLICA_COUNT. הערך של MAX_REPLICA_COUNT צריך להיות בטווח [1, 4096]. ערך ברירת המחדל הוא הערך MIN_REPLICA_COUNT.
    • RESERVATION_AFFINITY_TYPE: קובע אם המודל שנפרס משתמש בהזמנות של Compute Engine כדי לספק זמינות מובטחת של מכונות וירטואליות (VM) כשמציגים תחזיות, ומציין אם המודל משתמש במכונות וירטואליות מכל ההזמנות הזמינות או רק מהזמנה ספציפית אחת. למידע נוסף, קראו את המאמר בנושא זיקה של הזמנות ב-Compute Engine.

      אפשר להשתמש רק בהזמנות של Compute Engine שמשותפות עם Agent Platform. מידע נוסף זמין במאמר בנושא אישור שימוש בהזמנה.

      אלה הערכים הנתמכים:

      • NO_RESERVATION: לא מתבצעת הקצאה כשפורסים את המודל בנקודת קצה של Agent Platform. ציון של NO_RESERVATION זהה לציון של אי-ציון של שיוך להזמנה.
      • ANY_RESERVATION: פריסת המודל של Agent Platform צורכת מכונות וירטואליות (VM) מהזמנות ב-Compute Engine שנמצאות בפרויקט הנוכחי או משותפות עם הפרויקט, ומוגדרות לצריכה אוטומטית. רק מכונות וירטואליות שעומדות בדרישות הבאות ישמשו:
        • הם משתמשים בסוג המכונה שצוין בערך MACHINE_TYPE.
        • אם מערך הנתונים ב-BigQuery שבו אתם יוצרים את המודל המרוחק נמצא באזור יחיד, ההזמנה צריכה להיות באותו אזור. אם מערך הנתונים נמצא באזור US, ההזמנה חייבת להיות באזור us-central1. אם מערך הנתונים נמצא במספר אזורים EU, ההזמנה חייבת להיות באזור europe-west4.

        אם אין מספיק קיבולת בהזמנות הזמינות, או אם לא נמצאו הזמנות מתאימות, המערכת תספק מכונות וירטואליות (VM) של Compute Engine לפי דרישה כדי לעמוד בדרישות המשאבים.

      • SPECIFIC_RESERVATION: פריסת המודל ב-Agent Platform צורכת מכונות וירטואליות רק מההזמנה שציינתם בערך RESERVATION_AFFINITY_VALUES. צריך להגדיר את ההזמנה הזו לשימוש במשאבים שמיועדים ספציפית אליה. הפריסה תיכשל אם לשרת שהוזמן אין מספיק קיבולת.
    • RESERVATION_AFFINITY_KEY: המחרוזת compute.googleapis.com/reservation-name. חובה לציין את האפשרות הזו כשהערך של RESERVATION_AFFINITY_TYPE הוא SPECIFIC_RESERVATION.
    • RESERVATION_AFFINITY_VALUES: ערך ARRAY<STRING> שמציין את שם המשאב המלא של ההזמנה ב-Compute Engine, בפורמט הבא:

      projects/myproject/zones/reservation_zone/reservations/reservation_name

      לדוגמה, RESERVATION_AFFINITY_values = ['projects/myProject/zones/us-central1-a/reservations/myReservationName'].

      אפשר לראות את שם ההזמנה והאזור בדף Reservations במסוף Google Cloud . מידע נוסף זמין במאמר בנושא הצגת הזמנות.

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

    • ENDPOINT_IDLE_TTL: ערך של INTERVAL שמציין את משך הזמן של חוסר פעילות שאחריו המודל הפתוח יבוטל אוטומטית מנקודת הקצה של Agent Platform.

      כדי להפעיל את הביטול האוטומטי של הפריסה, מציינים ערך של interval literal בין 390 דקות (6.5 שעות) ל-7 ימים. לדוגמה, אם מציינים INTERVAL 8 HOUR, המודל יבוטל אחרי 8 שעות של חוסר פעילות. ערך ברירת המחדל הוא 390 דקות (6.5 שעות).

      חוסר פעילות של מודל מוגדר כפרק הזמן שחלף מאז שאחת מהפעולות הבאות בוצעה במודל:

      כל אחת מהפעולות האלה מאפסת את טיימר חוסר הפעילות לאפס. האיפוס מופעל בתחילת משימת BigQuery שמבצעת את הפעולה.

      אחרי שמבטלים את הפריסה של המודל, בקשות להסקת מסקנות שנשלחות למודל מחזירות שגיאה. אובייקט המודל ב-BigQuery נשאר ללא שינוי, כולל מטא-נתונים של המודל. כדי להשתמש שוב במודל להסקת מסקנות, צריך לפרוס אותו מחדש על ידי הפעלת ההצהרה ALTER MODEL במודל והגדרת האפשרות DEPLOY_MODEL לערך TRUE.

מודלים פתוחים שנפרסו

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

    כניסה ל-BigQuery

  2. באמצעות עורך ה-SQL, יוצרים מודל מרוחק:

    CREATE OR REPLACE MODEL
    `PROJECT_ID.DATASET_ID.MODEL_NAME`
    REMOTE WITH CONNECTION {DEFAULT | `PROJECT_ID.REGION.CONNECTION_ID`}
    OPTIONS (
      ENDPOINT = 'https://ENDPOINT_REGION-aiplatform.googleapis.com/v1/projects/ENDPOINT_PROJECT_ID/locations/ENDPOINT_REGION/endpoints/ENDPOINT_ID'
    );

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

    • PROJECT_ID: מזהה הפרויקט.
    • DATASET_ID: המזהה של מערך הנתונים שאמור להכיל את המודל. מערך הנתונים הזה צריך להיות באותו מיקום כמו החיבור שבו אתם משתמשים.
    • MODEL_NAME: שם המודל.
    • REGION: האזור שבו נעשה שימוש בחיבור.
    • CONNECTION_ID: המזהה של החיבור ל-BigQuery.

      אפשר לקבל את הערך הזה על ידי צפייה בפרטי החיבור במסוף Google Cloud והעתקת הערך בקטע האחרון של מזהה החיבור המלא שמוצג במזהה החיבור. לדוגמה, projects/myproject/locations/connection_location/connections/myconnection.

    • ENDPOINT_REGION: האזור שבו המודל הפתוח פרוס.
    • ENDPOINT_PROJECT_ID: הפרויקט שבו נפרס המודל הפתוח.
    • ENDPOINT_ID: המזהה של נקודת הקצה (endpoint) של HTTPS שבה נעשה שימוש במודל הפתוח. כדי לקבל את מזהה נקודת הקצה, מאתרים את המודל הפתוח בדף חיזוי מיידי ומעתיקים את הערך בשדה ID.

יצירת טקסט מנתונים בטבלה רגילה

יצירת טקסט באמצעות הפונקציה AI.GENERATE_TEXT עם נתוני הנחיה מטבלה רגילה:

Gemini

SELECT *
FROM AI.GENERATE_TEXT(
  MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
  {TABLE PROJECT_ID.DATASET_ID.TABLE_NAME | (PROMPT_QUERY)},
  STRUCT(
  {
    {
      [MAX_OUTPUT_TOKENS AS max_output_tokens]
      [, TOP_P AS top_p]
      [, TEMPERATURE AS temperature]
      [, STOP_SEQUENCES AS stop_sequences]
      [, GROUND_WITH_GOOGLE_SEARCH AS ground_with_google_search]
      [, SAFETY_SETTINGS AS safety_settings]
    }
    |
    [, MODEL_PARAMS AS model_params]
  }
  [, REQUEST_TYPE AS request_type])
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • DATASET_ID: המזהה של מערך הנתונים שמכיל את המודל.
  • MODEL_NAME: שם המודל.
  • TABLE_NAME: שם הטבלה שמכילה את ההנחיה. בטבלה הזו צריכה להיות עמודה בשם prompt, או שאפשר להשתמש בכינוי כדי להשתמש בעמודה עם שם אחר.
  • PROMPT_QUERY: שאילתה שמספקת את נתוני ההנחיה. השאילתה הזו צריכה ליצור עמודה בשם prompt.
  • TOKENS: ערך INT64 שקובע את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. הערך חייב להיות בטווח [1,8192]. מציינים ערך נמוך יותר לתשובות קצרות וערך גבוה יותר לתשובות ארוכות. ערך ברירת המחדל הוא 128.
  • TEMPERATURE: ערך FLOAT64 בטווח [0.0,1.0] ששולט במידת האקראיות בבחירת האסימון. ערך ברירת המחדל הוא 0.

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

  • TOP_P: ערך FLOAT64 בטווח [0.0,1.0] עוזר לקבוע את ההסתברות של הטוקנים שנבחרו. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. ערך ברירת המחדל הוא 0.95.
  • STOP_SEQUENCES: ערך ARRAY<STRING> שמסיר את המחרוזות שצוינו אם הן נכללות בתשובות מהמודל. ההתאמה בין המחרוזות היא מדויקת, כולל אותיות רישיות. ברירת המחדל היא מערך ריק.
  • GROUND_WITH_GOOGLE_SEARCH: ערך BOOL שקובע אם המודל של Gemini Enterprise Agent Platform משתמש ב[עיגון באמצעות חיפוש Google](/vertex-ai/generative-ai/docs/grounding/overview#ground-public) כשנוצרות תשובות. ההארקה מאפשרת למודל להשתמש במידע נוסף מהאינטרנט כשהוא יוצר תשובה, כדי שהתשובות יהיו ספציפיות ועובדתיות יותר. כשמגדירים את השדה הזה לערך True, נוספת לתוצאות עמודה grounding_result, שבה מפורטים המקורות שבהם השתמש המודל כדי לאסוף מידע נוסף. ערך ברירת המחדל הוא FALSE.
  • SAFETY_SETTINGS: ערך ARRAY<STRUCT<STRING AS category, STRING AS threshold>> שמגדיר את ערכי הסף של בטיחות התוכן לסינון התשובות. האלמנט הראשון במבנה מציין קטגוריה של תוכן פוגע, והאלמנט השני במבנה מציין סף חסימה תואם. המודל מסנן תוכן שמפר את ההגדרות האלה. אפשר לציין כל קטגוריה רק פעם אחת. לדוגמה, אי אפשר לציין גם את STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold) וגם את STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold). אם אין הגדרת בטיחות לקטגוריה מסוימת, נעשה שימוש בהגדרת הבטיחות של BLOCK_MEDIUM_AND_ABOVE. הקטגוריות הנתמכות הן:
    • HARM_CATEGORY_HATE_SPEECH
    • HARM_CATEGORY_DANGEROUS_CONTENT
    • HARM_CATEGORY_HARASSMENT
    • HARM_CATEGORY_SEXUALLY_EXPLICIT
    הסף הנתמך הוא:
    • BLOCK_NONE (מוגבל)
    • BLOCK_LOW_AND_ABOVE
    • BLOCK_MEDIUM_AND_ABOVE (ברירת מחדל)
    • BLOCK_ONLY_HIGH
    • HARM_BLOCK_THRESHOLD_UNSPECIFIED
    מידע נוסף זמין בהגדרות של קטגוריית בטיחות וסף החסימה.
  • REQUEST_TYPE: ערך STRING שמציין את סוג בקשת ההסקה שרוצים לשלוח למודל Gemini. סוג הבקשה קובע באיזו מכסה הבקשה משתמשת. הערכים התקפים הם:
    • DEDICATED: הפונקציה AI.GENERATE_TEXT משתמשת רק במכסת הקצאת משאבים לפי התפוקה שנקבעה. הפונקציה AI.GENERATE_TEXT מחזירה את השגיאה Provisioned throughput is not purchased or is not active אם המכסה של הקצאת משאבים לפי התפוקה שנקבעה לא זמינה.
    • SHARED: הפונקציה AI.GENERATE_TEXT משתמשת רק במכסה דינמית משותפת (DSQ), גם אם רכשתם מכסת הקצאת משאבים לפי התפוקה שנקבעה.
    • UNSPECIFIED: הפונקציה AI.GENERATE_TEXT משתמשת במכסה באופן הבא:
      • אם לא רכשתם מכסת הקצאת משאבים לפי התפוקה שנקבעה, הפונקציה AI.GENERATE_TEXT משתמשת במכסת DSQ.
      • אם רכשתם מכסת הקצאת משאבים לפי התפוקה שנקבעה, הפונקציה AI.GENERATE_TEXT משתמשת קודם במכסת הקצאת משאבים לפי התפוקה שנקבעה. אם הבקשות חורגות ממכסת הקצאת המשאבים לפי התפוקה שנקבעה, תעבורת הנתונים העודפת משתמשת במכסת DSQ.

    ערך ברירת המחדל הוא UNSPECIFIED.

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

  • MODEL_PARAMS: מחרוזת ליטרלית בפורמט JSON שמספקת פרמטרים למודל. הערך צריך להיות בפורמט של generateContent גוף הבקשה. אפשר לספק ערך לכל שדה בגוף הבקשה, חוץ מהשדה contents[]. אם מגדירים את השדה הזה, אי אפשר לציין גם פרמטרים של מודל בארגומנט של מבנה הנתונים ברמה העליונה לפונקציה AI.GENERATE_TEXT. צריך לציין את כל פרמטר של המודל בשדה MODEL_PARAMS, או להשמיט את השדה הזה ולציין כל פרמטר בנפרד.

דוגמה 1

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • הנחיות לסיכום הטקסט בעמודה body בטבלה articles.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT('Summarize this text', body) AS prompt
      FROM mydataset.articles
    ));

דוגמה 2

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמשים בשאילתה כדי ליצור את נתוני ההנחיה על ידי שרשור מחרוזות שמספקות קידומות להנחיה עם עמודות בטבלה.
  • מחזירה תשובה קצרה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt
      FROM mydataset.input_table
    ),
    STRUCT(
      100 AS max_output_tokens));

דוגמה 3

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    TABLE mydataset.prompts);

דוגמה 4

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
  • מחזירה תשובה קצרה.
  • מאחזר ומחזיר נתונים ציבוריים מהאינטרנט כדי להצדיק את התשובה.
  • מסננים תשובות לא בטוחות באמצעות שתי הגדרות בטיחות.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    TABLE mydataset.prompts,
    STRUCT(
      100 AS max_output_tokens, 0.5 AS top_p,
      TRUE AS ground_with_google_search,
      [STRUCT('HARM_CATEGORY_HATE_SPEECH' AS category,
        'BLOCK_LOW_AND_ABOVE' AS threshold),
      STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category,
        'BLOCK_MEDIUM_AND_ABOVE' AS threshold)] AS safety_settings));

דוגמה 5

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
  • מחזירה תשובה ארוכה יותר.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.flash_2_model`,
    TABLE mydataset.prompts,
    STRUCT(
      0.4 AS temperature, 8192 AS max_output_tokens));

דוגמה 6

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • הנחיות לסיכום הטקסט בעמודה body בטבלה articles.
  • מאחזר ומחזיר נתונים ציבוריים מהאינטרנט כדי להצדיק את התשובה.
  • התכונה מסננת תשובות לא בטוחות באמצעות שתי הגדרות אבטחה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT('Summarize this text', body) AS prompt
      FROM mydataset.articles
    ),
    STRUCT(
      .1 AS TEMPERATURE,
      TRUE AS ground_with_google_search,
      [STRUCT('HARM_CATEGORY_HATE_SPEECH' AS category,
        'BLOCK_LOW_AND_ABOVE' AS threshold),
      STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category,
        'BLOCK_MEDIUM_AND_ABOVE' AS threshold)] AS safety_settings));

Claude

SELECT *
FROM AI.GENERATE_TEXT(
  MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
  {TABLE PROJECT_ID.DATASET_ID.TABLE_NAME | (PROMPT_QUERY)},
  STRUCT(
  {
    {
      [MAX_OUTPUT_TOKENS AS max_output_tokens]
      [, TOP_K AS top_k]
      [, TOP_P AS top_p]
    }
    |
    [, MODEL_PARAMS AS model_params]
  })
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • DATASET_ID: המזהה של מערך הנתונים שמכיל את המודל.
  • MODEL_NAME: שם המודל.
  • TABLE_NAME: שם הטבלה שמכילה את ההנחיה. בטבלה הזו צריכה להיות עמודה בשם prompt, או שאפשר להשתמש בכינוי כדי להשתמש בעמודה עם שם אחר.
  • PROMPT_QUERY: שאילתה שמספקת את נתוני ההנחיה. השאילתה הזו צריכה ליצור עמודה בשם prompt.
  • TOKENS: ערך INT64 שקובע את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. הערך חייב להיות בטווח [1,4096]. מציינים ערך נמוך יותר לתשובות קצרות וערך גבוה יותר לתשובות ארוכות. ערך ברירת המחדל הוא 128.
  • TOP_K: ערך INT64 בטווח [1,40] שקובע את מאגר האסימונים ההתחלתי שהמודל בוחן לצורך בחירה. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. אם לא מציינים ערך, המודל קובע ערך מתאים.
  • TOP_P: ערך FLOAT64 בטווח [0.0,1.0] עוזר לקבוע את ההסתברות של הטוקנים שנבחרו. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. אם לא מציינים ערך, המודל קובע ערך מתאים.
  • MODEL_PARAMS: מחרוזת ליטרלית בפורמט JSON שמספקת פרמטרים למודל. הערך צריך להיות בפורמט של generateContent גוף הבקשה. אפשר לספק ערך לכל שדה בגוף הבקשה, חוץ מהשדה contents[]. אם מגדירים את השדה הזה, אי אפשר לציין גם פרמטרים של מודל בארגומנט של מבנה הנתונים ברמה העליונה לפונקציה AI.GENERATE_TEXT. צריך לציין את כל פרמטר של המודל בשדה MODEL_PARAMS, או להשמיט את השדה הזה ולציין כל פרמטר בנפרד.

דוגמה 1

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • הנחיות לסיכום הטקסט בעמודה body בטבלה articles.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT('Summarize this text', body) AS prompt
      FROM mydataset.articles
    ));

דוגמה 2

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמשים בשאילתה כדי ליצור את נתוני ההנחיה על ידי שרשור מחרוזות שמספקות קידומות להנחיה עם עמודות בטבלה.
  • מחזירה תשובה קצרה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt
      FROM mydataset.input_table
    ),
    STRUCT(
      100 AS max_output_tokens));

דוגמה 3

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    TABLE mydataset.prompts);

Llama

SELECT *
FROM AI.GENERATE_TEXT(
  MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
  {TABLE PROJECT_ID.DATASET_ID.TABLE_NAME | (PROMPT_QUERY)},
  STRUCT(
  {
    {
      [MAX_OUTPUT_TOKENS AS max_output_tokens]
      [, TOP_P AS top_p]
      [, TEMPERATURE AS temperature]
      [, STOP_SEQUENCES AS stop_sequences]
    |
    }
    [, MODEL_PARAMS AS model_params]
  })
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • DATASET_ID: המזהה של מערך הנתונים שמכיל את המודל.
  • MODEL_NAME: שם המודל.
  • TABLE_NAME: שם הטבלה שמכילה את ההנחיה. בטבלה הזו צריכה להיות עמודה בשם prompt, או שאפשר להשתמש בכינוי כדי להשתמש בעמודה עם שם אחר.
  • PROMPT_QUERY: שאילתה שמספקת את נתוני ההנחיה. השאילתה הזו צריכה ליצור עמודה בשם prompt.
  • TOKENS: ערך INT64 שקובע את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. הערך חייב להיות בטווח [1,4096]. מציינים ערך נמוך יותר לתשובות קצרות וערך גבוה יותר לתשובות ארוכות. ערך ברירת המחדל הוא 128.
  • TEMPERATURE: ערך FLOAT64 בטווח [0.0,1.0] ששולט במידת האקראיות בבחירת האסימון. ערך ברירת המחדל הוא 0.

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

  • TOP_P: ערך FLOAT64 בטווח [0.0,1.0] עוזר לקבוע את ההסתברות של הטוקנים שנבחרו. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. ערך ברירת המחדל הוא 0.95.
  • STOP_SEQUENCES: ערך ARRAY<STRING> שמסיר את המחרוזות שצוינו אם הן נכללות בתשובות מהמודל. ההתאמה בין המחרוזות היא מדויקת, כולל אותיות רישיות. ברירת המחדל היא מערך ריק.
  • MODEL_PARAMS: מחרוזת ליטרלית בפורמט JSON שמספקת פרמטרים למודל. הערך צריך להיות בפורמט של generateContent גוף הבקשה. אפשר לספק ערך לכל שדה בגוף הבקשה, חוץ מהשדה contents[]. אם מגדירים את השדה הזה, אי אפשר לציין גם פרמטרים של מודל בארגומנט של מבנה הנתונים ברמה העליונה לפונקציה AI.GENERATE_TEXT. צריך לציין את כל פרמטר של המודל בשדה MODEL_PARAMS, או להשמיט את השדה הזה ולציין כל פרמטר בנפרד.

דוגמה 1

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • הנחיות לסיכום הטקסט בעמודה body בטבלה articles.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT('Summarize this text', body) AS prompt
      FROM mydataset.articles
    ));

דוגמה 2

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמשים בשאילתה כדי ליצור את נתוני ההנחיה על ידי שרשור מחרוזות שמספקות קידומות להנחיה עם עמודות בטבלה.
  • מחזירה תשובה קצרה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt
      FROM mydataset.input_table
    ),
    STRUCT(
      100 AS max_output_tokens));

דוגמה 3

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    TABLE mydataset.prompts);

Mistral AI

SELECT *
FROM AI.GENERATE_TEXT(
  MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
  {TABLE PROJECT_ID.DATASET_ID.TABLE_NAME | (PROMPT_QUERY)},
  STRUCT(
  {
    {
      [MAX_OUTPUT_TOKENS AS max_output_tokens]
      [, TOP_P AS top_p]
      [, TEMPERATURE AS temperature]
      [, STOP_SEQUENCES AS stop_sequences]
    |
    }
    [, MODEL_PARAMS AS model_params]
  })
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • DATASET_ID: המזהה של מערך הנתונים שמכיל את המודל.
  • MODEL_NAME: שם המודל.
  • TABLE_NAME: שם הטבלה שמכילה את ההנחיה. בטבלה הזו צריכה להיות עמודה בשם prompt, או שאפשר להשתמש בכינוי כדי להשתמש בעמודה עם שם אחר.
  • PROMPT_QUERY: שאילתה שמספקת את נתוני ההנחיה. השאילתה הזו צריכה ליצור עמודה בשם prompt.
  • TOKENS: ערך INT64 שקובע את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. הערך חייב להיות בטווח [1,4096]. מציינים ערך נמוך יותר לתשובות קצרות וערך גבוה יותר לתשובות ארוכות. ערך ברירת המחדל הוא 128.
  • TEMPERATURE: ערך FLOAT64 בטווח [0.0,1.0] ששולט במידת האקראיות בבחירת האסימון. ערך ברירת המחדל הוא 0.

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

  • TOP_P: ערך FLOAT64 בטווח [0.0,1.0] עוזר לקבוע את ההסתברות של הטוקנים שנבחרו. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. ערך ברירת המחדל הוא 0.95.
  • STOP_SEQUENCES: ערך ARRAY<STRING> שמסיר את המחרוזות שצוינו אם הן נכללות בתשובות מהמודל. ההתאמה בין המחרוזות היא מדויקת, כולל אותיות רישיות. ברירת המחדל היא מערך ריק.
  • MODEL_PARAMS: מחרוזת ליטרלית בפורמט JSON שמספקת פרמטרים למודל. הערך צריך להיות בפורמט של generateContent גוף הבקשה. אפשר לספק ערך לכל שדה בגוף הבקשה, חוץ מהשדה contents[]. אם מגדירים את השדה הזה, אי אפשר לציין גם פרמטרים של מודל בארגומנט של מבנה הנתונים ברמה העליונה לפונקציה AI.GENERATE_TEXT. צריך לציין את כל פרמטר של המודל בשדה MODEL_PARAMS, או להשמיט את השדה הזה ולציין כל פרמטר בנפרד.

דוגמה 1

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • הנחיות לסיכום הטקסט בעמודה body בטבלה articles.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT('Summarize this text', body) AS prompt
      FROM mydataset.articles
    ));

דוגמה 2

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמשים בשאילתה כדי ליצור את נתוני ההנחיה על ידי שרשור מחרוזות שמספקות קידומות להנחיה עם עמודות בטבלה.
  • מחזירה תשובה קצרה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt
      FROM mydataset.input_table
    ),
    STRUCT(
      100 AS max_output_tokens));

דוגמה 3

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    TABLE mydataset.prompts);

מודלים פתוחים

SELECT *
FROM AI.GENERATE_TEXT(
  MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
  {TABLE PROJECT_ID.DATASET_ID.TABLE_NAME | (PROMPT_QUERY)},
  STRUCT(
  {
    {
      [MAX_OUTPUT_TOKENS AS max_output_tokens]
      [, TOP_K AS top_k]
      [, TOP_P AS top_p]
      [, TEMPERATURE AS temperature]
    }
    |
    [, MODEL_PARAMS AS model_params]
  })
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • DATASET_ID: המזהה של מערך הנתונים שמכיל את המודל.
  • MODEL_NAME: שם המודל.
  • TABLE_NAME: שם הטבלה שמכילה את ההנחיה. בטבלה הזו צריכה להיות עמודה בשם prompt, או שאפשר להשתמש בכינוי כדי להשתמש בעמודה עם שם אחר.
  • PROMPT_QUERY: שאילתה שמספקת את נתוני ההנחיה. השאילתה הזו צריכה ליצור עמודה בשם prompt.
  • TOKENS: ערך INT64 שקובע את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. הערך חייב להיות בטווח [1,4096]. מציינים ערך נמוך יותר לתשובות קצרות וערך גבוה יותר לתשובות ארוכות. אם לא מציינים ערך, המודל קובע ערך מתאים.
  • TEMPERATURE: ערך FLOAT64 בטווח [0.0,1.0] ששולט במידת האקראיות בבחירת האסימון. אם לא מציינים ערך, המודל קובע ערך מתאים.

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

  • TOP_K: ערך INT64 בטווח [1,40] שקובע את מאגר האסימונים ההתחלתי שהמודל בוחן לצורך בחירה. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. אם לא מציינים ערך, המודל קובע ערך מתאים.
  • TOP_P: ערך FLOAT64 בטווח [0.0,1.0] עוזר לקבוע את ההסתברות של הטוקנים שנבחרו. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. אם לא מציינים ערך, המודל קובע ערך מתאים.
  • MODEL_PARAMS: מחרוזת ליטרלית בפורמט JSON שמספקת פרמטרים למודל. הערך צריך להיות בפורמט של generateContent גוף הבקשה. אפשר לספק ערך לכל שדה בגוף הבקשה, חוץ מהשדה contents[]. אם מגדירים את השדה הזה, אי אפשר לציין גם פרמטרים של מודל בארגומנט של מבנה הנתונים ברמה העליונה לפונקציה AI.GENERATE_TEXT. צריך לציין את כל פרמטר של המודל בשדה MODEL_PARAMS, או להשמיט את השדה הזה ולציין כל פרמטר בנפרד.

דוגמה 1

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • הנחיות לסיכום הטקסט בעמודה body בטבלה articles.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT('Summarize this text', body) AS prompt
      FROM mydataset.articles
    ));

דוגמה 2

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמשים בשאילתה כדי ליצור את נתוני ההנחיה על ידי שרשור מחרוזות שמספקות קידומות להנחיה עם עמודות בטבלה.
  • מחזירה תשובה קצרה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    (
      SELECT CONCAT(question, 'Text:', description, 'Category') AS prompt
      FROM mydataset.input_table
    ),
    STRUCT(
      100 AS max_output_tokens));

דוגמה 3

בדוגמה הבאה מוצגת בקשה עם המאפיינים האלה:

  • משתמש בעמודה prompt של הטבלה prompts להנחיה.
SELECT *
FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.text_model`,
    TABLE mydataset.prompts);

יצירת טקסט מנתונים של טבלת אובייקטים

כדי לנתח נתונים לא מובנים מטבלת אובייקטים, אפשר ליצור טקסט באמצעות הפונקציה AI.GENERATE_TEXT עם מודל Gemini. מספקים את נתוני ההנחיה בפרמטר prompt.

SELECT *
FROM AI.GENERATE_TEXT(
MODEL `PROJECT_ID.DATASET.MODEL`,
{ TABLE `PROJECT_ID.DATASET.TABLE` | (QUERY_STATEMENT) },
STRUCT(
  PROMPT AS prompt
  {
    {
      [, MAX_OUTPUT_TOKENS AS max_output_tokens]
      [, TOP_P AS top_p]
      [, TEMPERATURE AS temperature]
      [, STOP_SEQUENCES AS stop_sequences]
      [, SAFETY_SETTINGS AS safety_settings]
    }
    |
    [, MODEL_PARAMS AS model_params]
  })
);

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

  • PROJECT_ID: הפרויקט שמכיל את המשאב.
  • DATASET: קבוצת הנתונים שמכילה את המשאב.
  • MODEL: השם של המודל המרוחק מעל המודל של Gemini Enterprise Agent Platform. מידע נוסף על יצירת מודל מרוחק מסוג כזה זמין במאמר בנושא הצהרת CREATE MODEL למודלים מרוחקים ב-LLM .

    כדי לוודא באיזה מודל נעשה שימוש במודל המרוחק, פותחים את Google Cloud המסוף ומסתכלים על השדה Remote endpoint בדף פרטי המודל.

    הערה: שימוש במודל מרוחק שמבוסס על מודל Gemini 2.5 כרוך בתשלום על תהליך החשיבה.

  • TABLE: השם של טבלת האובייקטים שמכילה את התוכן לניתוח. מידע נוסף על סוגי התוכן שאפשר לנתח זמין במאמר בנושא קלט.

    הקטגוריה של Cloud Storage שמשמשת את טבלת אובייקט הקלט צריכה להיות באותו פרויקט שבו יצרתם את המודל ושבו אתם קוראים לפונקציה AI.GENERATE_TEXT.

  • QUERY_STATEMENT: שאילתת GoogleSQL שמייצרת את נתוני התמונה. אפשר לציין בשאילתה רק את הסעיפים WHERE ו-ORDER BY.
  • PROMPT: ערך STRING שמכיל את ההנחיה לשימוש בניתוח התוכן החזותי. הערך של prompt חייב לכלול פחות מ-16,000 טוקנים. טוקן יכול להיות קצר יותר ממילה, והוא בערך באורך של ארבעה תווים. ‫100 טוקנים שווים בערך ל-60-80 מילים.
  • הצגת פרמטרים אופציונליים נוספים

  • MAX_OUTPUT_TOKENS: ערך INT64 שקובע את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. הערך חייב להיות בטווח [1,8192]. מציינים ערך נמוך יותר לתשובות קצרות וערך גבוה יותר לתשובות ארוכות. ערך ברירת המחדל הוא 1024.
  • TOP_P: ערך FLOAT64 בטווח [0.0,1.0] שמשנה את האופן שבו המודל בוחר אסימונים לפלט. מציינים ערך נמוך יותר לתשובות פחות אקראיות וערך גבוה יותר לתשובות יותר אקראיות. ערך ברירת המחדל הוא 0.95.

    הטוקנים נבחרים מהסבירים ביותר ועד הכי פחות סבירים, עד שסכום ההסתברויות שלהם שווה לערך TOP_P. לדוגמה, אם ההסתברות של הטוקנים A,‏ B ו-C היא 0.3,‏ 0.2 ו-0.1, והערך של TOP_P הוא 0.5, המודל בוחר ב-A או ב-B כטוקן הבא באמצעות הערך TEMPERATURE, ולא מתייחס ל-C.

  • TEMPERATURE: ערך FLOAT64 בטווח [0.0,1.0] ששולט במידת האקראיות בבחירת האסימון. ערכים נמוכים של TEMPERATURE מתאימים להנחיות שדורשות תשובה יותר דטרמיניסטית ופחות פתוחה או יצירתית, ואילו ערכים גבוהים של TEMPERATURE יכולים להוביל לתוצאות יותר מגוונות או יצירתיות. ערך TEMPERATURE של 0 הוא דטרמיניסטי, כלומר תמיד נבחרת התשובה עם ההסתברות הכי גבוהה. ערך ברירת המחדל הוא 0.
  • STOP_SEQUENCES: ערך ARRAY שמסיר את המחרוזות שצוינו אם הן כלולות בתשובות מהמודל. ההתאמה בין המחרוזות היא מדויקת, כולל אותיות רישיות. ערך ברירת המחדל הוא מערך ריק.
  • SAFETY_SETTINGS: ערך ARRAY> שמגדיר את ספי התוכן הבטוח לסינון התשובות. הרכיב הראשון במבנה מציין קטגוריה של תוכן פוגע, והרכיב השני במבנה מציין סף חסימה תואם. המודל מסנן את התוכן שמפר את ההגדרות האלה. אפשר לציין כל קטגוריה רק פעם אחת. לדוגמה, אי אפשר לציין גם את STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_MEDIUM_AND_ABOVE' AS threshold) וגם את STRUCT('HARM_CATEGORY_DANGEROUS_CONTENT' AS category, 'BLOCK_ONLY_HIGH' AS threshold). אם אין הגדרת בטיחות לקטגוריה מסוימת, נעשה שימוש בהגדרת הבטיחות BLOCK_MEDIUM_AND_ABOVE.

    הקטגוריות הנתמכות הן:

    • HARM_CATEGORY_HATE_SPEECH
    • HARM_CATEGORY_DANGEROUS_CONTENT
    • HARM_CATEGORY_HARASSMENT
    • HARM_CATEGORY_SEXUALLY_EXPLICIT

    הערכים האפשריים הם:

    • BLOCK_NONE ( מוגבל )
    • BLOCK_LOW_AND_ABOVE
    • BLOCK_MEDIUM_AND_ABOVE (ברירת מחדל)
    • BLOCK_ONLY_HIGH
    • HARM_BLOCK_THRESHOLD_UNSPECIFIED

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

  • MODEL_PARAMS: מחרוזת ליטרלית בפורמט JSON שמספקת פרמטרים נוספים למודל. הערך צריך להיות בפורמט של generateContent גוף הבקשה . אפשר לספק ערך לכל שדה בגוף הבקשה, חוץ מהשדה contents[]. אם מגדירים את השדה הזה, אי אפשר לציין גם פרמטרים של מודל במבנה ברמה העליונה של הארגומנט של הפונקציה AI.GENERATE_TEXT.

דוגמאות

בדוגמה הזו, תוכן אודיו מתורגם ומתומלל מטבלת אובייקטים בשם feedback:

SELECT * FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.audio_model`,
    TABLE `mydataset.feedback`,
      STRUCT('What is the content of this audio clip, translated into Spanish?' AS PROMPT));

בדוגמה הזו, התוכן של קובץ PDF מסווג מטבלת אובייקטים בשם invoices:

SELECT * FROM
  AI.GENERATE_TEXT(
    MODEL `mydataset.classify_model`,
    TABLE `mydataset.invoices`,
      STRUCT('Classify this document based on the invoice total, using the following categories: 0 to 100, 101 to 200, greater than 200' AS PROMPT));