Utiliser la ressource Speech Apporter votre propre stockage (BYOS) pour la reconnaissance vocale

Apporter votre propre stockage (BYOS) peut être utilisé dans les scénarios de reconnaissance vocale suivants :

  • Transcription Batch
  • Transcription en temps réel avec la journalisation des résultats audio et de transcription activée
  • Custom Speech

Une paire de ressources Speech et d’un compte de stockage peut être utilisée simultanément pour tous les scénarios.

Cet article explique en détail comment utiliser une ressource Speech compatible BYOS dans tous les scénarios de reconnaissance vocale. L’article implique que vous disposez d’une ressource Speech entièrement configurée avec BYOS et d’un compte de stockage associé.

Stockage des données

Lors de l’utilisation de BYOS, le service Speech ne conserve aucun artefact client une fois le traitement des données (transcription, apprentissage du modèle, test du modèle) terminé. Toutefois, certaines métadonnées qui ne sont pas dérivées du contenu utilisateur sont stockées dans les locaux du service Speech. Par exemple, dans le scénario Custom Speech, le service conserve certaines informations sur les points de terminaison personnalisés, notamment les modèles utilisés.

Le compte de stockage associé à BYOS stocke les données suivantes :

Remarque

Dans cette section, Facultatif signifie qu’il est possible, mais pas obligatoire, de stocker les artefacts particuliers dans le compte de stockage associé à BYOS. Si nécessaire, ils peuvent être stockés ailleurs.

Transcription par lot

  • Audio source (facultatif)
  • Résultats de la transcription par lots

Transcription en temps réel avec audio et journalisation des résultats de transcription activés

  • Audio et journaux des résultats de transcription

Custom Speech

  • Fichiers sources des jeux de données pour l’apprentissage et les tests du modèle (facultatif)
  • Toutes les données et métadonnées relatives aux modèles personnalisés hébergés par la ressource Speech avec BYOS (y compris les copies des jeux de données pour l’apprentissage et les tests du modèle)

Transcription Batch

La transcription par lots est utilisée pour la transcription d’importants volumes de données audio stockées. Si vous n’êtes pas familiarisé avec la transcription par lots, consultez d’abord cet article.

Procédez comme suit pour exécuter la transcription par lots avec la ressource Speech avec BYOS :

  1. Démarrez la transcription par lots comme décrit dans ce guide.

    Important

    N’utilisez pas le paramètre destinationContainerUrl dans votre demande de transcription. Si vous utilisez BYOS, les résultats de la transcription sont stockés automatiquement dans le compte de stockage associé à BYOS.

    L’utilisation du paramètre destinationContainerUrl fonctionnera, mais fournira une sécurité significativement inférieure pour vos données, en raison de l’utilisation de la signature d’accès partagé ad hoc. Consultez les informations détaillées ici.

  2. Une fois la transcription terminée, obtenez les résultats de la transcription conformément à ce guide. Envisagez d’utiliser le paramètre sasValidityInSeconds (voir la section suivante).

Le service Speech utilise un conteneur d’objets blob customspeech-artifacts dans le compte de stockage associé à BYOS pour stocker les résultats de transcription intermédiaires et finaux.

Attention

Le service Speech s’appuie sur des chemins de conteneur d’objets blob et des noms de fichiers prédéfinis pour que le module de transcription par lots fonctionne correctement. Ne déplacez, ne renommez et ne modifiez d’aucune manière le contenu du conteneur customspeech-artifacts.

Si vous ne le faites pas, vous rencontrerez très probablement des erreurs de service 4xx et 5xx difficiles à déboguer.

Ne créez pas non plus de solutions qui utilisent directement les fichiers et les dossiers du customspeech-artifacts conteneur. Utilisez des outils standard pour interagir avec la transcription par lots. Pour plus d’informations, consultez la section Transcription par lots.

Obtenir les résultats de la transcription par lots via l’API REST

L’API REST de reconnaissance vocale prend entièrement en charge les ressources Speech avec BYOS. Toutefois, étant donné que les données sont désormais stockées dans le compte de stockage avec BYOS, les requêtes telles que Obtenir des fichiers de transcription interagissent avec le stockage Blob du compte de stockage associé à BYOS, plutôt qu’avec les ressources internes du service Speech. Cela permet d’utiliser le même code basé sur l’API REST pour les ressources Speech « standard » et avec BYOS.

Pour une sécurité maximale, utilisez le paramètre sasValidityInSeconds avec la valeur définie sur 0 dans les demandes, qui retournent des URL de fichier de données, comme la requête Obtenir des fichiers de transcription. Voici un exemple d’URL de requête :

https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/3b24ca19-2eb1-4a2a-b964-35d89eca486b/files?sasValidityInSeconds=0

Une telle requête retourne des URL de compte de stockage directes aux fichiers de données (sans signature d'accès partagé ou autres ajouts). Par exemple :

"links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.windows.net/customspeech-artifacts/TranscriptionData/3b24ca19-2eb1-4a2a-b964-35d89eca486b_0_0.json"
      }

Les URL de ce format garantissent que seules les identités Microsoft Entra (utilisateurs, principaux de service, identités managées) disposant de droits d’accès suffisants (comme le rôle Lecteur des données Blob du stockage) peuvent accéder aux données à partir de l’URL.

Avertissement

Si le paramètre sasValidityInSeconds est omis dans une requête Obtenir des fichiers de transcription ou autre, une SAP de délégation d’utilisateur avec une validité de 5 jours est générée pour chaque URL de fichier de données retourné. Cette signature d’accès partagé est signée par l’identité managée affectée par le système de votre ressource Speech avec BYOS. Pour cette raison, la signature d’accès partagé autorise l’accès aux données, même si l’accès à la clé du compte de stockage est désactivé. Consultez les informations détaillées ici.

Transcription en temps réel avec journalisation des résultats audio et de transcriptions activée

Vous pouvez activer la journalisation pour l’entrée audio et la reconnaissance vocale lors de l’utilisation de la reconnaissance vocale ou de la traduction vocale. Consultez la description complète dans cet article.

Si vous utilisez BYOS, vous trouvez les journaux dans le conteneur d’objets blob customspeech-audiologs dans le compte de stockage associé à BYOS.

Avertissement

Les données de journalisation sont conservées pendant 5 jours. Après cette période, les journaux sont automatiquement supprimés. Cela est également valide pour les ressources Speech avec BYOS. Si vous souhaitez conserver les journaux plus longtemps, copiez directement les fichiers et dossiers correspondants à partir du conteneur d’objets blob customspeech-audiologs ou utilisez l’API REST.

Obtenir des journaux de transcription en temps réel via l’API REST

L’API REST de reconnaissance vocale prend entièrement en charge les ressources Speech avec BYOS. Toutefois, étant donné que les données sont désormais stockées dans le compte de stockage avec BYOS, les requêtes telles que Obtenir les journaux du modèle de base interagissent avec le stockage Blob du compte de stockage associé à BYOS, plutôt qu’avec les ressources internes du service Speech. Cela permet d’utiliser le même code basé sur l’API REST pour les ressources Speech « standard » et avec BYOS.

Pour une sécurité maximale, utilisez le paramètre sasValidityInSeconds avec la valeur définie sur 0 dans les demandes, qui retournent des URL de fichier de données, comme la requête Obtenir les journaux du modèle de base. Voici un exemple d’URL de requête :

https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/endpoints/base/en-US/files/logs?sasValidityInSeconds=0

Une telle requête retourne des URL de compte de stockage directes aux fichiers de données (sans signature d'accès partagé ou autres ajouts). Par exemple :

"links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.windows.net/customspeech-audiologs/be172190e1334399852185c0addee9d6/en-US/2023-07-06/152339_fcf52189-0d3f-4415-becd-5f639fd7fd6b.v2.json"
      }

Les URL de ce format garantissent que seules les identités Microsoft Entra (utilisateurs, principaux de service, identités managées) disposant de droits d’accès suffisants (comme le rôle Lecteur des données Blob du stockage) peuvent accéder aux données à partir de l’URL.

Avertissement

Si le paramètre sasValidityInSeconds est omis dans une requête Obtenir les journaux du modèle de base ou autre, une SAP de délégation d’utilisateur avec une validité de 5 jours est générée pour chaque URL de fichier de données retourné. Cette signature d’accès partagé est signée par l’identité managée affectée par le système de votre ressource Speech avec BYOS. Pour cette raison, la signature d’accès partagé autorise l’accès aux données, même si l’accès à la clé du compte de stockage est désactivé. Consultez les informations détaillées ici.

Custom Speech

Avec vocal personnalisé, vous pouvez évaluer et améliorer l’exactitude de la reconnaissance vocale pour vos applications et produits. Un modèle vocal personnalisé peut être utilisé pour la reconnaissance vocale en temps réel, la traduction vocale et la transcription par lots. Pour plus d’informations, consultez la Vue d’ensemble de Custom Speech.

Il n’existe rien de spécifique sur la façon dont vous utilisez Custom Speech avec une ressource Speech compatible BYOS. La seule différence réside dans l’emplacement où toutes les données liées au modèle personnalisé, que le service Speech collecte et produit pour vous, sont stockées. Les données sont stockées dans les conteneurs d’objets blob suivants du compte de stockage associé à BYOS :

  • customspeech-models - Emplacement des modèles Custom Speech
  • customspeech-artifacts - Emplacement de toutes les autres données Custom Speech

La structure du conteneur de blobs est fournie à titre informatif uniquement et peut changer sans préavis.

Attention

Le service Speech repose sur des chemins de conteneurs d’objets blob et des noms de fichiers prédéfinis pour permettre au module Custom Speech de fonctionner correctement. Vous ne devez pas déplacer, renommer ou modifier de quelque manière que ce soit le contenu du conteneur customspeech-models, ni les dossiers liés à Custom Speech dans le conteneur customspeech-artifacts.

Si vous ne le faites pas, vous rencontrerez très probablement des erreurs difficiles à déboguer, ce qui pourrait nécessiter le réapprentissage du modèle personnalisé.

Ne créez pas non plus de solutions qui utilisent directement les fichiers et les dossiers du customspeech-artifacts conteneur. Utilisez des outils standard, par exemple l’API REST et Speech Studio pour interagir avec les données liées à Custom Speech. Pour plus d’informations, consultez la section relative à Custom Speech.

Utilisation de l’API REST avec Custom Speech

L’API REST de reconnaissance vocale prend entièrement en charge les ressources Speech avec BYOS. Toutefois, étant donné que les données sont désormais stockées dans le compte de stockage avec BYOS, les requêtes telles que Datasets_ListFiles interagissent avec le stockage Blob du compte de stockage associé à BYOS, plutôt qu’avec les ressources internes du service Speech. Cela permet d’utiliser le même code basé sur l’API REST pour les ressources Speech « standard » et avec BYOS.

Pour une sécurité maximale, utilisez le paramètre sasValidityInSeconds avec la valeur définie sur 0 dans les demandes, qui retournent des URL de fichier de données, comme la requête Obtenir les fichiers de jeux de données. Voici un exemple d’URL de requête :

https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/8427b92a-cb50-4cda-bf04-964ea1b1781b/files?sasValidityInSeconds=0

Une telle requête retourne des URL de compte de stockage directes aux fichiers de données (sans signature d'accès partagé ou autres ajouts). Par exemple :

 "links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.windows.net/customspeech-artifacts/AcousticData/8427b92a-cb50-4cda-bf04-964ea1b1781b/4a61ddac-5b1c-4c21-b87d-22001b0f18ab.zip"
      }

Les URL de ce format garantissent que seules les identités Microsoft Entra (utilisateurs, principaux de service, identités managées) disposant de droits d’accès suffisants (comme le rôle Lecteur des données Blob du stockage) peuvent accéder aux données à partir de l’URL.

Avertissement

Si le paramètre sasValidityInSeconds est omis dans une requête Obtenir les fichiers de jeux de données ou autre, une SAP de délégation d’utilisateur avec une validité de 5 jours est générée pour chaque URL de fichier de données retourné. Cette signature d’accès partagé est signée par l’identité managée affectée par le système de votre ressource Speech avec BYOS. Pour cette raison, la signature d’accès partagé autorise l’accès aux données, même si l’accès à la clé du compte de stockage est désactivé. Consultez les informations détaillées ici.

Étapes suivantes