תמלול של קובצי אודיו באמצעות הפונקציה 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
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
יצירת רכיב לזיהוי דיבור
המרת דיבור לטקסט תומכת במשאבים שנקראים מזהים. רכיבי זיהוי מייצגים הגדרות זיהוי מאוחסנות וניתנות לשימוש חוזר. אתם יכולים ליצור רכיב לזיהוי כדי לקבץ באופן לוגי תמלילים או תנועה לאפליקציה שלכם.
יצירת מזהה דיבור היא אופציונלית. אם בוחרים ליצור מזהה דיבור, צריך לרשום את מזהה הפרויקט, המיקום ומזהה מזהה הדיבור כדי להשתמש בהם בהצהרה CREATE MODEL, כמו שמתואר במאמר SPEECH_RECOGNIZER.
אם לא יוצרים מזהה דיבור, צריך לציין ערך recognition_config לארגומנט של הפונקציה ML.TRANSCRIBE.
אפשר להשתמש רק בערך chirp
transcription model
במזהה הדיבור או בערך recognition_config שאתם מספקים.
יצירת מערך נתונים
יוצרים מערך נתונים ב-BigQuery שיכיל את המשאבים:
המסוף
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, לוחצים על שם הפרויקט.
לוחצים על הצגת פעולות > יצירת מערך נתונים.
בדף 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:
במסוף Cloud de Confiance , עוברים לדף 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: מזהה הפרויקט ב- Cloud de Confiance -
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.s3ns-system.iam.gserviceaccount.com"}
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Terraform
משתמשים במשאב google_bigquery_connection.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה נוצר קישור למשאבים ב-Cloud בשם my_cloud_resource_connection באזור US:
כדי להחיל את הגדרות Terraform בפרויקט ב- Cloud de Confiance , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Cloud de Confiance
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
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!".
- פותחים את Cloud de Confiance הפרויקט כדי לראות את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-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 שמשמשת את טבלת האובייקטים, צריך להעניק לחשבון השירות service-A@gcp-sa-aiplatform.s3ns-system.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 {DEFAULT | `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.כשמציגים את פרטי החיבור במסוף Cloud de Confiance , מזהה החיבור הוא הערך בקטע האחרון של מזהה החיבור המלא שמוצג במזהה החיבור – לדוגמה,
projects/myproject/locations/connection_location/connections/myconnection. -
PROJECT_NUMBER: מספר הפרויקט שמכיל את הכלי לזיהוי דיבור. אפשר לראות את הערך הזה בכרטיס Project info בדף Dashboard במסוף Cloud de Confiance . -
LOCATION: המיקום שבו נעשה שימוש במנגנון לזיהוי דיבור. אפשר לראות את הערך הזה בשדה מיקום בדף List recognizers במסוף Cloud de Confiance . -
RECOGNIZER_ID: המזהה של מנגנון זיהוי הדיבור. אפשר למצוא את הערך הזה בשדה ID בדף List recognizers במסוף Cloud de Confiance .האפשרות הזו לא נדרשת. אם לא מציינים ערך, המערכת משתמשת במזהה ברירת מחדל. במקרה כזה, צריך לציין ערך לפרמטר
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. הערך הזה משמש להגדרת מזהה ברירת המחדל.אפשר להשתמש רק בערך
chirptranscription model במאפיין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": {}}') );
המאמרים הבאים
- מידע נוסף על הסקת מסקנות ממודלים ב-BigQuery ML זמין במאמר סקירה כללית על הסקת מסקנות ממודלים.
- מידע נוסף על שימוש בממשקי Cloud AI API לביצוע משימות AI זמין במאמר סקירה כללית על אפליקציות AI.
- מידע נוסף על פונקציות והצהרות SQL נתמכות למודלים של AI גנרטיבי זמין במאמר מסלולי משתמשים מקצה לקצה למודלים של AI גנרטיבי.