Transcrire des fichiers audio avec la fonction ML.TRANSCRIBE
Ce document explique comment utiliser la fonction ML.TRANSCRIBE
avec un modèle distant pour transcrire des fichiers audio à partir d'unetable d'objets.
Pays acceptés
Vous devez créer le modèle distant utilisé dans cette procédure dans l'un des emplacements suivants :
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
Vous devez exécuter la fonction ML.TRANSCRIBE
dans la même région que le modèle distant.
Autorisations requises
Pour utiliser un outil de reconnaissance Speech-to-Text, vous devez disposer des rôles suivants :
speech.recognizers.create
speech.recognizers.get
speech.recognizers.recognize
speech.recognizers.update
Pour créer une connexion, vous devez être inscrit au rôle suivant :
roles/bigquery.connectionAdmin
Pour créer le modèle à l'aide de BigQuery ML, vous devez disposer des autorisations suivantes :
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Pour exécuter une inférence, vous devez disposer des autorisations suivantes :
bigquery.tables.getData
sur la table d'objetsbigquery.models.getData
sur le modèlebigquery.jobs.create
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs.
Créer un outil de reconnaissance
Speech-to-Text accepte les ressources appelées "outils de reconnaissance". Ces outils de reconnaissance constituent la version stockée et réutilisable d'une configuration de reconnaissance. Vous pouvez créer un outil de reconnaissance pour regrouper logiquement les transcriptions ou le trafic de votre application.
La création d'un outil de reconnaissance vocale est facultative. Si vous choisissez de créer un outil de reconnaissance vocale, notez l'ID de projet, l'emplacement et l'ID de l'outil de reconnaissance à utiliser dans l'instruction CREATE MODEL
, comme décrit à la section SPEECH_RECOGNIZER
. Si vous choisissez de ne pas créer d'outil de reconnaissance vocale, vous devez spécifier une valeur pour l'argument recognition_config
de la fonction ML.TRANSCRIBE
.
Créer une connexion
Créez une connexion de ressource cloud et obtenez le compte de service de la connexion.
Sélectionnez l'une des options suivantes :
Console
Accédez à la page BigQuery.
Pour créer une connexion, cliquez sur
Ajouter, puis sur Connexions aux sources de données externes.Dans la liste Type de connexion, sélectionnez Modèles distants Vertex AI, fonctions distantes et BigLake (ressource Cloud).
Dans le champ ID de connexion, saisissez un nom pour votre connexion.
Cliquez sur Créer une connexion.
Cliquez sur Accéder à la connexion.
Dans le volet Informations de connexion, copiez l'ID du compte de service à utiliser à l'étape suivante.
bq
Dans un environnement de ligne de commande, créez une connexion :
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
Le paramètre
--project_id
remplace le projet par défaut.Remplacez les éléments suivants :
REGION
: votre région de connexionPROJECT_ID
: ID de votre projet Google CloudCONNECTION_ID
: ID de votre connexion
Lorsque vous créez une ressource de connexion, BigQuery crée un compte de service système unique et l'associe à la connexion.
Dépannage : Si vous obtenez l'erreur de connexion suivante, mettez à jour le Google Cloud SDK :
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
Récupérez et copiez l'ID du compte de service pour l'utiliser lors d'une prochaine étape :
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
Le résultat ressemble à ce qui suit :
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
Terraform
Ajoutez la section suivante à votre fichier main.tf
.
## This creates a cloud resource connection. ## Note: The cloud resource nested object has only one output only field - serviceAccountId. resource "google_bigquery_connection" "connection" { connection_id = "CONNECTION_ID" project = "PROJECT_ID" location = "REGION" cloud_resource {} }
CONNECTION_ID
: ID de votre connexionPROJECT_ID
: ID de votre projet Google CloudREGION
: votre région de connexion
Accorder l'accès au compte de service
Sélectionnez l'une des options suivantes :
Console
Accédez à la page IAM et administration.
Cliquez sur
Accorder l'accès.La boîte de dialogue Ajouter des comptes principaux s'ouvre.
Dans le champ Nouveaux comptes principaux, saisissez l'ID du compte de service que vous avez copié précédemment.
Cliquez sur le champ Sélectionner un rôle, puis saisissez
Cloud Speech Client
dans le champ Filtre.Cliquez sur Ajouter un autre rôle.
Dans le champ Sélectionner un rôle, sélectionnez Cloud Storage, puis Lecteur des objets Storage.
Cliquez sur Enregistrer.
gcloud
Exécutez la commande 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
Remplacez les éléments suivants :
PROJECT_NUMBER
: votre numéro de projet.MEMBER
: ID du compte de service que vous avez copié précédemment
L'échec de l'attribution de l'autorisation génère une erreur Permission denied
.
Créer un ensemble de données
Créez un ensemble de données pour contenir le modèle et la table d'objets.
Créer un modèle
Créez un modèle distant avec une valeur REMOTE_SERVICE_TYPE
de 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' );
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.DATASET_ID
: ID de l'ensemble de données pour contenir le modèle.MODEL_NAME
: nom du modèleREGION
: région utilisée par la connexion.CONNECTION_ID
: ID de connexion, par exemplemyconnection
.Lorsque vous affichez les détails de la connexion dans la console Google Cloud, il s'agit de la valeur de la dernière section de l'ID de connexion complet affiché dans ID de connexion (par exemple,
projects/myproject/locations/connection_location/connections/myconnection
).PROJECT_NUMBER
: numéro du projet contenant l'outil de reconnaissance vocale. Vous pouvez trouver cette valeur sur la fiche Informations sur le projet de la page Tableau de bord de la console Google Cloud.LOCATION
: emplacement utilisé par le système de reconnaissance vocale. Vous pouvez trouver cette valeur dans le champ Emplacement de la page Répertorier les outils de reconnaissance de la console Google Cloud.RECOGNIZER_ID
: ID de l'outil de reconnaissance vocale. Vous pouvez trouver cette valeur dans le champ ID de la page Répertorier les outils de reconnaissance de la console Google Cloud.
Créer une table d'objets
Créez une table d'objets sur un ensemble de fichiers audio dans Cloud Storage. Les fichiers audio de la table d'objets doivent être d'un type compatible.
Transcrire des fichiers audio
Transcrivez des fichiers audio avec la fonction 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') );
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.DATASET_ID
: ID de l'ensemble de données contenant le modèle.MODEL_NAME
: nom du modèleOBJECT_TABLE_NAME
: nom de la table d'objets contenant les URI des fichiers audio à traiter.recognition_config
: ressourceRecognitionConfig
au format JSON.Si vous avez spécifié un outil de reconnaissance pour l'option
SPEECH_RECOGNIZER
du modèle distant, vous pouvez éventuellement spécifier une valeurrecognition_config
pour remplacer la configuration par défaut de l'outil de reconnaissance spécifié.Vous devez spécifier cet argument si vous n'avez pas spécifié d'outil de reconnaissance pour le modèle distant.
Examples
Exemple 1
L'exemple suivant transcrit les fichiers audio représentés par la table audio
sans remplacer la configuration par défaut de l'outil de reconnaissance :
SELECT * FROM ML.TRANSCRIBE( MODEL `myproject.mydataset.transcribe_model`, TABLE `myproject.mydataset.audio` );
L'exemple suivant transcrit les fichiers audio représentés par la table audio
et remplace la configuration par défaut de l'outil de reconnaissance :
SELECT * FROM ML.TRANSCRIBE( MODEL `myproject.mydataset.transcribe_model`, TABLE `myproject.mydataset.audio`, recognition_config => ( JSON '{"language_codes": ["en-US" ],"model": "telephony","auto_decoding_config": {}}') );
Étapes suivantes
- Pour en savoir plus sur l'inférence de modèle dans BigQuery ML, consultez la page Présentation de l'inférence de modèle.
- Pour en savoir plus sur les instructions et les fonctions SQL compatibles avec chaque type de modèle, consultez la section Parcours utilisateur de bout en bout pour chaque modèle.