תמלול קובצי אודיו באמצעות הפונקציה ML.TRANSCRIBE
במדריך הזה נסביר איך לתמלל קובצי אודיו, כמו שיחות של שירות לקוחות, פודקאסטים או פגישות מוקלטות, כדי לחלץ טקסט לניתוח נתונים, לחיפוש מילות מפתח או לניתוח סנטימנטים.
תשתמשו בפונקציה ML.TRANSCRIBE עם מודל מרוחק כדי לתמלל קובצי אודיו שמאוחסנים בטבלת אובייקטים.
מיקומים נתמכים
אתם צריכים ליצור את המודל המרוחק שמשמש בתהליך הזה באחד מהמיקומים הבאים:
asia-northeast1asia-south1asia-southeast1australia-southeast1eueurope-west1europe-west2europe-west3europe-west4northamerica-northeast1usus-central1us-east1us-east4us-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.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
- יוצרים טבלת אובייקטים:
bigquery.tables.createו-bigquery.tables.update - יוצרים מזהה דיבור:
speech.recognizers.createspeech.recognizers.getspeech.recognizers.recognizespeech.recognizers.update
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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.enablepermission. 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.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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.enablepermission. 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.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
בעזרת מחשבון העלויות אתם יכולים להעריך את העלויות בהתאם לשימוש הצפוי.
יצירת מזהה
המרת דיבור לטקסט תומכת במשאבים שנקראים "מזהים". מזהים מייצגים הגדרות זיהוי מאוחסנות וניתנות לשימוש חוזר. אתם יכולים ליצור מזהה כדי לקבץ באופן לוגי תמלילים או תנועה באפליקציה.
לא חובה ליצור מזהה דיבור. אם אתם בוחרים ליצור מזהה דיבור, שימו לב למזהה הפרויקט, למיקום ולמזהה של מזהה הדיבור, כדי להשתמש בהם בהצהרת CREATE MODEL, כפי שמתואר בקטע SPEECH_RECOGNIZER.
אם אתם בוחרים לא ליצור מזהה דיבור, אתם צריכים לציין ערך לארגומנט recognition_config של הפונקציה ML.TRANSCRIBE.
אפשר להשתמש רק בchirp
מודל התמלול
במזהה הדיבור או בערך recognition_config שסיפקת.
יצירת קבוצת נתונים
יוצרים מערך נתונים ב-BigQuery שיכיל את המשאבים:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, לוחצים על שם הפרויקט.
לוחצים על View actions > Create dataset.
בדף Create dataset, מבצעים את הפעולות הבאות:
בשדה Dataset ID, מקלידים שם למערך הנתונים.
בקטע Location type, בוחרים באפשרות Region או Multi-region.
- אם בחרתם באפשרות Region, בוחרים מיקום מהרשימה Region.
- אם בחרתם באפשרות מספר אזורים, בחרו באפשרות US או Europe מהרשימה מספר אזורים.
לוחצים על Create dataset.
BQ
יצירת חיבור
יוצרים קישור למשאבים ב-Cloud ומקבלים את חשבון השירות של הקישור. יוצרים את החיבור באותו מיקום של מערך הנתונים שיצרתם בשלב הקודם.
אם הגדרתם חיבור כברירת מחדל או שיש לכם את התפקיד אדמין ב-BigQuery, אתם יכולים לדלג על השלב הזה.
בוחרים באחת מהאפשרויות הבאות:המסוף
נכנסים לדף BigQuery.
בחלונית הימנית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על Expand left pane כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את שם הפרויקט ולוחצים על Connections.
בדף Connections, לוחצים על Create connection.
בשדה Connection type, בוחרים באפשרות Vertex AI remote models, remote functions, BigLake and Spanner (Cloud Resource).
בשדה מזהה החיבור, נותנים שם לחיבור.
בשדה Location type, בוחרים מיקום לחיבור. החיבור צריך להיות באותו מיקום כמו המשאבים האחרים, למשל מערכי נתונים.
לוחצים על יצירת חיבור.
לוחצים על מעבר לחיבור.
בחלונית Connection info, מעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר.
SQL
משתמשים בהצהרה CREATE CONNECTION:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
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(אופציונלי): תיאור של החיבור.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
בסביבה של שורת הפקודה, יוצרים חיבור:
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...
-
מאחזרים ומעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר:
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Terraform
משתמשים במשאב google_bigquery_connection.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה נוצר קישור למשאבים ב-Cloud בשם my_cloud_resource_connection באזור US:
כך מחילים את ההגדרות של Terraform בפרויקט ב- Google Cloud :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Google Cloud כדי להציג את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מתן גישה לחשבון השירות
בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף IAM & Admin.
לוחצים על Grant Access.
תיבת הדו-שיח Add principals נפתחת.
בשדה New principals, מזינים את מזהה חשבון השירות שהעתקתם קודם.
לוחצים על השדה Select a role ומקלידים
Cloud Speech Clientבשדה Filter.לוחצים על הוספת תפקיד.
בשדה Select a role, בוחרים באפשרות Cloud Storage ואז באפשרות Storage Object Viewer.
לוחצים על 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 על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.
מחיקת הפרויקט
המסוף
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
gcloud
כדי למחוק פרויקט ב- Google Cloud :
gcloud projects delete PROJECT_ID
מחיקת משאבים ספציפיים
אם אתם מתכננים להשאיר את הפרויקט שבו השתמשתם במדריך הזה, אתם יכולים למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים:
למחוק את מערך הנתונים: מחיקת מערך הנתונים תסיר גם את המודל המרוחק ואת טבלת האובייקטים שיצרתם בתוכו.
- נכנסים לדף BigQuery במסוף Google Cloud .
- בחלונית Explorer, מרחיבים את הפרויקט ובוחרים את מערך הנתונים שיצרתם.
- לוחצים על הצגת פעולות, ואז על מחיקה.
- בתיבת הדו-שיח, מקלידים
deleteולוחצים על מחיקה.
מחיקת החיבור:
- בחלונית Explorer, מרחיבים את שם הפרויקט ולוחצים על Connections.
- לוחצים על הסמל הצגת פעולות לצד החיבור שיצרתם, ובוחרים באפשרות מחיקה.
- בתיבת הדו-שיח, לוחצים על מחיקה כדי לאשר.
מוחקים את המזהה של Speech-to-Text (אם נוצר):
- נכנסים לדף Speech-to-Text Recognizers.
- מסמנים את התיבה לצד המזהה שיצרתם ולוחצים על Delete.
המאמרים הבאים
- למידע נוסף על הסקת מסקנות ממודלים ב-BigQuery ML, קראו את המאמר סקירה כללית על הסקת מסקנות ממודלים.
- למידע נוסף על השימוש בממשקי API של AI ב-Cloud לביצוע משימות AI, ראו סקירה כללית על אפליקציות AI.
- מידע נוסף על פונקציות והצהרות SQL נתמכות למודלים של AI גנרטיבי זמין במאמר תהליכים מקצה לקצה שעוברים המשתמשים במודלים של AI גנרטיבי.