Migrer du code de la version v3.0 vers la version 3.1 de l’API REST

L’API REST de reconnaissance vocale est utilisée pour la Transcription par lots et la reconnaissance vocale personnalisée. Les modifications de la version 3.0 à la version 3.1 sont décrites dans les sections ci-dessous.

Important

L’API REST de reconnaissance vocale v3.2 est en préversion. L’API REST de reconnaissance vocale v3.1 est en disponibilité générale. L’API REST de reconnaissance vocale v3.0 sera mise hors service le 1er avril 2026. Pour plus d’informations, consultez les guides de migration de l’API REST reconnaissance vocale v3.0 vers v3.1 et v3.1 vers v3.2.

Chemin de base

Vous devez mettre à jour le chemin de base dans votre code en le modifiant de /speechtotext/v3.0 en /speechtotext/v3.1. Par exemple, pour obtenir des modèles de base dans la région eastus, utilisez https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base plutôt que https://eastus.api.cognitive.microsoft.com/speechtotext/v3.0/models/base.

Notez ces autres changements :

  • L’opération /models/{id}/copyto (inclut « / ») dans la version 3.0 est remplacée par l’opération /models/{id}:copyto (inclut « : ») dans la version 3.1.
  • L’opération /webhooks/{id}/ping (inclut « / ») dans la version 3.0 est remplacée par l’opération /webhooks/{id}:ping (inclut « : ») dans la version 3.1.
  • L’opération /webhooks/{id}/test (inclut « / ») dans la version 3.0 est remplacée par l’opération /webhooks/{id}:test (inclut « : ») dans la version 3.1.

Pour plus d’informations, consultez ID d’opération plus loin dans ce guide.

Transcription Batch

Notes

N’utilisez pas l’API REST de reconnaissance vocale v3.0 pour récupérer une transcription créée via l’API REST de reconnaissance vocale v3.1. Vous verriez un message d’erreur tel que le suivant : « La version de l’API ne peut pas être utilisée pour accéder à cette transcription. Utilisez l’API version v3.1 ou ultérieure. »

Dans l’opération Transcriptions_Create, les trois propriétés suivantes sont ajoutées :

  • La propriété displayFormWordLevelTimestampsEnabled peut être utilisée pour activer la création de rapports d’horodatages au niveau mot sur le formulaire d’affichage des résultats de la transcription. Les résultats sont retournés dans la propriété displayWords du fichier de transcription.
  • La propriété diarization peut être utilisée pour spécifier des indicateurs pour les nombres minimal et maximal d’étiquettes d’orateur à générer lors de l’exécution de la diarisation facultative (séparation de l’orateur). Avec cette fonctionnalité, le service est désormais en mesure de générer des étiquettes d’orateur pour plus de deux haut-parleurs. Pour utiliser cette propriété, vous devez également définir la propriété diarizationEnabled sur true. Avec l’API v3.1, nous avons augmenté le nombre d’orateurs pouvant être identifiés par la diarisation à partir des deux orateurs pris en charge par l’API v3.0. Il est recommandé de ne pas dépasser 30 orateurs pour de meilleures performances.
  • La propriété languageIdentification peut être utilisée pour spécifier des paramètres pour l’identification de la langue sur l’entrée avant la transcription. Jusqu’à 10 paramètres régionaux candidats sont pris en charge pour l’identification linguistique. La transcription retournée inclut une nouvelle propriété locale pour la langue reconnue ou les paramètres régionaux que vous avez fournis.

La propriété filter est ajoutée aux opérations Transcriptions_List, Transcriptions_ListFiles et Projects_ListTranscriptions. L’expression filter peut être utilisée pour sélectionner un sous-ensemble des ressources disponibles. Vous pouvez filtrer sur displayName, description, createdDateTime, lastActionDateTime, status et locale. Par exemple : filter=createdDateTime gt 2022-02-01T11:00:00Z

Si vous utilisez un webhook pour recevoir des notifications sur l’état de la transcription, notez que les webhooks créés via l’API v3.0 ne peuvent pas recevoir de notifications pour les demandes de transcription v3.1. Vous devez créer un point de terminaison webhook via l’API v3.1 pour pouvoir recevoir des notifications pour les demandes de transcription v3.1.

Reconnaissance vocale personnalisée

Groupes de données

Les opérations suivantes sont ajoutées pour le chargement et la gestion de plusieurs blocs de données pour un jeu de données :

  • Datasets_UploadBlock : charger un bloc de données pour le jeu de données. La taille maximale du bloc est de 8 Mo.
  • Datasets_GetBlocks : obtenir la liste des blocs chargés pour ce jeu de données.
  • Datasets_CommitBlocks : valider la liste de blocs pour terminer le chargement du jeu de données.

Pour prendre en charge l’adaptation du modèle avec des données de texte structuré en Markdown, l’opération Datasets_Create prend désormais en charge le type de données LanguageMarkdown. Pour plus d’informations, consultez Charger des jeux de données.

Modèles

Les opérations Models_ListBaseModels et Models_GetBaseModel retournent des informations sur le type d’adaptation pris en charge par chaque modèle de base.

"features": {
    "supportsAdaptationsWith": [
        "Acoustic",
        "Language",
        "LanguageMarkdown",
        "Pronunciation"
    ]
}

L’opération Models_Create a une nouvelle propriété customModelWeightPercent qui vous permet de spécifier la pondération utilisée lorsque le modèle de langage personnalisé (entraîné à partir de données de texte brut ou structuré) est combiné avec le modèle de langage de base. Les valeurs valides sont des entiers compris entre 1 et 100. La valeur par défaut est 30 actuellement.

La propriété filter est ajoutée aux opérations suivantes :

L’expression filter peut être utilisée pour sélectionner un sous-ensemble des ressources disponibles. Vous pouvez filtrer sur displayName, description, createdDateTime, lastActionDateTime, status, locale et kind. Par exemple : filter=locale eq 'en-US'

Ajout de l’opération Models_ListFiles pour obtenir les fichiers du modèle identifié par l’ID donné.

Ajout de l’opération Models_GetFile pour obtenir un fichier spécifique (identifié avec fileId) à partir d’un modèle (identifié avec ID). Cela vous permet de récupérer un fichier ModelReport qui fournit des informations sur les données traitées pendant l’entraînement.

ID d'opération

Vous devez mettre à jour le chemin de base dans votre code en le modifiant de /speechtotext/v3.0 en /speechtotext/v3.1. Par exemple, pour obtenir des modèles de base dans la région eastus, utilisez https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base plutôt que https://eastus.api.cognitive.microsoft.com/speechtotext/v3.0/models/base.

Le nom de chaque operationId dans la version 3.1 a pour préfixe le nom de l’objet. Par exemple, le operationId pour « Créer un modèle » a changé de CreateModel dans la version 3.0 à Models_Create dans la version 3.1.

Path Méthode ID d’opération version 3.1 ID d’opération version 3.0
/datasets GET Datasets_List GetDatasets
/datasets POST Datasets_Create CreateDataset
/datasets/{id} Suppression Datasets_Delete DeleteDataset
/datasets/{id} GET Datasets_Get GetDataset
/datasets/{id} PATCH Datasets_Update UpdateDataset
/datasets/{id}/blocks:commit POST Datasets_CommitBlocks Non applicable
/datasets/{id}/blocks GET Datasets_GetBlocks Non applicable
/datasets/{id}/blocks PUT Datasets_UploadBlock Non applicable
/datasets/{id}/files GET Datasets_ListFiles GetDatasetFiles
/datasets/{id}/files/{fileId} GET Datasets_GetFile GetDatasetFile
/datasets/locales GET Datasets_ListSupportedLocales GetSupportedLocalesForDatasets
/datasets/upload POST Datasets_Upload UploadDatasetFromForm
/endpoints GET Endpoints_List GetEndpoints
/endpoints POST Endpoints_Create CreateEndpoint
/endpoints/{id} Suppression Endpoints_Delete DeleteEndpoint
/endpoints/{id} GET Endpoints_Get GetEndpoint
/endpoints/{id} PATCH Endpoints_Update UpdateEndpoint
/endpoints/{id}/files/logs Suppression Endpoints_DeleteLogs DeleteEndpointLogs
/endpoints/{id}/files/logs GET Endpoints_ListLogs GetEndpointLogs
/endpoints/{id}/files/logs/{logId} Suppression Endpoints_DeleteLog DeleteEndpointLog
/endpoints/{id}/files/logs/{logId} GET Endpoints_GetLog GetEndpointLog
/endpoints/base/{locale}/files/logs Suppression Endpoints_DeleteBaseModelLogs DeleteBaseModelLogs
/endpoints/base/{locale}/files/logs GET Endpoints_ListBaseModelLogs GetBaseModelLogs
/endpoints/base/{locale}/files/logs/{logId} Suppression Endpoints_DeleteBaseModelLog DeleteBaseModelLog
/endpoints/base/{locale}/files/logs/{logId} GET Endpoints_GetBaseModelLog GetBaseModelLog
/endpoints/locales GET Endpoints_ListSupportedLocales GetSupportedLocalesForEndpoints
/evaluations GET Evaluations_List GetEvaluations
/evaluations POST Evaluations_Create CreateEvaluation
/evaluations/{id} Suppression Evaluations_Delete DeleteEvaluation
/evaluations/{id} GET Evaluations_Get GetEvaluation
/evaluations/{id} PATCH Evaluations_Update UpdateEvaluation
/evaluations/{id}/files GET Evaluations_ListFiles GetEvaluationFiles
/evaluations/{id}/files/{fileId} GET Evaluations_GetFile GetEvaluationFile
/evaluations/locales GET Evaluations_ListSupportedLocales GetSupportedLocalesForEvaluations
/healthstatus GET HealthStatus_Get GetHealthStatus
/models GET Models_ListCustomModels GetModels
/models POST Models_Create CreateModel
/models/{id}:copyto1 POST Models_CopyTo CopyModelToSubscription
/models/{id} Suppression Models_Delete DeleteModel
/models/{id} GET Models_GetCustomModel GetModel
/models/{id} PATCH Models_Update UpdateModel
/models/{id}/files GET Models_ListFiles Non applicable
/models/{id}/files/{fileId} GET Models_GetFile Non applicable
/models/{id}/manifest GET Models_GetCustomModelManifest GetModelManifest
/models/base GET Models_ListBaseModels GetBaseModels
/models/base/{id} GET Models_GetBaseModel GetBaseModel
/models/base/{id}/manifest GET Models_GetBaseModelManifest GetBaseModelManifest
/models/locales GET Models_ListSupportedLocales GetSupportedLocalesForModels
/projects GET Projects_List GetProjects
/projects POST Projects_Create CreateProject
/projects/{id} Suppression Projects_Delete DeleteProject
/projects/{id} GET Projects_Get GetProject
/projects/{id} PATCH Projects_Update UpdateProject
/projects/{id}/datasets GET Projects_ListDatasets GetDatasetsForProject
/projects/{id}/endpoints GET Projects_ListEndpoints GetEndpointsForProject
/projects/{id}/evaluations GET Projects_ListEvaluations GetEvaluationsForProject
/projects/{id}/models GET Projects_ListModels GetModelsForProject
/projects/{id}/transcriptions GET Projects_ListTranscriptions GetTranscriptionsForProject
/projects/locales GET Projects_ListSupportedLocales GetSupportedProjectLocales
/transcriptions GET Transcriptions_List GetTranscriptions
/transcriptions POST Transcriptions_Create CreateTranscription
/transcriptions/{id} Suppression Transcriptions_Delete DeleteTranscription
/transcriptions/{id} GET Transcriptions_Get GetTranscription
/transcriptions/{id} PATCH Transcriptions_Update UpdateTranscription
/transcriptions/{id}/files GET Transcriptions_ListFiles GetTranscriptionFiles
/transcriptions/{id}/files/{fileId} GET Transcriptions_GetFile GetTranscriptionFile
/transcriptions/locales GET Transcriptions_ListSupportedLocales GetSupportedLocalesForTranscriptions
/webhooks GET WebHooks_List GetHooks
/webhooks POST WebHooks_Create CreateHook
/webhooks/{id}:ping2 POST WebHooks_Ping PingHook
/webhooks/{id}:test3 POST WebHooks_Test TestHook
/webhooks/{id} Suppression WebHooks_Delete DeleteHook
/webhooks/{id} GET WebHooks_Get GetHook
/webhooks/{id} PATCH WebHooks_Update UpdateHook

1 L’opération /models/{id}/copyto (inclut « / ») de la version 3.0 est remplacée par l’opération /models/{id}:copyto (inclut « : ») de la version 3.1.

2 L’opération /webhooks/{id}/ping (inclut « / ») dans la version 3.0 est remplacée par l’opération /webhooks/{id}:ping (inclut « : ») dans la version 3.1.

3 L’opération /webhooks/{id}/test (inclut « / ») dans la version 3.0 est remplacée par l’opération /webhooks/{id}:test (inclut « : ») dans la version 3.1.

Étapes suivantes