

前提条件
必须先阅读实时多模态交互协议(WebSocket) ,了解实时多模态交互的整体WebSocket协议。
开通阿里云百炼模型服务并获取API KEY
请参考获取与配置 API Key,API KEY作为百炼模型服务的鉴权凭证。
管控台开通拍照问答直通链路
- 在多模态开发套件中创建多模态交互应用,模板选择全能版本(不要选择视觉版),关闭语音识别,打开语音合成。

- 关闭 对话承接语、知识库、联网搜索、长期记忆配置。

- 技能配置全部清空、Agent配置只保留拍照问答。

- 配置拍照问答Agent,启动指令置空,模型推荐选择“视觉理解均衡版”,请按需要配置提示词。

- 配置完成后请点击右上角发布按键进行发布(必须发布后才能测试)。
时序图
[关键流程] 服务端返回Started消息表示会话创建成功,但客户端禁止立即发送音频。客户端必须等待并接收到DialogStateChanged事件且state为Listening后,方可开始发送音频流。

通过RequestToRespond发送请求
RequestToRespond
在Listening状态时,通知服务端与用户主动交互,可以上传文本调用agent,返回的结果再转换为语音下发
一级参数 | 二级参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|---|
input | directive | string | 是 | 指令名称:RequestToRespond |
dialog_id | string | 是 | 对话id,标识对话上下文,应与服务端返回的Listening状态时携带的dialog_id相同 | |
type | string | 是 | 服务应该采取的交互类型: transcript 表示直接把文本转语音 prompt 表示把文本送大模型回答 本文指定为prompt | |
text | string | 是 | 要处理的文本,可以为""空字符,也可以为明确的文本请求 | |
parameters | images | list[] | 否 | 需要分析的图片信息,目前仅支持上传单张图片 |
biz_params | object | 否 | 与Start消息中biz_params相同,传递对话系统自定义参数。RequestToRespond的biz_params参数只在本次请求中生效。 |
parameters.images的参数说明
一级参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
type | string | 是 | 图片类型,支持两种:base64/url |
value | string | 是 | 图片内容。
|
parameters.biz_params的参数说明
一级参数 | 二级参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|---|
commands[i] | name | string | 是 | 表示直通到agent,本实践中固定为“agent_command”,请直接复制使用 |
exec_params | object | 是 | 表示指定的agent,本实践固定,具体请参考commands.exec_params参数说明 |
commands.exec_params参数说明
一级参数 | 二级参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|---|
exec_params | app_id | string | 是 | 表示指定的agent,本实践固定为"visual_qa",请复制使用 |
intent | string | 是 | 表示指定agent的动作,本实践固定为"open_visual_qa",请复制使用 |