Todos os produtos
Search
Central de documentação

Alibaba Cloud Model Studio:Fun-ASR-Realtime Eventos do cliente

Última atualização: Oct 20, 2026

Este tópico descreve os eventos que o cliente envia ao servidor via WebSocket no service de reconhecimento de fala em tempo real Fun-ASR-Realtime. O conteúdo inclui as estruturas de dados e definições de campos para run-task (iniciar uma tarefa) e finish-task (encerrar uma tarefa).

run-task

Inicia uma tarefa de reconhecimento de fala e define parâmetros como modelo, formato de áudio e taxa de amostragem.

Quando enviar: Envie imediatamente após o estabelecimento da conexão WebSocket.

Evento de resposta: O envio de áudio só é permitido após o servidor retornar o evento task-started.

headerobject(Required)

Properties

actionstring(Required)

O tipo de comando. Defina como run-task.

task_idstring(Required)

Um ID de tarefa gerado pelo cliente (formato UUID) que vincula os eventos subsequentes a esta tarefa.

streamingstring(Required)

Defina como duplex.

{
        "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?"
                            }
                        ]
                    }
                ]
            }
        }
    }

payloadobject(Required)

Properties

task_groupstring(Required)

O grupo da tarefa. Defina como audio.

taskstring(Required)

O tipo de tarefa. Defina como asr.

functionstring(Required)

O tipo de função. Defina como recognition.

modelstring(Required)

O nome do modelo.

inputobject(Required)

O objeto de entrada. Passe {} quando nenhum contexto for fornecido.

ImportanteApenas os modelos fun-asr-realtime suportam contexto.

Properties

contextarray(object)(Optional)

O contexto da conversa, que melhora a precisão do reconhecimento para vocabulário específico de domínio. Para detalhes de uso, consulte Context enhancement.

ImportanteLimites: É possível fornecer no máximo 5 mensagens de contexto de cada tipo (input_text e text). Caso esse limite seja excedido, apenas as 5 mensagens mais recentes serão mantidas. O comprimento total do texto por turno (a soma dos comprimentos dos campos text das mensagens de user e assistant) não pode ultrapassar 400 caracteres (contados caractere por caractere, onde cada caractere conta como 1). O texto que exceder esse limite será truncado a partir do final.

ImportanteAo fornecer contexto, as mensagens em context devem seguir uma ordem específica. As mensagens de contexto precisam ser organizadas por turno de conversa e, dentro de cada turno, a mensagem de user (do tipo input_text) deve preceder sua mensagem correspondente de assistant (do tipo text).

Properties

rolestring(Required)

A função da mensagem. Valores válidos:

  • user: Os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio.
  • assistant: As respostas do modelo de linguagem grande em turnos anteriores.

contentarray(object)(Required)

A lista de conteúdos da mensagem.

Properties

typestring(Required)

O tipo de conteúdo. Valores válidos:

  • input_text: Os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio (usado quando a função é user). Você também deve fornecer o campo text.
  • text: As respostas do modelo de linguagem grande em turnos anteriores (usado quando a função é assistant). Você também deve fornecer o campo text.

textstring(Required)

O conteúdo de texto. Quando type for input_text, insira os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio. Quando type for text, insira as respostas do modelo de linguagem grande em turnos anteriores.

parametersobject(Required)

Os parâmetros de reconhecimento de fala.

Properties

formatstring(Required)

O formato de áudio.

Valores válidos:

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

Importanteopus/speex: Devem usar encapsulamento Ogg.

wav: Deve usar codificação PCM.

amr: Apenas o tipo AMR-NB é suportado.

sample_rateinteger(Required)

A taxa de amostragem, em Hz.

Valores válidos: modelos de 8 kHz suportam apenas 8000 Hz; outros modelos suportam qualquer taxa de amostragem.

vocabulary_idstring(Optional)

O ID de uma lista de palavras-chave pré-compilada.

Gere esse ID antecipadamente chamando a API de criação de lista de palavras-chave. Passe o ID durante o reconhecimento para usar as palavras-chave da lista.

Indicado para cenários onde o vocabulário é conhecido e relativamente estável, e onde há necessidade de reutilizar a mesma lista de palavras entre requisições.

Para detalhes de uso, consulte Precompiled hotwords.

language_hintsarray[string](Optional)

O idioma do áudio a ser reconhecido. Não há valor padrão; se não for definido, o modelo detecta o idioma automaticamente.

Você pode definir 1 valor. Se definir mais, somente o primeiro terá efeito.

Clique em visualizar os códigos de idioma suportados

  • fun-asr-realtime:

    • zh: Chinês
    • en: Inglês
    • ja: Japonês
    • ko: Coreano
    • vi: Vietnamita
    • th: Tailandês
    • id: Indonésio
    • ms: Malaio
    • tl: Filipino
    • hi: Hindi
    • ar: Árabe
    • fr: Francês
    • de: Alemão
    • es: Espanhol
    • pt: Português
    • ru: Russo
    • it: Italiano
    • nl: Holandês
    • sv: Sueco
    • da: Dinamarquês
    • fi: Finlandês
    • no: Norueguês
    • el: Grego
    • pl: Polonês
    • cs: Tcheco
    • hu: Húngaro
    • ro: Romeno
    • bg: Búlgaro
    • hr: Croata
    • sk: Eslovaco
  • fun-asr-realtime-2026-02-28:

    • zh: Chinês
    • en: Inglês
    • ja: Japonês
  • fun-asr-flash-8k-realtime, fun-asr-flash-8k-realtime-2026-01-28:

    • zh: Chinês

max_sentence_silenceinteger(Optional)

O limiar de silêncio VAD para segmentação, em ms. Quando o silêncio após um segmento de fala excede esse limiar, o sistema determina que a frase terminou.

Valor padrão: 1300.

Valores válidos: [200, 6000].

multi_threshold_mode_enabledboolean(Optional)

Se deve ativar o modo de múltiplos limiares. Quando ativado, evita que os segmentos VAD fiquem muito longos.

Valor padrão: false.

heartbeatboolean(Optional)

Se deve ativar pacotes de heartbeat.

Valor padrão: false.

  • true: Mantém a conexão com o servidor ativa mesmo quando áudio silencioso é enviado continuamente.
  • false (padrão): A conexão é encerrada por timeout após 60 segundos, mesmo se áudio silencioso for enviado continuamente.

Áudio silencioso refere-se a conteúdo em um arquivo de áudio ou fluxo de dados que não contém sinal sonoro. É possível gerar áudio silencioso de várias formas, como usando softwares de edição de áudio como Audacity ou Adobe Audition, ou utilizando uma ferramenta de linha de comando como FFmpeg.

speech_noise_thresholdfloat(Optional)

O limiar para distinguir fala de ruído, usado para ajustar a sensibilidade da Detecção de Atividade de Voz (VAD).

Valores válidos: [-1,0, 1,0].

Descrições dos valores:

  • Quanto mais próximo o valor estiver de -1: O limiar de ruído diminui, tornando mais provável que ruídos sejam reconhecidos como fala, o que pode resultar na transcrição de mais ruído.
  • Quanto mais próximo o valor estiver de +1: O limiar de ruído aumenta, tornando mais provável que a fala seja erroneamente classificada como ruído, o que pode filtrar parte da fala.

Este é um parâmetro de configuração avançado. Ajustá-lo pode afetar significativamente os resultados do reconhecimento. Recomendações:

  • Teste e valide minuciosamente os resultados antes de ajustar.
  • Faça ajustes em pequenos incrementos com base no ambiente de áudio real (recomenda-se um passo de 0,1).

special_word_filter string(Optional)

Especifica as palavras sensíveis a serem processadas durante o reconhecimento de fala e permite definir diferentes métodos de processamento para cada palavra. Para mais detalhes, consulte Sensitive word filtering.

finish-task

Notifica o servidor de que todo o áudio foi enviado e solicita o encerramento da tarefa.

Quando enviar: Envie após todos os dados de áudio terem sido transmitidos.

Evento de resposta: O servidor retorna o evento task-finished.

headerobject(Required)

Properties

actionstring(Required)

O tipo de comando. Defina como finish-task.

task_idstring(Required)

Um ID de tarefa gerado pelo cliente (formato UUID) que deve corresponder ao task_id no evento run-task.

streamingstring(Required)

Defina como duplex.

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

payloadobject(Required)

Properties

inputobject(Required)

Defina como {}.