驱动指令说明

最近更新时间:2024-11-01 17:21:42

我的收藏

指令说明

驱动方式
指令类型
驱动指令
适用场景
长连接驱动方式(WebSocket)
音频指令
使用音频驱动数智人。
文本指令
子句模式
1. 适用于直播场景;
2. 可支持插播功能。
推荐直接使用直播数智人服务,参考直播数智人服务 API 文档
非子句模式
适用于用户自行接入大模型,用大模型的流式输出驱动数智人的场景。
1. 适用于数智人播报的场景;
2. 适用于在数智人平台绑定了对话服务的场景。
说明:
数智人绑定对话服务请参考数智人项目的创建与管理
心跳指令
用于长连接的保活,推荐每1~2分钟发送一次。
直接驱动方式(HTTPS)
文本指令
1. 适用于短连接版数智人播报的场景;
2. 常用于试用、一句话驱动等场景。
说明:
指令类型:
文本指令:发送文本指令是发送播报文本给云端,由云端合成语音进而驱动数字人讲话的指令;
音频指令:发送音频指令是发送语音流式分片给云端,由云端进行原声或变声驱动数字人讲话的指令;
心跳指令:发送心跳指令是为了维系长连接和会话不断开,如果客户端不发送心跳且无有效上下行数据,云端超过3分钟主动断开长连接,10分钟主动关闭会话断流。

名词解释:
子句与非子句:子句是构成复杂段落的基本单位,能够表达一个完整的陈述,如“腾讯云智能数智人采用语音交互、虚拟形象模型生成等多项 AI 技术”;非子句是指不构成完整句子结构的片段,如“智”、“能”、“数智”、“人”。
插播:当已经发送子句A1、A2、A3、A4,数智人服务端正在处理A2时,此时发送插播子句X,数智人服务端处理完A2后,会优先处理X,最终的播报顺序为A1、A2、X、A3、A4。
播报与对话服务:播报是单向的,用户发送什么内容,数智人就说什么内容;对话是双向的,用户发送问题后,数智人根据数智人平台绑定的对话服务来说出答案。
对话服务:目前对话服务支持腾讯行业大模型对话以及云小微对话。
腾讯行业大模型大模型知识引擎(LLM Knowledge Engine),是面向企业客户及合作伙伴的,基于大语言模型的知识应用构建平台,结合企业专属数据,提供知识问答等应用范式,更快更高效地完成大模型应用的构建,推动大语言模型在企业服务场景的应用落地。
云小微对话:即使用智能客服机器人服务,支持主动询问式多轮对话,结合智能学习能力,实现高准确率人机对话。

驱动方式与指令类型的对应关系

新建流时的 DriverType 参数和指令类型的对应关系如下:
DriverType=1:文本驱动 支持发送文本指令(SEND_TEXT)、心跳指令(SEND_HEARTBEAT)
DriverType=3:音频驱动 支持发送文本指令(SEND_TEXT)、发送音频指令(SEND_AUDIO)、心跳指令(SEND_HEARTBEAT)

当DriverType=3时,文本与音频的发送顺序如下:
1. 当文本正在播报,即下行消息中数智人状态SpeakStatus=TextStart(文本播报中)时,如果要发送音频指令,需要发送空文本指令的打断指令(Interrupt设置为true),直至返回下行消息中 SpeakStatus=TextOver(文本播报结束)才可以发送音频。
2. 当文本正在播报时,如果要播报新文本,直接发送新文本的文本指令,当前正在播报的文本被打断完成会收到 TextOver 的下行消息,新文本播报开始会收到 TextStart,播报结束会收到 TextOver 。
3. 当音频驱动进行中,如果要中断音频驱动发送文本指令驱动,需要发送音频指令(IsFinal 设置为 true)结束语音驱动,直至收到 AudioOver 事件之后才可以发文本或者音频。