תמלול קובצי אודיו באמצעות הפונקציה ML.TRANSCRIBE

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

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

מיקומים נתמכים

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

  • asia-northeast1
  • asia-south1
  • asia-southeast1
  • australia-southeast1
  • eu
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • northamerica-northeast1
  • us
  • us-central1
  • us-east1
  • us-east4
  • us-west1

צריך להריץ את הפונקציה ML.TRANSCRIBE באותו אזור שבו נמצא המודל המרוחק.

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

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

  • יצירת מזהה דיבור: עריכה ב-Cloud Speech (roles/speech.editor)
  • יצירה ושימוש במערכי נתונים, בטבלאות ובמודלים של BigQuery: עריכה של נתוני BigQuery‏ (roles/bigquery.dataEditor)
  • יצירה, הקצאה ושימוש בחיבורים ל-BigQuery: אדמין של חיבורים ל-BigQuery‏ (roles/bigquery.connectionsAdmin)

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

  • נותנים הרשאות לחשבון השירות של החיבור: אדמין IAM של פרויקט (roles/resourcemanager.projectIamAdmin)

  • יצירת משימות ב-BigQuery: שימוש במשימות BigQuery‏ (roles/bigquery.jobUser)

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

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

  • יצירת מערך נתונים: 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
  • יוצרים טבלת אובייקטים: bigquery.tables.create ו-bigquery.tables.update
  • יוצרים מזהה דיבור:
    • speech.recognizers.create
    • speech.recognizers.get
    • speech.recognizers.recognize
    • speech.recognizers.update

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

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

  1. נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

עלויות

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

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

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

יצירת מזהה

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

לא חובה ליצור מזהה דיבור. אם אתם בוחרים ליצור מזהה דיבור, שימו לב למזהה הפרויקט, למיקום ולמזהה של מזהה הדיבור, כדי להשתמש בהם בהצהרת CREATE MODEL, כפי שמתואר בקטע SPEECH_RECOGNIZER. אם אתם בוחרים לא ליצור מזהה דיבור, אתם צריכים לציין ערך לארגומנט recognition_config של הפונקציה ML.TRANSCRIBE.

אפשר להשתמש רק בchirp מודל התמלול במזהה הדיבור או בערך recognition_config שסיפקת.

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

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

המסוף

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

    כניסה ל-BigQuery

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

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

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

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

  4. לוחצים על View actions > Create dataset.

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

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

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

      • אם בחרתם באפשרות Region, בוחרים מיקום מהרשימה Region.
      • אם בחרתם באפשרות מספר אזורים, בחרו באפשרות US או Europe מהרשימה מספר אזורים.
    3. לוחצים על Create dataset.

BQ

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

    bq --location=LOCATION mk -d DATASET_ID

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

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

    bq ls

יצירת חיבור

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

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

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

המסוף

  1. נכנסים לדף BigQuery.

    כניסה ל-BigQuery

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

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

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

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

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

  5. בשדה Connection type, בוחרים באפשרות Vertex AI remote models, remote functions, BigLake and Spanner (Cloud Resource).

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

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

  8. לוחצים על יצירת חיבור.

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

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

SQL

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

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

    כניסה ל-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}`);
    }
  }
}

Java

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

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

import com.google.api.gax.rpc.AlreadyExistsException;
import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.connection.v1.CloudResourceProperties;
import com.google.cloud.bigquery.connection.v1.Connection;
import com.google.cloud.bigquery.connection.v1.CreateConnectionRequest;
import com.google.cloud.bigquery.connection.v1.LocationName;
import com.google.cloud.bigqueryconnection.v1.ConnectionServiceClient;
import java.io.IOException;

public class CreateConnection {

  /**
   * Creates a BigQuery connection to a Cloud Resource. A Cloud Resource connection provisions a
   * service account that can be granted access to other Google Cloud resources for federated
   * queries.
   *
   * @param projectId The Google Cloud project ID (for example, "example-project-id").
   * @param location The geographic location of the connection (for example, "us-central1").
   * @param connectionId The ID of the connection to create (for example, "example-connection-id").
   */
  public static void createConnection(String projectId, String location, String connectionId) {
    LocationName parent = LocationName.of(projectId, location);

    // CloudResourceProperties provisions a managed Google Cloud service account on creation.
    CloudResourceProperties cloudResourceProperties = CloudResourceProperties.newBuilder().build();
    Connection connection =
        Connection.newBuilder()
            .setFriendlyName("Example Connection")
            .setDescription("Cloud Resource connection for federated queries.")
            .setCloudResource(cloudResourceProperties)
            .build();

    CreateConnectionRequest request =
        CreateConnectionRequest.newBuilder()
            .setParent(parent.toString())
            .setConnectionId(connectionId)
            .setConnection(connection)
            .build();

    try (ConnectionServiceClient client = ConnectionServiceClient.create()) {
      Connection response = client.createConnection(request);

      System.out.printf("Successfully created connection: %s%n", response.getName());
      System.out.printf("Friendly name: %s%n", response.getFriendlyName());
      System.out.printf(
          "Service Account: %s%n", response.getCloudResource().getServiceAccountId());
    } catch (AlreadyExistsException err) {
      System.err.printf(
          "error: connection '%s' already exists in location '%s' for project '%s': %s%n",
          connectionId, location, projectId, err.getMessage());
    } catch (ApiException | IOException err) {
      System.err.printf(
          "error: failed to create connection '%s' in location '%s' for project '%s': %s%n",
          connectionId, location, projectId, err.getMessage());
    }
  }

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. מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של Terraform.

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

    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.

מתן גישה לחשבון השירות

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

המסוף

  1. נכנסים לדף IAM & Admin.

    כניסה לדף IAM & Admin

  2. לוחצים על Grant Access.

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

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

  4. לוחצים על השדה Select a role ומקלידים Cloud Speech Client בשדה Filter.

  5. לוחצים על הוספת תפקיד.

  6. בשדה Select a role, בוחרים באפשרות Cloud Storage ואז באפשרות Storage Object Viewer.

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

gcloud

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

gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/speech.client' --condition=None
gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/storage.objectViewer' --condition=None

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

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

אם לא תעניקו את ההרשאה, תופיע השגיאה Permission denied.

יצירת טבלת אובייקטים

יוצרים טבלת אובייקטים על קבוצה של קובצי אודיו ב-Cloud Storage. קובצי האודיו בטבלת האובייקטים חייבים להיות מסוג נתמך.

הקטגוריה של Cloud Storage שמשמשת את טבלת האובייקטים צריכה להיות באותו פרויקט שבו אתם מתכננים ליצור את המודל ולקרוא לפונקציה ML.TRANSCRIBE. אם אתם רוצים להפעיל את הפונקציה ML.TRANSCRIBE בפרויקט אחר מזה שמכיל את הקטגוריה של Cloud Storage שמשמשת את טבלת האובייקטים, אתם צריכים להקצות את התפקיד "אדמין של Storage" ברמת הקטגוריה לחשבון השירות service-A@gcp-sa-aiplatform.iam.gserviceaccount.com.

יצירת מודל

יוצרים מודל מרוחק עם REMOTE_SERVICE_TYPE של CLOUD_AI_SPEECH_TO_TEXT_V2:

CREATE OR REPLACE MODEL
`PROJECT_ID.DATASET_ID.MODEL_NAME`
REMOTE WITH CONNECTION {`PROJECT_ID.REGION.CONNECTION_ID`}
OPTIONS (
  REMOTE_SERVICE_TYPE = 'CLOUD_AI_SPEECH_TO_TEXT_V2',
  SPEECH_RECOGNIZER = 'projects/PROJECT_NUMBER/locations/LOCATION/recognizers/RECOGNIZER_ID'
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • ‫DATASET_ID: המזהה של קבוצת הנתונים שתכיל את המודל.
  • ‫MODEL_NAME: שם המודל.
  • ‫REGION: האזור שבו משתמשים בחיבור.
  • ‫CONNECTION_ID: מזהה החיבור, לדוגמה myconnection.

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

  • ‫PROJECT_NUMBER: מספר הפרויקט שמכיל את מזהה הדיבור. הערך הזה מופיע בכרטיס Project info בדף Dashboard במסוף Google Cloud .
  • ‫LOCATION: המיקום שבו משתמשת מערכת זיהוי הדיבור. הערך הזה מופיע בשדה Location בדף List recognizers במסוף Google Cloud .
  • ‫RECOGNIZER_ID: המזהה של מזהה הדיבור. הערך הזה מופיע בשדה ID בדף List recognizers במסוף Google Cloud .

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

    אפשר להשתמש רק במודל התמלול של chirp בערך recognition_config שאתם מספקים.

תמלול קובצי אודיו

תמלול קובצי אודיו באמצעות הפונקציה ML.TRANSCRIBE:

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
  TABLE `PROJECT_ID.DATASET_ID.OBJECT_TABLE_NAME`,
  RECOGNITION_CONFIG => ( JSON 'recognition_config')
);

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

  • PROJECT_ID: מזהה הפרויקט.
  • ‫DATASET_ID: המזהה של קבוצת הנתונים שמכילה את המודל.
  • ‫MODEL_NAME: שם המודל.
  • ‫OBJECT_TABLE_NAME: השם של טבלת האובייקטים שמכילה את ה-URIs של קובצי האודיו שרוצים לעבד.
  • ‫recognition_config: משאב RecognitionConfig בפורמט JSON.

    אם צוין מזהה למודל המרוחק באמצעות האפשרות SPEECH_RECOGNIZER, אי אפשר לציין ערך recognition_config.

    אם לא צוין מזהה למודל המרוחק באמצעות האפשרות SPEECH_RECOGNIZER, צריך לציין ערך recognition_config. הערך הזה משמש להגדרת מזהה ברירת המחדל.

    אפשר להשתמש רק בchirp מודל התמלול בערך recognition_config שאתם מספקים.

דוגמאות

דוגמה 1

בדוגמה הבאה מתבצע תמלול של קובצי האודיו שמיוצגים על ידי הטבלה audio, בלי לשנות את הגדרות ברירת המחדל של המזהה:

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `myproject.mydataset.transcribe_model`,
  TABLE `myproject.mydataset.audio`
);

בדוגמה הבאה מתבצע תמלול של קובצי האודיו שמיוצגים על ידי הטבלה audio, ומוגדרת תצורה למזהה ברירת המחדל:

SELECT *
FROM ML.TRANSCRIBE(
  MODEL `myproject.mydataset.transcribe_model`,
  TABLE `myproject.mydataset.audio`,
  recognition_config => ( JSON '{"language_codes": ["en-US" ],"model": "chirp","auto_decoding_config": {}}')
);

הסרת המשאבים

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

מחיקת הפרויקט

המסוף

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

    כניסה לדף Manage resources

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

gcloud

    כדי למחוק פרויקט ב- Google Cloud :

    gcloud projects delete PROJECT_ID

מחיקת משאבים ספציפיים

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

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

    • נכנסים לדף BigQuery במסוף Google Cloud .
    • בחלונית Explorer, מרחיבים את הפרויקט ובוחרים את מערך הנתונים שיצרתם.
    • לוחצים על הצגת פעולות, ואז על מחיקה.
    • בתיבת הדו-שיח, מקלידים delete ולוחצים על מחיקה.
  2. מחיקת החיבור:

    • בחלונית Explorer, מרחיבים את שם הפרויקט ולוחצים על Connections.
    • לוחצים על הסמל הצגת פעולות לצד החיבור שיצרתם, ובוחרים באפשרות מחיקה.
    • בתיבת הדו-שיח, לוחצים על מחיקה כדי לאשר.
  3. מוחקים את המזהה של Speech-to-Text (אם נוצר):

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