תמלול של קובצי אודיו באמצעות הפונקציה ML.TRANSCRIBE
במדריך הזה נסביר איך לתמלל קובצי אודיו, כמו שיחות עם שירות לקוחות, פודקאסטים או פגישות מוקלטות, כדי לחלץ טקסט לניתוח המשך, לחיפוש מילות מפתח או לניתוח סנטימנט.
תשתמשו בפונקציה ML.TRANSCRIBE עם מודל מרחוק כדי לתמלל קובצי אודיו שמאוחסנים בטבלת אובייקטים.
מיקומים נתמכים
אתם צריכים ליצור את המודל המרוחק שמשמש בהליך הזה באחד מהמיקומים הבאים:
asia-northeast1asia-south1asia-southeast1australia-southeast1eueurope-west1europe-west2europe-west3europe-west4northamerica-northeast1usus-central1us-east1us-east4us-west1
צריך להפעיל את הפונקציה ML.TRANSCRIBE באותו אזור שבו נמצא המודל המרוחק.
התפקידים הנדרשים
כדי ליצור מודל מרוחק ולתמלל קובצי אודיו, צריך את התפקידים הבאים בניהול הזהויות והרשאות הגישה (IAM) ברמת הפרויקט:
- יצירת כלי לזיהוי דיבור: Cloud Speech Editor
(
roles/speech.editor) - יצירה ושימוש במערכי נתונים, בטבלאות ובמודלים של BigQuery:
הכלי לעריכת נתונים ב-BigQuery (
roles/bigquery.dataEditor) יצירה, הקצאה ושימוש בחיבורים ל-BigQuery: ניהול חיבורים ל-BigQuery (
roles/bigquery.connectionsAdmin)אם לא הגדרתם חיבור ברירת מחדל, תוכלו ליצור ולהגדיר אחד כחלק מהרצת ההצהרה
CREATE MODEL. כדי לעשות זאת, צריך להיות לכם תפקיד BigQuery Admin (roles/bigquery.admin) בפרויקט. מידע נוסף מופיע במאמר בנושא הגדרת חיבור ברירת המחדל.הענקת הרשאות לחשבון השירות של החיבור: אדמין IAM של פרויקט (
roles/resourcemanager.projectIamAdmin)יצירת משימות BigQuery: BigQuery Job User (שימוש במשימות BigQuery) (
roles/bigquery.jobUser)
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לביצוע המשימות שמתוארות במסמך הזה. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
- יצירת מערך נתונים:
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
transcription model
או בערך recognition_config שאתם מספקים במנגנון לזיהוי דיבור.
יצירת מערך נתונים
יוצרים מערך נתונים ב-BigQuery שיכיל את המשאבים:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

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

אם לא רואים את החלונית הימנית, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer מרחיבים את שם הפרויקט ואז לוחצים על Connections.
בדף Connections (חיבורים), לוחצים על Create connection (יצירת חיבור).
בשדה Connection type (סוג החיבור), בוחרים באפשרות Vertex AI remote models, remote functions, BigLake and Spanner (Cloud Resource) (מודלים מרוחקים של Vertex AI, פונקציות מרוחקות, BigLake ו-Spanner (משאב בענן)).
בשדה מזהה החיבור, מזינים שם לחיבור.
בקטע Location type, בוחרים מיקום לחיבור. החיבור צריך להיות ממוקם באותו מקום עם משאבים אחרים, כמו מערכי נתונים.
לוחצים על יצירת קישור.
לוחצים על מעבר לחיבור.
בחלונית Connection info, מעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב מאוחר יותר.
SQL
משתמשים בפקודה CREATE CONNECTION:
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
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 Admin ברמת הקטגוריה לחשבון השירות 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 , מזהה החיבור הוא הערך בקטע האחרון של מזהה החיבור המלא שמוצג במזהה החיבור – לדוגמה,
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: השם של טבלת האובייקטים שמכילה את כתובות ה-URI של קובצי האודיו לעיבוד. -
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
מחיקת משאבים בודדים
אם אתם מתכננים לשמור את הפרויקט שבו השתמשתם במדריך הזה, תוכלו למחוק את המשאבים הספציפיים שיצרתם כדי להימנע מחיובים נוספים:
מחיקת מערך הנתונים: מחיקת מערך הנתונים מסירה גם את המודל המרוחק ואת טבלת האובייקטים שיצרתם בתוכו.
- במסוף Google Cloud , עוברים אל הדף BigQuery.
- בחלונית Explorer מרחיבים את הפרויקט ובוחרים את מערך הנתונים שיצרתם.
- לוחצים על הצגת פעולות ואז על מחיקה.
- בתיבת הדו-שיח, מקלידים
deleteולוחצים על מחיקה.
כדי למחוק את החיבור:
- בחלונית Explorer, מרחיבים את שם הפרויקט ולוחצים על Connections (חיבורים).
- לוחצים על סמל הצגת פעולות לצד החיבור שיצרתם ובוחרים באפשרות מחיקה.
- בתיבת הדו-שיח, לוחצים על מחיקה כדי לאשר.
מחיקת רכיב Speech-to-Text לזיהוי דיבור (אם הוא נוצר):
- עוברים אל הדף Speech-to-Text Recognizers.
- מסמנים את התיבה לצד הכלי לזיהוי דיבור שיצרתם ולוחצים על מחיקה.
המאמרים הבאים
- מידע נוסף על הסקת מסקנות ממודלים ב-BigQuery ML זמין במאמר סקירה כללית על הסקת מסקנות ממודלים.
- מידע נוסף על שימוש בממשקי Cloud AI API לביצוע משימות AI זמין במאמר סקירה כללית על אפליקציות AI.
- מידע נוסף על פונקציות והצהרות SQL נתמכות למודלים של AI גנרטיבי זמין במאמר מסלולי משתמשים מקצה לקצה למודלים של AI גנרטיבי.