Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Eventos de cliente de reconocimiento de voz en tiempo real de Qwen-Audio-ASR-Message

Última actualización: Oct 12, 2026

Este tema describe los eventos y parámetros del cliente de Qwen-Audio-ASR-Message.

run-task

Inicia una tarea de reconocimiento de voz y establece parámetros como el modelo, el formato de audio y la frecuencia de muestreo.

Cuándo enviar: Envíe inmediatamente después de establecer la conexión.

Evento de respuesta: Puede enviar audio solo después de que el servidor devuelva el evento task-started.

headerobject(Obligatorio)

Propiedades

actionstring(Obligatorio)

El tipo de comando. Establézcalo en run-task.

task_idstring(Obligatorio)

Un ID de tarea generado por el cliente (formato UUID) que vincula eventos posteriores a esta tarea.

streamingstring(Obligatorio)

Establecido en duplex.

payloadobject(Obligatorio)

Propiedades

task_groupstring(Obligatorio)

El grupo de tareas. Establézcalo en audio.

taskstring(Obligatorio)

El tipo de tarea. Establézcalo en asr.

functionstring(Obligatorio)

El tipo de función. Establézcalo en recognition.

modelstring(Obligatorio)

El nombre del modelo. Establézcalo en qwen-audio-3.1-asr-flash-message. Consulte Qwen-Audio-3.1-ASR-Flash-Message.

inputobject(Obligatorio)

El objeto de entrada. Pase {} cuando no se proporcione contexto.

Propiedades

contextarray(object)(Opcional)

El contexto de la conversación, que mejora la precisión del reconocimiento para vocabulario específico del dominio. Para obtener detalles de uso, consulte Mejora del contexto.

ImportanteLímites: Puede proporcionar como máximo 5 mensajes de contexto de cada tipo (input_text y text). Si supera este límite, solo se conservan los 5 mensajes más recientes. La longitud total del texto por turno (la longitud combinada de los campos text de los mensajes user y assistant) no puede exceder los 400 caracteres (contados por carácter, donde cada carácter cuenta como 1). El texto que supere este límite se trunca desde el final.

ImportanteCuando proporciona contexto, los mensajes en context deben seguir un orden específico. Los mensajes de contexto deben organizarse por turno de conversación, y dentro de cada turno el mensaje user (de tipo input_text) debe aparecer antes de su mensaje assistant correspondiente (de tipo text).

Propiedades

rolestring(Obligatorio)

El rol del mensaje. Valores válidos:

  • user: Los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio.
  • assistant: Las respuestas del modelo de lenguaje grande en turnos anteriores.

contentarray(object)(Obligatorio)

La lista de contenidos de mensajes.

Propiedades

typestring(Obligatorio)

El tipo de contenido. Valores válidos:

  • input_text: Los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio (se usa cuando el rol es user). También debe proporcionar el campo text.
  • text: Las respuestas del modelo de lenguaje grande en turnos anteriores (se usa cuando el rol es assistant). También debe proporcionar el campo text.

textstring(Obligatorio)

El contenido de texto. Cuando type es input_text, ingrese los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio. Cuando type es text, ingrese las respuestas del modelo de lenguaje grande en turnos anteriores.

parametersobject(Obligatorio)

Los parámetros de reconocimiento de voz.

Propiedades

disfluency_removal_enabled boolean (Opcional)

Indica si se deben filtrar las muletillas y pulir la salida. El valor predeterminado es false. Establézcalo en true para habilitar esta función.

intermediate_result_enabled boolean (Opcional)

Indica si se deben devolver resultados de transmisión intermedios. El valor predeterminado es false. Establézcalo en true para devolver resultados de transmisión intermedios.

keep_dialect boolean (Opcional)

Especifica si se deben conservar las expresiones dialectales. Valor predeterminado: false. Establézcalo en false para transcribir el habla dialectal como texto en mandarín estándar, o en true para conservar las expresiones dialectales.

Este parámetro solo se aplica a los resultados finales (sentence_end=true) y no es compatible con los resultados intermedios (sentence_end=false).

vad_model string (Opcional)

El modelo VAD. Valor predeterminado: far_field_meeting_16k.

  • near_meeting_16k: escenarios de campo cercano.
  • far_field_meeting_16k: escenarios de campo lejano.

formatstring(Obligatorio)

El formato de audio.

Valores válidos:

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

Importanteopus/speex: Debe usar encapsulación Ogg.

wav: Debe usar codificación PCM.

amr: Solo se admite el tipo AMR-NB.

sample_rateinteger(Obligatorio)

La frecuencia de muestreo, en Hz.

Solo se admite 16000 Hz.

vocabulary_idstring(Opcional)

El ID de una lista de palabras clave precompilada.

Genere este ID con antelación llamando a la API de creación de lista de palabras clave. Pase el ID durante el reconocimiento para usar las palabras clave de la lista.

Adecuado para escenarios donde el vocabulario es conocido y relativamente estable, y donde necesita reutilizar la misma lista de palabras en distintas solicitudes.

Para obtener detalles sobre el uso, consulte Palabras clave precompiladas.

vocabularyobject(Opcional)

Palabras clave instantáneas.

Se pasan como pares clave-valor, donde la clave es el texto de la palabra clave (string) y el valor es el peso de la palabra clave (integer). No es necesario crear una lista de palabras clave con antelación. El peso oscila entre [1, 5] o se establece en 50: un valor en [1, 5] hace que el modelo tenga más probabilidades de generar la palabra a medida que aumenta el valor; un valor de 50 designa una súper palabra clave, lo que mejora enormemente la recuperación, pero el número de súper palabras clave no puede exceder 50.

Adecuado para la optimización temporal de palabras clave a nivel de sesión.

Cuando las palabras clave instantáneas y precompiladas se configuran juntas, el sistema fusiona ambos conjuntos. Si el conjunto fusionado contiene más de 2000 palabras clave, el sistema selecciona aleatoriamente 2000 para usar. Para detalles de uso, consulte Palabras clave instantáneas.

language_hintsarray[string](Opcional)

El idioma del audio a reconocer. No hay valor predeterminado; si no se establece, el modelo detecta el idioma automáticamente.

Puede configurar hasta 4 valores. Si configura más, solo los primeros 4 surten efecto.

Haga clic para ver los códigos de idioma admitidos

  • zh: Chino
  • en: Inglés
  • ja: Japonés
  • ko: Coreano
  • vi: Vietnamita
  • th: Tailandés
  • id: Indonesio
  • ms: Malayo
  • tl: Filipino
  • hi: Hindi
  • ar: Árabe
  • fr: Francés
  • de: Alemán
  • es: Español
  • pt: Portugués
  • ru: Ruso
  • it: Italiano
  • nl: Neerlandés
  • sv: Sueco
  • da: Danés
  • fi: Finés
  • no: Noruego
  • el: Griego
  • pl: Polaco
  • cs: Checo
  • hu: Húngaro
  • ro: Rumano
  • bg: Búlgaro
  • hr: Croata
  • sk: Eslovaco

Este parámetro solo se aplica a los resultados finales (sentence_end=true) y no es compatible con los resultados intermedios (sentence_end=false).

max_sentence_silenceinteger(Opcional)

El umbral de silencio VAD para la segmentación, en ms. Cuando el silencio después de un segmento de voz supera este umbral, el sistema determina que la oración ha terminado.

Valor predeterminado: 800.

Valores válidos: [200, 6000].

heartbeatboolean(Opcional)

Si se deben habilitar los paquetes de latido.

Valor predeterminado: false.

  • true: Mantiene activa la conexión con el servidor incluso cuando se envía audio silencioso de forma continua.
  • false (predeterminado): Incluso cuando se envía audio silencioso de forma continua, la conexión expira y se cierra después de un período de tiempo.

El audio silencioso se refiere al contenido en un archivo de audio o flujo de datos que no contiene señal de sonido. Puede generar audio silencioso de varias maneras, como utilizando software de edición de audio como Audacity o Adobe Audition, o utilizando una herramienta de línea de comandos como FFmpeg.

speech_noise_thresholdfloat(Opcional)

El umbral para distinguir el habla del ruido, utilizado para ajustar la sensibilidad de la Detección de Actividad de Voz (VAD).

Valores válidos: [-1.0, 1.0].

Descripciones de valores:

  • Cuanto más cerca esté el valor de -1: El umbral de ruido disminuye, por lo que es más probable que el ruido se reconozca como habla, lo que puede causar que se transcriba más ruido.
  • Cuanto más cerca esté el valor de +1: El umbral de ruido aumenta, por lo que es más probable que el habla se juzgue erróneamente como ruido, lo que puede causar que se filtre parte del habla.

Este es un parámetro de configuración avanzada. Ajustarlo puede afectar significativamente los resultados del reconocimiento. Recomendaciones:

  • Pruebe y verifique exhaustivamente los resultados antes de ajustar.
  • Ajuste en incrementos pequeños según el entorno de audio real (se recomienda un paso de 0.1).
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "qwen-audio-3.1-asr-flash-message",
        "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": "qwen-audio-3.1-asr-flash-message",
        "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?"
                        }
                    ]
                }
            ]
        }
    }
}
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "qwen-audio-3.1-asr-flash-message",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000,
            "vocabulary": {"John Smith": 5, "Jane Doe": 5}
        },
        "input": {}
    }
}

continue-task

Actualiza el contexto de la conversación durante la ejecución de la tarea para mejorar el reconocimiento.

Cuándo enviar: Envíe durante la ejecución de la tarea cuando necesite actualizar el contexto de la conversación.

headerobject(Obligatorio)

Propiedades

actionstring(Obligatorio)

El tipo de comando. Establézcalo en continue-task.

task_idstring(Obligatorio)

Un ID de tarea generado por el cliente (formato UUID) que debe coincidir con el task_id en el evento run-task.

streamingstring(Obligatorio)

Establecido en duplex.

payloadobject(Obligatorio)

Propiedades

inputobject(Obligatorio)

El objeto de entrada.

Propiedades

context _array(object)___ (Opcional) El contexto de la conversación, que mejora la precisión del reconocimiento para vocabulario específico del dominio. Para obtener detalles de uso, consulte Mejorar la precisión del reconocimiento.

ImportanteLímites: Puede proporcionar como máximo 5 mensajes de contexto de cada tipo (input_text y text). Si supera este límite, solo se conservan los 5 mensajes más recientes. La longitud total del texto por turno (la longitud combinada de los campos text de los mensajes user y assistant) no puede exceder los 400 caracteres (contados por carácter, donde cada carácter cuenta como 1). El texto que supere este límite se trunca desde el final.

ImportanteCuando proporciona contexto, los mensajes en context deben seguir un orden específico. Los mensajes de contexto deben organizarse por turno de conversación, y dentro de cada turno el mensaje user (de tipo input_text) debe aparecer antes de su mensaje assistant correspondiente (de tipo text).

Propiedades role _string_ __(Obligatorio) El rol del mensaje. Valores válidos:

user: Los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio.

assistant: Las respuestas del modelo de lenguaje grande en turnos anteriores.

content _array(object)___(Obligatorio) La lista de contenidos de mensajes. Propiedades type _string_ __(Obligatorio) El tipo de contenido. Valores válidos:

input_text: Los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio (se usa cuando el rol es user). También debe proporcionar el campo text.

text: Las respuestas del modelo de lenguaje grande en turnos anteriores (se usa cuando el rol es assistant). También debe proporcionar el campo text.

text _string_ __(Obligatorio) El contenido de texto. Cuando type es input_text, ingrese los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio. Cuando type es text, ingrese las respuestas del modelo de lenguaje grande en turnos anteriores.

{
    "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

Notifica al servidor que se ha enviado todo el audio y solicita finalizar la tarea.

Cuándo enviar: Envíe después de que se hayan enviado todos los datos de audio.

Evento de respuesta: El servidor devuelve el evento task-finished.

headerobject(Obligatorio)

Propiedades

actionstring(Obligatorio)

El tipo de comando. Establézcalo en finish-task.

task_idstring(Obligatorio)

Un ID de tarea generado por el cliente (formato UUID) que debe coincidir con el task_id en el evento run-task.

streamingstring(Obligatorio)

Establecido en duplex.

payloadobject(Obligatorio)

Propiedades

inputobject(Obligatorio)

Establecido en {}.

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