Migrer du code de la version 3.1 vers la version 3.2 de l’API REST
L’API REST de reconnaissance vocale est utilisée pour la Transcription par lots et la reconnaissance vocale personnalisée. Cet article décrit les modifications de la version 3.1 à la version 3.2.
Important
L’API REST de reconnaissance vocale v3.2 est la dernière version en disponibilité générale. Les versions préliminaires 3.2-preview.1 et 3.2-preview.2* seront supprimées en septembre 2024. L’API REST de reconnaissance vocale v3.1 sera supprimée à une date qui sera annoncée ultérieurement. L’API REST de reconnaissance vocale v3.0 sera mise hors service le 1er avril 2026.
Chemin de base
Vous devez mettre à jour le chemin de base dans votre code en le modifiant de /speechtotext/v3.1
en /speechtotext/v3.2
. Par exemple, pour obtenir des modèles de base dans la région eastus
, utilisez https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base
plutôt que https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base
.
Pour plus d’informations, consultez ID d’opération plus loin dans ce guide.
Transcription Batch
Important
De nouveaux tarifs sont en vigueur pour la transcription par lots via l'API REST Speech to Text v3.2. Pour plus d’informations, consultez le guide de tarification.
Limitations de compatibilité descendante
N’utilisez pas l’API REST de reconnaissance vocale v3.0 ou v3.1 pour récupérer une transcription créée via l’API REST de reconnaissance vocale v3.2. Vous pourrez voir un message d'erreur comme celui-ci : « La version de l'API ne peut pas être utilisée pour accéder à cette transcription. Utilisez l'API version v3.2 ou ultérieure. »
Mode d’identification de la langue
LanguageIdentificationMode
est ajouté à LanguageIdentificationProperties
en tant que frère de candidateLocales
et speechModelMapping
. Les modes disponibles pour l’identification de la langue sont Continuous
ou Single
. L’identification continue de la langue est la valeur par défaut. Pour plus d’informations, consultez Identification de la langue.
Modèles Whisper
Azure AI Speech prend désormais en charge le modèle Whisper d’OpenAI via l’API REST Reconnaissance vocale v3.2. Pour plus d’informations, consultez le guide Créer une transcription par lots.
Remarque
Azure OpenAI Service prend également en charge le modèle Whisper d’OpenAI pour la reconnaissance vocale avec une API REST synchrone. Pour en savoir plus, consultez le guide de démarrage rapide. Consultez Qu’est-ce que le modèle Whisper ? pour en savoir plus sur l’utilisation d’Azure AI Speech et d’Azure OpenAI Service.
Reconnaissance vocale personnalisée
Important
Vous serez facturé pour la formation du modèle vocal personnalisé si le modèle de base a été créé le 1er octobre 2023 ou à une date ultérieure. La formation ne vous est pas facturée si le modèle de base a été créé avant octobre 2023. Pour plus d’informations, consultez Tarification d’Azure AI Speech.
Pour déterminer par programme si un modèle a été créé avant ou après le 1er octobre 2023, utilisez la propriété chargedForAdaptation
qui est nouvelle dans la version 3.2.
Afficher la mise en forme du texte personnalisé
Pour prendre en charge l’adaptation du modèle avec des données de mise en forme de texte d’affichage personnalisées, l’opération de Datasets_Create prend en charge le type de données OutputFormatting. Pour plus d’informations, consultez Charger des jeux de données.
Ajout d’une définition pour OutputFormatType
avec les valeurs d’énumération Lexical
et Display
.
"OutputFormatType": {
"title": "OutputFormatType",
"enum": [
"Lexical",
"Display"
],
"type": "string",
"x-ms-enum": {
"name": "OutputFormatType",
"modelAsString": true,
"values": [
{
"value": "Lexical",
"description": "Model provides the transcription output without formatting."
},
{
"value": "Display",
"description": "Model supports display formatting transcriptions output or endpoints."
}
]
}
},
La valeur d’énumération OutputFormattingData
est ajoutée à FileKind
(type de données d’entrée).
La propriété supportedOutputFormat
est ajoutée à BaseModelFeatures
. Cette propriété fait partie de la définition BaseModel
.
"BaseModelFeatures": {
"title": "BaseModelFeatures",
"description": "Features supported by the model.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/SharedModelFeatures"
}
],
"properties": {
"supportsAdaptationsWith": {
"description": "Supported dataset kinds to adapt the model.",
"type": "array",
"items": {
"$ref": "#/definitions/DatasetKind"
},
"readOnly": true
},
"supportedOutputFormat": {
"description": "Supported output formats.",
"type": "array",
"items": {
"$ref": "#/definitions/OutputFormatType"
},
"readOnly": true
}
}
},
Frais d’adaptation
La propriété chargeForAdaptation
est ajoutée à BaseModelProperties
. Cette propriété fait partie de la définition BaseModel
.
Important
Vous serez facturé pour la formation du modèle vocal personnalisé si le modèle de base a été créé le 1er octobre 2023 ou à une date ultérieure. La formation ne vous est pas facturée si le modèle de base a été créé avant octobre 2023. Pour plus d’informations, consultez Tarification d’Azure AI Speech.
Si la valeur de chargeForAdaptation
est true
, vous êtes facturé pour la formation du modèle. Si la valeur est false
, vous êtes facturé pour la formation du modèle. Utilisez la propriété chargeForAdaptation
au lieu de la date de création pour déterminer par programme si la formation d’un modèle vous est facturée.
"BaseModelProperties": {
"title": "BaseModelProperties",
"type": "object",
"properties": {
"deprecationDates": {
"$ref": "#/definitions/BaseModelDeprecationDates"
},
"features": {
"$ref": "#/definitions/BaseModelFeatures"
},
"chargeForAdaptation": {
"description": "A value indicating whether model adaptation is charged.",
"type": "boolean",
"readOnly": true
}
}
},
Normalisation du texte
La propriété textNormalizationKind
est ajoutée à DatasetProperties
.
Définition d’entité pour TextNormalizationKind : le type de normalisation de texte.
- Par défaut : normalisation du texte par défaut (par exemple, « deux à trois » remplace « 2 à 3 » en en-US).
- Aucun : aucune normalisation de texte n’est appliquée au texte d’entrée. Cette valeur est une option de remplacement qui ne doit être utilisée que lorsque le texte est normalisé avant le chargement.
Propriétés d’évaluation
Ajout du nombre de jetons et des propriétés d’erreur de jeton aux propriétés EvaluationProperties
:
correctTokenCount1
: nombre de jetons correctement reconnus par model1.tokenCount1
: nombre de jetons traités par model1.tokenDeletionCount1
: nombre de jetons reconnus par model1 qui sont des suppressions.tokenErrorRate1
: taux d’erreur de jeton de reconnaissance avec model1.tokenInsertionCount1
: nombre de jetons reconnus par model1 qui sont des insertions.tokenSubstitutionCount1
: nombre de mots reconnus par model1 qui sont des substitutions.correctTokenCount2
: nombre de jetons correctement reconnus par model2.tokenCount2
: nombre de jetons traités par model2.tokenDeletionCount2
: nombre de jetons reconnus par model2 qui sont des suppressions.tokenErrorRate2
: taux d’erreur de jeton de reconnaissance avec model2.tokenInsertionCount2
: nombre de jetons reconnus par model2 qui sont des insertions.tokenSubstitutionCount2
: nombre de mots reconnus par model2 qui sont des substitutions.
Copie de modèles
Les changements suivants s’appliquent au scénario dans lequel vous copiez un modèle.
- Ajout de la nouvelle opération Models_Copy. Voici le schéma dans la nouvelle opération de copie :
"$ref": "#/definitions/ModelCopyAuthorization"
- Dépréciation de l’opération Models_CopyTo. Voici le schéma dans l’opération de copie déconseillée :
"$ref": "#/definitions/ModelCopy"
- Ajout de la nouvelle opération Models_AuthorizeCopy qui retourne
"$ref": "#/definitions/ModelCopyAuthorization"
. Vous pouvez utiliser cette entité retournée dans la nouvelle opération Models_Copy.
Ajout d’une nouvelle définition d’entité pour ModelCopyAuthorization
:
"ModelCopyAuthorization": {
"title": "ModelCopyAuthorization",
"required": [
"expirationDateTime",
"id",
"sourceResourceId",
"targetResourceEndpoint",
"targetResourceId",
"targetResourceRegion"
],
"type": "object",
"properties": {
"targetResourceRegion": {
"description": "The region (aka location) of the target speech resource (e.g., westus2).",
"minLength": 1,
"type": "string"
},
"targetResourceId": {
"description": "The Azure Resource ID of the target speech resource.",
"minLength": 1,
"type": "string"
},
"targetResourceEndpoint": {
"description": "The endpoint (base url) of the target resource (with custom domain name when it is used).",
"minLength": 1,
"type": "string"
},
"sourceResourceId": {
"description": "The Azure Resource ID of the source speech resource.",
"minLength": 1,
"type": "string"
},
"expirationDateTime": {
"format": "date-time",
"description": "The expiration date of this copy authorization.",
"type": "string"
},
"id": {
"description": "The ID of this copy authorization.",
"minLength": 1,
"type": "string"
}
}
},
Ajout d’une nouvelle définition d’entité pour ModelCopyAuthorizationDefinition
:
"ModelCopyAuthorizationDefinition": {
"title": "ModelCopyAuthorizationDefinition",
"required": [
"sourceResourceId"
],
"type": "object",
"properties": {
"sourceResourceId": {
"description": "The Azure Resource ID of the source speech resource.",
"minLength": 1,
"type": "string"
}
}
},
Propriétés de copie CustomModelLinks
Ajout d’une nouvelle propriété copy
.
- URI
copyTo
: emplacement de l’action de copie de modèle obsolète. Pour plus d’informations, consultez l’opération Models_CopyTo. - URI
copy
: emplacement de l’action de copie de modèle. Pour plus d’informations, consultez l’opération Models_Copy.
"CustomModelLinks": {
"title": "CustomModelLinks",
"type": "object",
"properties": {
"copyTo": {
"format": "uri",
"description": "The location to the obsolete model copy action. See operation \"Models_CopyTo\" for more details.",
"type": "string",
"readOnly": true
},
"copy": {
"format": "uri",
"description": "The location to the model copy action. See operation \"Models_Copy\" for more details.",
"type": "string",
"readOnly": true
},
"files": {
"format": "uri",
"description": "The location to get all files of this entity. See operation \"Models_ListFiles\" for more details.",
"type": "string",
"readOnly": true
},
"manifest": {
"format": "uri",
"description": "The location to get a manifest for this model to be used in the on-prem container. See operation \"Models_GetCustomModelManifest\" for more details.",
"type": "string",
"readOnly": true
}
},
"readOnly": true
},
ID d'opération
Vous devez mettre à jour le chemin de base dans votre code en le modifiant de /speechtotext/v3.1
en /speechtotext/v3.2
. Par exemple, pour obtenir des modèles de base dans la région eastus
, utilisez https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base
plutôt que https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base
.