Migrar código da v3.1 para a v3.2 da API REST
A API REST Speech to text é usada para transcrição em lote e fala personalizada. Este artigo descreve as alterações da versão 3.1 para 3.2.
Importante
Speech to text REST API v3.2 é a versão mais recente disponível em geral. As versões de visualização 3.2-preview.1 e 3.2-preview.2* serão removidas em setembro de 2024. A API REST de fala para texto v3.1 será desativada em uma data a ser anunciada. A API REST de fala para texto v3.0 será desativada em 1º de abril de 2026.
Caminho base
Você deve atualizar o caminho base em seu código de /speechtotext/v3.1
para /speechtotext/v3.2
. Por exemplo, para obter modelos base na eastus
região, use https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base
em vez de https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base
.
Para obter mais informações, consulte IDs de operação mais adiante neste guia.
Transcrição em lotes
Importante
Novos preços estão em vigor para transcrição em lote via Speech to text REST API v3.2. Para obter mais informações, consulte o guia de preços.
Limitações de compatibilidade com versões anteriores
Não use a API REST de fala para texto v3.0 ou v3.1 para recuperar uma transcrição criada por meio da API REST de fala para texto v3.2. Você pode ver uma mensagem de erro como: "A versão da API não pode ser usada para acessar esta transcrição. Use a versão da API v3.2 ou superior."
Modo de identificação linguística
O LanguageIdentificationMode
é adicionado como LanguageIdentificationProperties
irmão de candidateLocales
e speechModelMapping
. Os modos disponíveis para a identificação do idioma são Continuous
ou Single
. A identificação contínua do idioma é o padrão. Para obter mais informações, consulte Identificação de idioma.
Modelos de sussurro
O Azure AI Speech agora suporta o modelo Whisper da OpenAI por meio da API REST de fala para texto v3.2. Para saber mais, consulte o guia Criar uma transcrição em lote.
Nota
O Serviço OpenAI do Azure também suporta o modelo Whisper da OpenAI para conversão de voz em texto com uma API REST síncrona. Para saber mais, confira o guia de início rápido. Confira O que é o modelo Whisper?, para saber mais sobre quando usar o Azure AI Speech versus o Azure OpenAI Service.
Fala personalizada
Importante
Você será cobrado pelo treinamento de modelo de fala personalizado se o modelo base tiver sido criado em 1º de outubro de 2023 e posteriormente. Você não será cobrado pelo treinamento se o modelo base tiver sido criado antes de outubro de 2023. Para obter mais informações, consulte Preços do Azure AI Speech.
Para determinar programaticamente se um modelo foi criado antes ou depois de 1º de outubro de 2023, use a chargedForAdaptation
propriedade que é nova na versão 3.2.
Formatação de texto de exibição personalizada
Para dar suporte à adaptação do modelo com dados de formatação de texto de exibição personalizados, a operação Datasets_Create suporta o tipo de dados OutputFormating. Para obter mais informações, consulte carregar conjuntos de dados.
Adicionada uma definição para OutputFormatType
valores com Lexical
e Display
enum.
"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."
}
]
}
},
O OutputFormattingData
valor do enum é adicionado a FileKind
(tipo de dados de entrada).
A supportedOutputFormat
propriedade é adicionada ao BaseModelFeatures
. Esta propriedade está dentro da BaseModel
definição.
"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
}
}
},
Taxa de adaptação
A chargeForAdaptation
propriedade é adicionada ao BaseModelProperties
. Esta propriedade está dentro da BaseModel
definição.
Importante
Você será cobrado pelo treinamento de modelo de fala personalizado se o modelo base tiver sido criado em 1º de outubro de 2023 e posteriormente. Você não será cobrado pelo treinamento se o modelo base tiver sido criado antes de outubro de 2023. Para obter mais informações, consulte Preços do Azure AI Speech.
Se o valor de chargeForAdaptation
for true
, você será cobrado pelo treinamento do modelo. Se o valor for false
, você será cobrado pelo treinamento do modelo. Use a chargeForAdaptation
propriedade em vez da data criada para determinar programaticamente se você será cobrado pelo treinamento de um modelo.
"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
}
}
},
Normalização de texto
A textNormalizationKind
propriedade é adicionada ao DatasetProperties
.
Definição de entidade para TextNormalizationKind: O tipo de normalização de texto.
- Padrão: normalização de texto padrão (por exemplo, 'dois a três' substitui '2 a 3' em en-US).
- Nenhum: Nenhuma normalização de texto é aplicada ao texto de entrada. Esse valor é uma opção de substituição que só deve ser usada quando o texto é normalizado antes do upload.
Propriedades de avaliação
Adicionadas propriedades de contagem de token e erro de token às EvaluationProperties
propriedades:
correctTokenCount1
: O número de tokens reconhecidos corretamente por model1.tokenCount1
: O número de tokens processados por modelo1.tokenDeletionCount1
: O número de tokens reconhecidos por model1 que são exclusões.tokenErrorRate1
: A taxa de erro de token de reconhecimento com model1.tokenInsertionCount1
: O número de tokens reconhecidos por model1 que são inserções.tokenSubstitutionCount1
: O número de palavras reconhecidas pelo modelo1 que são substituições.correctTokenCount2
: O número de tokens reconhecidos corretamente por model2.tokenCount2
: O número de tokens processados por modelo2.tokenDeletionCount2
: O número de tokens reconhecidos por model2 que são exclusões.tokenErrorRate2
: A taxa de erro de token de reconhecimento com model2.tokenInsertionCount2
: O número de tokens reconhecidos por model2 que são inserções.tokenSubstitutionCount2
: O número de palavras reconhecidas pelo modelo2 que são substituições.
Cópia do modelo
As alterações a seguir são para o cenário em que você copia um modelo.
- Adicionada a nova operação Models_Copy . Aqui está o esquema na nova operação de cópia:
"$ref": "#/definitions/ModelCopyAuthorization"
- Substituída a operação Models_CopyTo . Aqui está o esquema na operação de cópia preterida:
"$ref": "#/definitions/ModelCopy"
- Adicionada a nova operação Models_AuthorizeCopy que retorna
"$ref": "#/definitions/ModelCopyAuthorization"
. Essa entidade retornada pode ser usada na nova operação Models_Copy .
Adicionada uma nova definição de entidade para 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"
}
}
},
Adicionada uma nova definição de entidade para ModelCopyAuthorizationDefinition
:
"ModelCopyAuthorizationDefinition": {
"title": "ModelCopyAuthorizationDefinition",
"required": [
"sourceResourceId"
],
"type": "object",
"properties": {
"sourceResourceId": {
"description": "The Azure Resource ID of the source speech resource.",
"minLength": 1,
"type": "string"
}
}
},
Propriedades de cópia CustomModelLinks
Adicionada uma nova copy
propriedade.
copyTo
URI: O local da ação de cópia de modelo obsoleta. Consulte a operação Models_CopyTo para obter mais detalhes.copy
URI: O local da ação de cópia do modelo. Consulte a operação Models_Copy para obter mais detalhes.
"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
},
IDs de operação
Você deve atualizar o caminho base em seu código de /speechtotext/v3.1
para /speechtotext/v3.2
. Por exemplo, para obter modelos base na eastus
região, use https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base
em vez de https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base
.