Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Fun-ASR-Realtime Événements client

Dernière mise à jour :Oct 11, 2026

Cette rubrique décrit les événements client que le client envoie au serveur via WebSocket dans le service de reconnaissance vocale en temps réel Fun-ASR-Realtime, y compris les structures de données et les définitions de champs pour run-task (démarrer une tâche) et finish-task (terminer une tâche).

run-task

Démarre une tâche de reconnaissance vocale et définit des paramètres tels que le modèle, le format audio et le taux d'échantillonnage.

Quand envoyer : Envoyer immédiatement après l'établissement de la connexion WebSocket.

Événement de réponse : Vous pouvez envoyer de l'audio uniquement après que le serveur a renvoyé l'événement task-started.

headerobject(Obligatoire)

Propriétés

actionstring(Obligatoire)

Le type de commande. Définir sur run-task.

task_idstring(Obligatoire)

Un ID de tâche généré par le client (format UUID) qui lie les événements suivants à cette tâche.

streamingstring(Obligatoire)

Définir sur duplex.

payloadobject(Obligatoire)

Propriétés

task_groupstring(Obligatoire)

Le groupe de tâches. Définir sur audio.

taskstring(Obligatoire)

Le type de tâche. Définir sur asr.

functionstring(Obligatoire)

Le type de fonction. Définir sur recognition.

modelstring(Obligatoire)

Le nom du modèle.

inputobject(Obligatoire)

L'objet d'entrée. Passer {} lorsqu'aucun contexte n'est fourni.

ImportantSeuls les modèles fun-asr-realtime prennent en charge le contexte.

Propriétés

contextarray(object)(Facultatif)

Le contexte de conversation, qui améliore la précision de la reconnaissance pour le vocabulaire spécifique au domaine. Pour plus de détails sur l'utilisation, voir Amélioration du contexte.

ImportantLimites : Vous pouvez fournir au maximum 5 messages de contexte de chaque type (input_text et text). Si vous dépassez cette limite, seuls les 5 messages les plus récents sont conservés. La longueur totale du texte par tour (la longueur combinée des champs text des messages user et assistant) ne peut pas dépasser 400 caractères (comptés par caractère, où chaque caractère compte pour 1). Le texte dépassant cette limite est tronqué à partir de la fin.

ImportantLorsque vous fournissez un contexte, les messages dans context doivent suivre un ordre spécifique. Les messages de contexte doivent être organisés par tour de conversation, et au sein de chaque tour, le message user (de type input_text) doit précéder son message assistant correspondant (de type text).

Propriétés

rolestring(Obligatoire)

Le rôle du message. Valeurs valides :

  • user : Les résultats de reconnaissance des tours précédents de parole utilisateur, ou une liste de mots spécifiques au domaine.
  • assistant : Les réponses du grand modèle linguistique lors des tours précédents.

contentarray(object)(Obligatoire)

La liste des contenus de message.

Propriétés

typestring(Obligatoire)

Le type de contenu. Valeurs valides :

  • input_text : Les résultats de reconnaissance des tours précédents de parole utilisateur, ou une liste de mots spécifiques au domaine (utilisé lorsque le rôle est user). Vous devez également fournir le champ text.
  • text : Les réponses du grand modèle linguistique lors des tours précédents (utilisé lorsque le rôle est assistant). Vous devez également fournir le champ text.

textstring(Obligatoire)

Le contenu textuel. Lorsque type est input_text, saisissez les résultats de reconnaissance des tours précédents de parole utilisateur ou une liste de mots spécifique au domaine. Lorsque type est text, saisissez les réponses du grand modèle linguistique des tours précédents.

parametersobject(Obligatoire)

Les paramètres de reconnaissance vocale.

Propriétés

formatstring(Obligatoire)

Le format audio.

Valeurs valides :

  • pcm
  • wav
  • mp3
  • opus
  • speex
  • aac
  • amr

Importantopus/speex : Doit utiliser l'encapsulation Ogg.

wav : Doit utiliser l'encodage PCM.

amr : Seul le type AMR-NB est pris en charge.

sample_rateinteger(Obligatoire)

Le taux d'échantillonnage, en Hz.

Valeurs valides : les modèles 8 kHz prennent en charge uniquement 8000 Hz ; les autres modèles prennent en charge n'importe quel taux d'échantillonnage.

vocabulary_idstring(Facultatif)

L'identifiant d'une liste de mots-clés précompilée.

Générez cet ID à l'avance en appelant l'API de création de liste de mots chauds. Transmettez l'ID lors de la reconnaissance pour utiliser les mots chauds de la liste.

Convient aux scénarios où le vocabulaire est connu et relativement stable, et où vous devez réutiliser la même liste de mots entre les requêtes.

Pour plus de détails sur l'utilisation, voir Mots chauds précompilés.

language_hintsarray[string](Facultatif)

La langue de l'audio à reconnaître. Il n'y a pas de valeur par défaut ; si elle n'est pas définie, le modèle détecte automatiquement la langue.

Vous pouvez définir une seule valeur. Si vous en définissez plusieurs, seule la première prend effet.

Cliquez pour afficher les codes de langue pris en charge

  • fun-asr-realtime:

    • zh : Chinois
    • en : Anglais
    • ja : Japonais
    • ko : Coréen
    • vi : Vietnamien
    • th : Thaï
    • id : Indonésien
    • ms : Malais
    • tl : Filipino
    • hi : Hindi
    • ar : Arabe
    • fr : Français
    • de : Allemand
    • es : Espagnol
    • pt : Portugais
    • ru : Russe
    • it : Italien
    • nl : Néerlandais
    • sv : Suédois
    • da : Danois
    • fi : Finnois
    • no : Norvégien
    • el : Grec
    • pl : Polonais
    • cs : Tchèque
    • hu : Hongrois
    • ro : Roumain
    • bg : Bulgare
    • hr : Croate
    • sk : Slovaque
  • fun-asr-realtime-2026-02-28:

    • zh : Chinois
    • en : Anglais
    • ja : Japonais
  • fun-asr-flash-8k-realtime, fun-asr-flash-8k-realtime-2026-01-28:

    • zh : Chinois

semantic_punctuation_enabledboolean(Facultatif)

Indique s'il faut activer la segmentation sémantique.

Valeur par défaut : false.

  • true : Active la segmentation sémantique et désactive la segmentation VAD.
  • false (par défaut) : Active la segmentation VAD et désactive la segmentation sémantique.

La segmentation sémantique est plus précise et convient mieux aux scénarios de transcription. La segmentation VAD (détection d'activité vocale) a une latence plus faible et convient mieux aux scénarios interactifs.

max_sentence_silenceinteger(Facultatif)

Le seuil de silence VAD pour la segmentation, en ms. Lorsque le silence suivant un segment de parole dépasse ce seuil, le système détermine que la phrase est terminée. Lorsque semantic_punctuation_enabled est défini sur true, ce paramètre n'est pas utilisé comme critère pour retourner sentence_end, mais le définir trop bas peut affecter les performances de reconnaissance.

Valeur par défaut : 1300.

Valeurs valides : [200, 6000].

multi_threshold_mode_enabledboolean(Facultatif)

ImportantPrend effet uniquement lorsque semantic_punctuation_enabled est false.

Indique s'il faut activer le mode multi-seuil. Lorsqu'il est activé, cela empêche les segments VAD de devenir trop longs.

Valeur par défaut : false.

heartbeatboolean(Facultatif)

Indique s'il faut activer les paquets de battement de cœur.

Valeur par défaut : false.

  • true : Maintient la connexion au serveur active même lorsque de l'audio silencieux est envoyé en continu.
  • false (par défaut) : Même lorsque de l'audio silencieux est envoyé en continu, la connexion expire et se ferme après un certain temps.

L'audio silencieux désigne le contenu d'un fichier audio ou d'un flux de données qui ne contient aucun signal sonore. Vous pouvez générer de l'audio silencieux de plusieurs manières, par exemple en utilisant un logiciel d'édition audio comme Audacity ou Adobe Audition, ou en utilisant un outil en ligne de commande comme FFmpeg.

speech_noise_thresholdfloat(Facultatif)

Le seuil pour distinguer la parole du bruit, utilisé pour ajuster la sensibilité de la détection d'activité vocale (VAD).

Valeurs valides : [-1.0, 1.0].

Descriptions des valeurs :

  • Plus la valeur est proche de -1 : Le seuil de bruit diminue, donc le bruit est plus susceptible d'être reconnu comme de la parole, ce qui peut entraîner la transcription de davantage de bruit.
  • Plus la valeur est proche de +1 : Le seuil de bruit augmente, donc la parole est plus susceptible d'être jugée à tort comme du bruit, ce qui peut entraîner le filtrage de certaines paroles.

Il s'agit d'un paramètre de configuration avancé. Son ajustement peut affecter considérablement les résultats de la reconnaissance. Recommandations :

  • Effectuer des tests et vérifier minutieusement les résultats avant tout ajustement.
  • Ajustez par petits incréments en fonction de l'environnement audio réel (un pas de 0.1 est recommandé).

special_word_filter string(Facultatif)

Spécifie les mots sensibles à traiter lors de la reconnaissance vocale et permet de définir différentes méthodes de traitement pour différents mots sensibles. Pour plus de détails, voir Filtrage des mots sensibles.

{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "fun-asr-realtime",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "input": {}
    }
}
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "fun-asr-realtime",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "input": {
            "context": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "input_text",
                            "text": "Hello there"
                        }
                    ]
                },
                {
                    "role": "assistant",
                    "content": [
                        {
                            "type": "text",
                            "text": "Hello, I am Qwen. How can I help you?"
                        }
                    ]
                }
            ]
        }
    }
}

continue-task

Met à jour le contexte de conversation pendant l'exécution de la tâche pour améliorer la reconnaissance.

Quand envoyer : Envoyer pendant l'exécution de la tâche lorsque vous devez mettre à jour le contexte de conversation.

ImportantSeuls les modèles fun-asr-realtime prennent en charge cet événement.

headerobject(Obligatoire)

Propriétés

actionstring(Obligatoire)

Le type de commande. Définir sur continue-task.

task_idstring(Obligatoire)

Un ID de tâche généré par le client (format UUID) qui doit correspondre au task_id dans l'événement run-task.

streamingstring(Obligatoire)

Définir sur duplex.

payloadobject(Obligatoire)

Propriétés

inputobject(Obligatoire)

L'objet d'entrée.

Propriétés

context _array(object)___ (Facultatif) Le contexte de conversation, qui améliore la précision de la reconnaissance pour le vocabulaire spécifique au domaine. Pour plus de détails sur l'utilisation, voir Démarrage rapide.

ImportantLimites : Vous pouvez fournir au maximum 5 messages de contexte de chaque type (input_text et text). Si vous dépassez cette limite, seuls les 5 messages les plus récents sont conservés. La longueur totale du texte par tour (la longueur combinée des champs text des messages user et assistant) ne peut pas dépasser 400 caractères (comptés par caractère, où chaque caractère compte pour 1). Le texte dépassant cette limite est tronqué à partir de la fin.

ImportantLorsque vous fournissez un contexte, les messages dans context doivent suivre un ordre spécifique. Les messages de contexte doivent être organisés par tour de conversation, et au sein de chaque tour, le message user (de type input_text) doit précéder son message assistant correspondant (de type text).

Propriétés role _string_ __(Obligatoire) Le rôle du message. Valeurs valides :

user : Les résultats de reconnaissance des tours précédents de parole utilisateur, ou une liste de mots spécifiques au domaine.

assistant : Les réponses du grand modèle linguistique lors des tours précédents.

content _array(object)___(Obligatoire) La liste des contenus de message. Propriétés type _string_ __(Obligatoire) Le type de contenu. Valeurs valides :

input_text : Les résultats de reconnaissance des tours précédents de parole utilisateur, ou une liste de mots spécifiques au domaine (utilisé lorsque le rôle est user). Vous devez également fournir le champ text.

text : Les réponses du grand modèle linguistique lors des tours précédents (utilisé lorsque le rôle est assistant). Vous devez également fournir le champ text.

text _string_ __(Obligatoire) Le contenu textuel. Lorsque type est input_text, saisissez les résultats de reconnaissance des tours précédents de parole utilisateur ou une liste de mots spécifique au domaine. Lorsque type est text, saisissez les réponses du grand modèle linguistique des tours précédents.

{
    "header": {
        "action": "continue-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "context": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "input_text",
                            "text": "Hello there"
                        }
                    ]
                },
                {
                    "role": "assistant",
                    "content": [
                        {
                            "type": "text",
                            "text": "Hello, I am Qwen. How can I help you?"
                        }
                    ]
                }
            ]
        }
    }
}

finish-task

Notifie au serveur que tout l'audio a été envoyé et demande la fin de la tâche.

Quand envoyer : Envoyer après que toutes les données audio ont été envoyées.

Événement de réponse : Le serveur renvoie l'événement task-finished.

headerobject(Obligatoire)

Propriétés

actionstring(Obligatoire)

Le type de commande. Définir sur finish-task.

task_idstring(Obligatoire)

Un ID de tâche généré par le client (format UUID) qui doit correspondre au task_id dans l'événement run-task.

streamingstring(Obligatoire)

Définir sur duplex.

payloadobject(Obligatoire)

Propriétés

inputobject(Obligatoire)

Définir sur {}.

{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}