Eseguire la migrazione del codice dalla versione 3.1 alla versione 3.2 dell'API REST

L'API REST Riconoscimento vocale in testo scritto viene usata per la trascrizione batch e il riconoscimento vocale personalizzato. Questo articolo descrive le modifiche dalla versione 3.1 alla 3.2.

Importante

L'API REST Riconoscimento vocale v3.2 è la versione più recente disponibile a livello generale. Le versioni in anteprima 3.2-preview.1 e 3.2-preview.2* verranno rimosse a settembre 2024. Verrà annunciata la data di ritiro dell'API REST Riconoscimento vocale v3.1. API REST Riconoscimento vocale v3.0 verrà ritirata il 1° aprile 2026.

Percorso base

È necessario aggiornare il percorso di base nel codice da /speechtotext/v3.1 a /speechtotext/v3.2. Ad esempio, per ottenere modelli di base nell'area eastus, usare https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base anziché https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base.

Per altre informazioni, vedere ID operazione più avanti in questa guida.

Trascrizione batch

Importante

I nuovi prezzi sono validi per la trascrizione batch tramite l'API REST Riconoscimento vocale v3.2. Per altre informazioni, vedere la guida ai prezzi.

Limitazioni di compatibilità con le versioni precedenti

Non usare la REST API Riconoscimento vocale v3.0 o v3.1 per recuperare una trascrizione creata tramite REST API Riconoscimento vocale v3.2. Potrebbe essere visualizzato un messaggio di errore, ad esempio: "La versione dell'API non può essere usata per accedere a questa trascrizione. Usare l'API versione 3.2 o successiva”.

Modello di identificazione della lingua

LanguageIdentificationMode viene aggiunto a LanguageIdentificationProperties come elemento di pari livello di candidateLocales e speechModelMapping. Le modalità disponibili per l'identificazione della lingua sono Continuous o Single. L'identificazione continua della lingua è l'impostazione predefinita. Per altre informazioni, vedere Identificazione della lingua.

Sussurrare modelli

Voce di Azure AI supporta ora il modello Whisper di OpenAI tramite l'API REST Riconoscimento vocale v3.2. Per altre informazioni, vedere la guida Creare una trascrizione batch.

Nota

Servizio OpenAI di Azure supporta anche il modello Whisper di OpenAI per il riconoscimento vocale con API REST sincrona. Per altre informazioni, vedere guida introduttiva. Per altre informazioni sull'uso di Riconoscimento vocale per intelligenza artificiale di Azure, vedere Che cos'è il modello Whisper? Servizio OpenAI di Azure.

Riconoscimento vocale personalizzato

Importante

Il training del modello di riconoscimento vocale personalizzato verrà addebitato se il modello di base è stato creato il 1° ottobre 2023 e versioni successive. Non viene addebitato alcun costo per il training se il modello di base è stato creato prima di ottobre 2023. Per altre informazioni, vedere Prezzi di Voce di Azure AI.

Per determinare a livello di codice se un modello è stato creato prima o dopo il 1° ottobre 2023, usare la proprietà chargedForAdaptation che è nuova nella versione 3.2.

Formattazione del testo di visualizzazione personalizzata

Per supportare l'adattamento del modello con dati di formattazione del testo visualizzati personalizzati, l'operazione di Datasets_Create supporta il tipo di dati OutputFormatting. Per altre informazioni, vedere caricare set di dati.

Aggiunta di una definizione per OutputFormatType con valori di enumerazione Lexical e 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."
            }
        ]
    }
},

Il valore di enumerazione OutputFormattingData viene aggiunto a FileKind (tipo di dati di input).

La proprietà supportedOutputFormat viene aggiunta a BaseModelFeatures. Questa proprietà si trova all'interno della definizione di 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
        }
    }
},

Addebito per l'adattamento

La proprietà chargeForAdaptation viene aggiunta a BaseModelProperties. Questa proprietà si trova all'interno della definizione di BaseModel.

Importante

Il training del modello di riconoscimento vocale personalizzato verrà addebitato se il modello di base è stato creato il 1° ottobre 2023 e versioni successive. Non viene addebitato alcun costo per il training se il modello di base è stato creato prima di ottobre 2023. Per altre informazioni, vedere Prezzi di Voce di Azure AI.

Se il valore di chargeForAdaptation è true, viene addebitato il training del modello. Se il valore è false, viene addebitato il training del modello. Usare la proprietà chargeForAdaptation anziché la data creata per determinare a livello di codice se viene addebitato il training di un modello.

"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
        }
    }
},

Normalizzazione del testo

La proprietà textNormalizationKind viene aggiunta a DatasetProperties.

Definizione di entità per TextNormalizationKind: tipo di normalizzazione del testo.

  • Impostazione predefinita: normalizzazione del testo predefinita (ad esempio, 'due-tre' sostituisce '2-3' in en-US).
  • Nessuno: nessuna normalizzazione del testo viene applicata al testo di input. Questo valore è un'opzione di override che deve essere usata solo quando il testo viene normalizzato prima del caricamento.

Proprietà di valutazione

Aggiunta del numero di token e delle proprietà di errore del token alle proprietà EvaluationProperties:

  • correctTokenCount1: numero di token riconosciuti correttamente da model1.
  • tokenCount1: numero di token elaborati in base a model1.
  • tokenDeletionCount1: numero di token riconosciuti da model1 che sono eliminazioni.
  • tokenErrorRate1: frequenza di errore del token di riconoscimento con model1.
  • tokenInsertionCount1: numero di token riconosciuti da model1 che sono inserimenti.
  • tokenSubstitutionCount1: numero di parole riconosciute da model1 che sono sostituzioni.
  • correctTokenCount2: numero di token riconosciuti correttamente da model2.
  • tokenCount2: numero di token elaborati in base a model2.
  • tokenDeletionCount2: numero di token riconosciuti in base a model2 che sono eliminazioni.
  • tokenErrorRate2: frequenza di errore del token di riconoscimento con model2.
  • tokenInsertionCount2: numero di token riconosciuti in base a model2 che sono inserimenti.
  • tokenSubstitutionCount2: numero di parole riconosciute da model2 che sono sostituzioni.

Copia del modello

Le modifiche seguenti sono relative allo scenario in cui si copia un modello.

  • Aggiunta della nuova operazione di Models_Copy. Ecco lo schema nella nuova operazione di copia: "$ref": "#/definitions/ModelCopyAuthorization"
  • L'operazione Models_CopyTo è stata deprecata. Ecco lo schema nell'operazione di copia deprecata: "$ref": "#/definitions/ModelCopy"
  • Aggiunta della nuova operazione Models_AuthorizeCopy che restituisce "$ref": "#/definitions/ModelCopyAuthorization". Questa entità restituita può essere usata nella nuova operazione Models_Copy.

Aggiunta di una nuova definizione di entità per 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"
        }
    }
},

Aggiunta di una nuova definizione di entità per ModelCopyAuthorizationDefinition:

"ModelCopyAuthorizationDefinition": {
    "title": "ModelCopyAuthorizationDefinition",
    "required": [
        "sourceResourceId"
    ],
    "type": "object",
    "properties": {
        "sourceResourceId": {
            "description": "The Azure Resource ID of the source speech resource.",
            "minLength": 1,
            "type": "string"
        }
    }
},

Aggiunta di una nuova proprietà copy.

  • copyTo URI: posizione dell'azione di copia obsoleta del modello. Per altri dettagli, vedere l'operazione Models_CopyTo.
  • copy URI: posizione dell'azione di copia del modello. Per altri dettagli, vedere l'operazione 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 operazione

È necessario aggiornare il percorso di base nel codice da /speechtotext/v3.1 a /speechtotext/v3.2. Ad esempio, per ottenere modelli di base nell'area eastus, usare https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base anziché https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base.

Passaggi successivi