Skip to main content

模型与连接

以下两个模型使用同一套 WebSocket 事件结构: 连接时设置 api-key: <MODELHUB_API_KEY> 请求头。模型是否可用,以模型列表及 Key 权限为准。示例在服务端运行;浏览器原生 WebSocket 无法设置这个请求头,需要通过自己的服务端接入。 会话、文本、音频及函数调用采用 OpenAI GA 风格字段;百炼扩展直接放在 session 或对应的音频配置中,不使用 provider_options.qwen。切换 GPT 模型时,请按参数矩阵调整字段,不能只替换模型 ID。

安装与运行

需要 Python 3.11+:
音频输入必须为 16位、有符号、小端、单声道 PCM,采样率为16kHz或24kHz。WAV文件只读取音频帧,不把WAV头放入 input_audio_buffer.append。输出始终为24kHz PCM。示例将音频回答保存为 qwen-output.wav

完整 Python 示例

保存为 qwen_realtime.pyaudio 使用手动提交;vad 使用语义轮次检测,不发送 commit 或 response.create。示例有120秒超时,适用于短音频验证。
Python

音色、搜索与声纹

两款模型均支持五种内置输出音色:longanqianlonganlingxinlonganlingxilonganxiaoxinlonganlufeng。通过 session.audio.output.voice 配置,只能在首次 session.update 设置。克隆音色需先通过独立声音复刻 API 创建;已有 voice_id 的接入尚未完成平台实测。 联网搜索通过 session.enable_searchsession.search_options.enable_source 设置;来源位于 response.done.response.search_info,搜索次数可能位于 usage.plugins.search.count。启用搜索不代表每轮都会搜索,不能与非空 tools 同时启用。 声纹注册使用以下首轮会话配置;占位地址需替换为真实公网可访问的16kHz PCM/WAV文件:
最多配置五个地址。等待 session.updated 及声纹加载事件;modelhub.voiceprint_audio_list.completed 表示加载完成,failed 表示加载失败。加载成功不代表干扰过滤效果已通过验收,具体限制见参数矩阵

事件与用量

文本使用 response.output_text.*,音频使用 response.output_audio.*,音频转写使用 response.output_audio_transcript.*。客户端扩展事件以 modelhub. 开头,例如 modelhub.conversation.item.ambient_audio_transcription.*。其他未识别事件可以忽略,错误事件应显式处理。 用量字段为 input_token_detailsoutput_token_details。音频附带文本保留实际 tokens,但正常完成响应中不对附带文本另收费;独立文本响应仍收费。百炼取消响应可能没有 usage,不能将其解释为零消耗;计费及其他验收限制见参数矩阵 官方参考:客户端事件服务端事件。本页字段以平台统一接口实现为准,不能直接使用百炼原生扁平 voicemodalitiessmart_turn 字段。