Skip to main content
Qwen-Audio-ASR-Message

实时语音识别(Qwen-Audio-ASR-Message)客户端事件

本文介绍 Qwen-Audio-3.1-ASR-Flash-Message 实时语音识别服务中客户端通过 WebSocket 发送给服务端的客户端事件,包括 run-task(启动任务)、 continue-task(更新上下文)、 finish-task(结束任务)等指令的数据结构与字段含义。

run-task

启动语音识别任务,设置模型、音频格式、采样率等参数。 发送时机:建立 WebSocket 连接后立即发送。 响应事件:服务端返回 task-started 事件后才能发送音频。
headerobject(必选)

属性

actionstring(必选)指令类型,固定为 run-task。task_idstring(必选)客户端生成的任务 ID(UUID 格式),用于关联后续事件。streamingstring(必选)固定为 duplex。
payloadobject(必选)

属性

task_groupstring(必选)任务组,固定为 audio。taskstring(必选)任务类型,固定为 asr。functionstring(必选)功能类型。固定为recognition。modelstring(必选)模型名,设置为 qwen-audio-3.1-asr-flash-message。模型信息请参见Qwen-Audio-3.1-ASR-Flash-Message。inputobject(必选)输入对象。不携带上下文时传入{}。

属性

contextarray(object)(可选)对话上下文,用于辅助识别、提升专有词汇的识别准确率。使用方法详见上下文增强。
上下文消息(input_text 和 text 类型)各最多 5 条,超出时保留最近的 5 条。每轮上下文文本总长度(user 和 assistant 的 text 字段长度之和)不超过 400 个字符(按字符数计算,每个字符计为 1),超出部分从末尾截断。
携带上下文时,context 中的消息顺序有要求:上下文消息必须按对话轮次排列,每轮中 user(input_text 类型)必须在对应的 assistant(text 类型)之前。

属性

rolestring(必选)消息角色。取值范围:
  • user:前几轮用户语音的识别结果或领域相关的词表。
  • assistant:前几轮大语言模型的回复内容。
contentarray(object)(必选)消息内容列表。

属性

typestring(必选)内容类型。取值范围:
  • input_text:前几轮用户语音的识别结果或领域相关的词表(role 为 user 时使用),需同时传入 text 字段。
  • text:前几轮大语言模型的回复内容(role 为 assistant 时使用),需同时传入 text 字段。
textstring(必选)文本内容。当 type 为 input_text 时,填入前几轮用户语音的识别结果或领域相关的词表;当 type 为 text 时,填入前几轮大语言模型的回复内容。
parametersobject(必选)语音识别参数。

属性

disfluency_removal_enabled boolean(可选)是否过滤语气词并对输出结果进行润色,默认值为 false。设置为 true 时启用。intermediate_result_enabled boolean(可选)是否返回流式中间结果,默认值为 false。设置为 true 时返回流式中间结果。keep_dialect boolean(可选)是否保留方言表达,默认值为 false。false:将方言转写为普通话文本;true:保留方言表达。vad_model string(可选)VAD 模型,默认值为 far_field_meeting_16k。
  • near_meeting_16k:近场场景。
  • far_field_meeting_16k:远场场景。
formatstring(必选)音频格式。取值范围:
  • pcm
  • wav
  • mp3
  • opus
  • speex
  • aac
  • amr
opus/speex:必须使用Ogg封装;wav:必须为PCM编码;amr:仅支持AMR-NB类型。
sample_rateinteger(必选)采样率(Hz)。仅支持 16000 Hz。vocabulary_idstring(可选)预编译热词列表 ID。需预先调用创建热词列表接口生成,识别时传入该 ID 即可使用列表中的热词。适用于词汇已知且相对稳定、需要跨请求复用同一词表的场景。使用方法请参见预编译热词。vocabularyobject(可选)即时热词。以键值对形式传入,键为热词文本(string),值为热词权重(integer),无需预先创建热词列表。权重取值范围为 [1, 5] 或 50:取 [1, 5] 时值越大模型越倾向输出该词;取 50 时为超级热词,召回率大幅提升,但超级热词数量最多不超过 50 个。适用于临时性、会话级别的热词优化。与预编译热词同时配置时,系统会合并两类热词;合并后超过 2000 个时,随机选择 2000 个使用。使用方法请参见即时热词。max_sentence_silenceinteger(可选)VAD 断句静音阈值(ms)。当一段语音后的静音时长超过该阈值时,系统会判定该句子已结束。默认值:1300。取值范围:[200, 6000]。heartbeatboolean(可选)是否启用心跳包。默认值:false。
  • true:在持续发送静音音频的情况下,可保持与服务端的连接不中断。
  • false(默认):即使持续发送静音音频,连接也将在一定时间后因超时而断开。
静音音频指的是在音频文件或数据流中没有声音信号的内容。静音音频可以通过多种方法生成,例如使用音频编辑软件如Audacity或Adobe Audition,或者通过命令行工具如FFmpeg。speech_noise_thresholdfloat(可选)语音与噪音的判定阈值,用于调整语音活动检测(VAD)的灵敏度。取值范围:[-1.0, 1.0]。取值说明:
  • 取值越接近 -1:降低噪音判定阈值,噪音被识别为语音的概率增大,可能导致更多噪音被转写
  • 取值越接近 +1:提高噪音判定阈值,语音被误判为噪音的概率增大,可能导致部分语音被过滤
此参数为高级配置参数,调整可能显著影响识别效果,建议:
  • 调整前充分测试验证效果
  • 根据实际音频环境小幅度调整(建议步长 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": {}
    }
}

continue-task

在任务执行过程中更新对话上下文信息,用于辅助识别。 发送时机:任务运行中,需要更新对话上下文时发送。
headerobject(必选)

属性

actionstring(必选)指令类型,固定为 continue-task。task_idstring(必选)客户端生成的任务 ID(UUID 格式),需与run-task事件中的 task_id 保持一致。streamingstring(必选)固定为 duplex。
payloadobject(必选)

属性

inputobject(必选)输入对象。

属性

contextarray(object)(可选)对话上下文,用于辅助识别、提升专有词汇的识别准确率。使用方法详见上下文增强。
上下文消息(input_text 和 text 类型)各最多 5 条,超出时保留最近的 5 条。每轮上下文文本总长度(user 和 assistant 的 text 字段长度之和)不超过 400 个字符(按字符数计算,每个字符计为 1),超出部分从末尾截断。
携带上下文时,context 中的消息顺序有要求:上下文消息必须按对话轮次排列,每轮中 user(input_text 类型)必须在对应的 assistant(text 类型)之前。

属性

rolestring(必选)消息角色。取值范围:
  • user:前几轮用户语音的识别结果或领域相关的词表。
  • assistant:前几轮大语言模型的回复内容。
contentarray(object)(必选)消息内容列表。

属性

typestring(必选)内容类型。取值范围:
  • input_text:前几轮用户语音的识别结果或领域相关的词表(role 为 user 时使用),需同时传入 text 字段。
  • text:前几轮大语言模型的回复内容(role 为 assistant 时使用),需同时传入 text 字段。
textstring(必选)文本内容。当 type 为 input_text 时,填入前几轮用户语音的识别结果或领域相关的词表;当 type 为 text 时,填入前几轮大语言模型的回复内容。
{
    "header": {
        "action": "continue-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "context": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "input_text",
                            "text": "你好啊"
                        }
                    ]
                },
                {
                    "role": "assistant",
                    "content": [
                        {
                            "type": "text",
                            "text": "你好啊,我是通义千问,有什么可以帮助你的?"
                        }
                    ]
                }
            ]
        }
    }
}

finish-task

通知服务端音频发送完毕,请求结束任务。 发送时机:所有音频数据发送完毕后。 响应事件:服务端返回 task-finished 事件。
headerobject(必选)

属性

actionstring(必选)指令类型,固定为 finish-task。task_idstring(必选)客户端生成的任务 ID(UUID 格式),需与run-task事件中的 task_id 保持一致。streamingstring(必选)固定为 duplex。
payloadobject(必选)

属性

inputobject(必选)固定为{}。
{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}
文本生成
图像生成
视频生成
世界模型
3D模型生成
音频
Realtime API
  • 概述
向量与排序
决策模型
TokenPlan
模型生产