本文介绍 Qwen-Omni-Realtime API 的客户端事件。
相关文档:实时多模态。
session.update
客户端建立 WebSocket 连接后,需首先发送该事件,用于更新会话的默认配置。服务端收到 session.update 事件后会校验参数。如果参数不合法,则返回错误;如果参数合法,则更新并返回完整的配置。
type 事件类型,固定为 | |
session 会话配置。 | |
temperature 采样温度,控制模型生成内容的多样性。 temperature越高,生成的内容更多样,反之,生成的内容更确定。 取值范围: [0, 2) 由于temperature与top_p均可以控制生成内容的多样性,因此建议您只设置其中一个值。 temperature默认值:
| |
top_p 核采样的概率阈值,控制模型生成内容的多样性。 top_p越高,生成的内容更多样。反之,生成的内容更确定。 取值范围:(0,1.0] 由于temperature与top_p均可以控制生成内容的多样性,因此建议您只设置其中一个值。 top_p默认值:
| |
top_k 生成过程中采样候选集的大小。例如,取值为50时,仅将单次生成中得分最高的50个Token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。取值为 取值需要大于或等于0。 top_k默认值:
| |
max_tokens 本次请求返回的最大 Token 数。
默认值和最大值都是模型的最大输出长度。关于各模型的最大输出长度,请参见模型列表。 max_tokens参数适用于需要限制字数(如生成摘要、关键词)、控制成本或减少响应时间的场景。 | |
repetition_penalty 模型生成时连续序列中的重复度。提高repetition_penalty时可以降低模型生成的重复度,1.0表示不做惩罚。没有严格的取值范围,只要大于0即可。 默认值1.05。 | |
presence_penalty 控制模型生成内容时的重复度。 默认值为0.0,取值范围:[-2.0, 2.0]。正数会减少重复度,负数会增加重复度。 适用场景: 较高的presence_penalty适用于要求多样性、趣味性或创造性的场景,如创意写作或头脑风暴。 较低的presence_penalty适用于要求一致性或专业术语的场景,如技术文档或其他正式文档。 | |
seed 设置seed参数会使大模型的生成过程更具有确定性,通常用于使模型每次运行的结果一致。 在每次模型调用时传入相同的seed值(由您指定),并保持其他参数不变,模型将尽可能返回相同的结果。 取值范围:0到231−1,默认值-1。 |
response.create
response.create 事件用于指示服务端创建模型响应。在VAD模式下,服务端会自动创建模型响应,无需发送该事件。
服务端使用 response.created 事件、一个或多个项和内容事件(如 conversation.item.created 和 response.content_part.added)进行响应,最后用一个 response.done 事件表示响应已完成。
type 事件类型,固定为 | |
response.cancel
客户端发送此事件用以取消正在进行的响应。如果没有任何响应可供取消,服务端将响应错误事件。
type 事件类型,固定为 | |
input_audio_buffer.append
用于将音频字节追加到输入音频缓冲区。
type 事件类型,固定为 | |
audio Base64 编码的音频数据。 |
input_audio_buffer.commit
用于提交用户输入音频缓冲区,在对话中创建新的用户消息项。 如果输入的音频缓冲区为空,服务端会返回错误事件。
提交输入音频缓冲区不会从模型创建响应,服务端将使用 input_audio_buffer.committed 事件进行响应。
如果客户端发送过input_image_buffer.append事件,input_audio_buffer.commit 事件会将图像缓冲区一起提交。
type 事件类型,固定为 | |
input_audio_buffer.clear
用于清除缓冲区中的音频字节。服务端发送input_audio_buffer.cleared 事件进行响应。
type 事件类型,固定为 | |
input_image_buffer.append
用于将图像数据添加到图像缓冲区。图像可来自本地文件,或从视频流实时采集。
目前对图片输入有以下限制:
图像格式必须为 JPG 或 JPEG。建议分辨率为 480p 或 720p以获得最佳性能,最高不超过 1080p;
单张图片大小不大于500KB(Base64编码前);
图片数据需要经过Base64编码;
以不超过每秒 2 张的频率向服务端发送图像;
发送 input_image_buffer.append 事件前,至少发送过一次 input_audio_buffer.append 事件。
图像缓冲区与音频缓冲区一起通过input_audio_buffer.commit事件提交。
type 事件类型,固定为 | |
image Base64 编码的图像数据。 |