数据结构

通过阅读本文,您可以了解Web SDK涉及的数据类型。

数据结构概览

说明

旧版本SDK中存在弃用参数、方法,建议您将SDK升级到最新版本,请参见Web使用指南

结构类型

数据类型

描述

Enum

AICallAgentType

智能体类型

AICallAgentState

智能体状态

AICallSpeakingInterruptedReason

智能体讲话被打断原因

AICallVoiceprintResult

Vad反馈结果

AICallErrorCode

错误码

Class

AICallAgentInfo

智能体运行时信息

AICallVisionCustomCaptureRequest

视觉理解智能体自定义截帧配置请求

AICallSendTextToAgentRequest

给智能体发送文本消息请求

AICallConfig

启动智能体通话的配置

AICallTemplateConfig(弃用)

启动通话的模板配置参数

AICallChatSyncConfig

关联的Chat智能体会话配置

AICallAgentShareConfig

智能体分享配置信息

AICallAgentConfig

通话智能体启动与运行配置

AICallAgentAsrConfig

语音识别配置

AICallAgentTtsConfig

语音合成配置

AICallAgentLlmConfig

大语言模型配置

AICallAgentAvatarConfig

数字人配置

AICallAgentInterruptConfig

打断配置

AICallAgentVoiceprintConfig

声纹降噪配置

AICallAgentTurnDetectionConfig

轮次检测配置

AICallAgentVcrResult

VCR检测Result

AICallAgentVcrConfig

VCR配置

AICallAgentVcrBaseConfig

VCR的基础检测配置

AICallAgentVcrFrameMotionConfig

VCR的帧运动检测配置

数据结构详情

Enum

AICallAgentType

智能体类型

枚举值

描述

VoiceAgent

0

仅支持语音交互,无视觉形象

AvatarAgent

1

具备虚拟形象,支持语音和视觉交互

VisionAgent

2

主要负责视觉信息的理解与分析

VideoAgent

3

视频通话,支持用户与智能体双向视频通话

AICallAgentState

智能体状态

枚举值

描述

Listening

1

聆听中

Thinking

2

思考中

Speaking

3

讲话中

AICallSpeakingInterruptedReason

智能体当前讲话被打断原因

枚举值

描述

unknown

0

未知原因

byWords

1

因为识别到特定词

byVoice

2

因为语音打断

byInterruptSpeaking

3

因为调用了API:interruptSpeaking

bySpeechBroadCast

4

因为主动语音播报打断

byLlmQuery

5

因为主动LLM查询打断

AICallVoiceprintResult

Vad反馈结果

枚举值

描述

Off

0

没开启声纹降噪Vad,且关闭AIVad

Unregister

1

已开启声纹降噪Vad,但还完成声纹注册

DetectedSpeaker

2

已开启声纹降噪Vad,识别到主讲人

UndetectedSpeaker

3

已开启声纹降噪Vad,没识别到主讲人

DetectedSpeakerWithAIVad

4

开启AIVad,识别到主讲人

UndetectedSpeakerWithAIVad

5

开启AIVad,但没识别到主讲人

Unknown

100

未知

AICallErrorCode

错误码

枚举值

描述

None

0

成功

InvalidAction

-1

操作无效

InvalidParames

-2

参数错误

NetworkError

-3

网络错误

InternalError

-4

内部错误

BeginCallFailed

-10000

启动通话失败

ConnectionFailed

-10001

链接出现问题

PublishFailed

-10002

推流失败

SubscribeFailed

-10003

拉流失败

TokenExpired

-10004

通话认证过期

KickedByUserReplace

-10005

同名登录导致通话无法进行

KickedBySystem

-10006

被系统踢出导致通话无法进行

KickedByChannelTerminated

-10007

频道被销毁导致通话无法进行

LocalDeviceException

-10008

本地设备问题导致无法进行

AgentLeaveChannel

-10101

智能体离开频道了(智能体结束通话)

AgentPullFailed

-10102

智能体拉流失败了

AgentASRFailed

-10103

智能体ASR失败

AvatarServiceFailed

-10201

数字智能体服务启动失败

AvatarRoutesExhausted

-10202

数字智能体超出并发路数

AgentSubscriptionRequired

-10203

发起通话,超出每天免费体验的额度

AgentNotFound

-10204

智能体未能找到(智能体ID不存在)

ChatTextMessageSendFailed

-10301

文本消息发送失败

ChatTextMessageReceiveFailed

-10302

文本消息接收失败

ChatVoiceRecordFailed

-10310

语音消息录制失败

ChatVoiceMessageSendFailed

-10311

语音消息发送失败

ChatVoiceMessageReceiveFailed

-10312

语音消息接收失败

ChatPlayMessageReceiveFailed

-10321

播放消息接收失败

ChatLogNotFound

-10331

聊天记录未能找到

ChatAttachmentUploading

-10332

附件的还在上传中,需要上传完成后,才能发送消息

UnknowError

-40000

未知错误

Class

AICallAgentInfo

智能体运行时信息

属性名

类型

描述

agentType

AICallAgentType

智能体类型

channelId

string

智能体所在的 RTC 频道 ID

userId

string

智能体进入 RTC 频道的唯一标识

instanceId

string

当前智能体运行的实例 ID

reqId

string

当前智能体启动的请求 ID

AICallVisionCustomCaptureRequest

视觉理解智能体开启自定义截帧配置请求 Model

属性名

类型

描述

text

string

请求多模态大模型时的文本参数

isSingle

boolean

是否为单次截帧

eachDuration

number

截帧间隔时长(秒)

num

number

每次截帧的图片数量

duration

number

持续截帧的时长(秒),仅在持续截帧时生效

userData(可选)

string

JSON 字符串,自定义业务信息

AICallSendTextToAgentRequest

给智能体发送文本消息请求 Model

属性名

类型

描述

text

string

询问智能体的文本消息,例如:"这是什么?"

AICallConfig

启动智能体通话的配置

属性名

类型

描述

agentId

string

智能体 ID

agentType

AICallAgentType

智能体类型

agentUserId(可选)

string

智能体的 Uid,为空时由服务分配

region

string

智能体服务所在区域

userId

string

当前用户 ID

userJoinToken

string

当前用户的入会 Token

userData(可选)

string

用户自定义信息,最终传给智能体,建议使用 JSON 字符串

chatSyncConfig(可选)

AICallChatSyncConfig

关联的 chat 智能体配置

agentConfig(可选)

AICallAgentConfig

用于启动通话的agentConfig参数

templateConfig(可选)

AICallTemplateConfig(弃用)

已弃用,请使用 agentConfig

AICallTemplateConfig(弃用)

用于启动通话的 TemplateConfig 参数

重要

该方法在2.5以上版本弃用,最新版请使用 AICallAgentConfig

属性名

类型

描述

agentGreeting(可选)

string

智能体欢迎语,为空表示使用智能体配置值

userOnlineTimeout

number

用户未入会,智能体超时关闭任务的时间,小于0则使用服务端默认值 60s

userOfflineTimeout

number

用户退会后,智能体超时关闭任务的时间,小于0则使用服务端默认值 5s

workflowOverrideParams(可选)

object

工作流覆盖参数

bailianAppParams(可选)

object

百炼应用中心参数

asrMaxSilence

number

语音断句检测阈值,范围 200ms~1200ms,小于0使用服务端默认值 400ms

volume

number

智能体说话的音量,范围 0~400,输出音量 = 工作流中的语音输出音量 * volume / 100,小于0使用服务端默认值 100

vadLevel

number

设置AIVad的灵敏度参数,默认值为3,取值范围:[0,10]

enableVoiceInterrupt

boolean

是否开启智能打断

agentVoiceId(可选)

string

智能体讲话音色 ID,为空表示使用智能体配置值

enableIntelligentSegment

boolean

是否开启智能断句合并

useVoiceprint

boolean

当前断句是否使用声纹降噪识别

voiceprintId(可选)

string

声纹 ID,如果不为空表示当前通话开启声纹降噪能力

agentMaxIdleTime

number

智能体闲时的最大等待时间(单位:秒),小于0使用服务端默认值 600s

llmHistoryLimit

number

LLM/Multimodal LLM 历史对话上下文最大保留轮次,小于0使用服务端默认值 10

enablePushToTalk

boolean

是否开启对讲机模式

agentGracefulShutdown

boolean

是否优雅下线:播报完当前句子再停止

agentAvatarId(可选)

string

数字人模型 ID,为空表示使用智能体配置值

asrLanguageId(可选)

string

ASR 语种 ID,为空表示使用智能体配置值

wakeUpQuery(可选)

string

用户在通话启动前的指令,用于智能体在通话启动后立即响应

llmSystemPrompt(可选)

string

LLM 系统提示词,例如:“你是一位友好且乐于助人的助手...”注意:不支持 LLM 节点为百炼工作流类型

asrHotWords(可选)

Array<string>

ASR 热词列表

interruptWords(可选)

Array<string>

触发对话打断的特定词汇或短语,例如:“打断一下”、“我知道了”

AICallAgentConfig

通话智能体启动与运行配置

属性名

类型

描述

agentGreeting(可选)

string

智能体欢迎语,为空表示使用智能体配置值,最大长度100字符

wakeUpQuery(可选)

string

用户在通话启动前的指令,用于智能体在通话启动后立即响应

agentMaxIdleTime

number

智能体闲时的最大等待时间(单位:秒),超时智能体自动下线,默认值为600s

userOnlineTimeout

number

用户未入会,智能体超时关闭任务的时间,默认值为60s

userOfflineTimeout

number

用户退会后,智能体超时关闭任务的时间,默认值为5s

enablePushToTalk

boolean

是否开启对讲机模式

agentGracefulShutdown

boolean

是否优雅下线:播报完当前句子再停止

volume

number

智能体说话的音量,范围为 0~400,默认值为100

workflowOverrideParams

JSONObject

工作流覆盖参数

enableIntelligentSegment

boolean

智能断句开关

asrConfig

AICallAgentAsrConfig

语音识别配置

ttsConfig

AICallAgentTtsConfig

语音合成配置

llmConfig

AICallAgentLlmConfig

大语言模型配置

avatarConfig

AICallAgentAvatarConfig

数字人配置

interruptConfig

AICallAgentInterruptConfig

打断配置

voiceprintConfig

AICallAgentVoiceprintConfig

声纹降噪配置

turnDetectionConfig

AICallAgentTurnDetectionConfig

轮次检测配置

experimentalConfig

JSONObject

非产品化定制化配置

vcrConfig

AICallAgentVcrConfig

VCR配置

AICallChatSyncConfig

关联的 chat 智能体会话配置参数

属性名

类型

描述

sessionId

string

关联的 chat 智能体会话 ID

agentId

string

关联的 chat 智能体 ID(必须是同一账号同一区域)

receiverId

string

关联的 chat 智能体会话的用户 ID

AICallAgentShareConfig

分享智能体配置信息

属性名

类型

描述

shareId(可选)

string

智能体分享 ID

agentType

AICallAgentType

智能体工作量类型

expireTime(可选)

Date

过期时间

region(可选)

string

Agent 所在区域

templateConfig(可选)

string

模板配置(JSON 字符串)

userData(可选)

string

用户自定义信息,该信息最终传给智能体

AICallAgentAsrConfig

语音识别配置

属性名

类型

描述

asrLanguageId(可选)

string

asr语种Id,为空表示使用智能体配置值,可选:

  • zh_mandarin 中文

  • en 英文

  • zh_en 中英混

  • es 西班牙语

  • jp 日语

asrMaxSilence

number

语音断句检测阈值,静音时长超过该阈值会被认为断句,默认值为400ms,参数范围 200ms~1200ms

asrHotWords(可选)

string[]

ASR热词列表,限制:500个词及以内,每个词不超过10个字符

vadLevel

number

设置AIVad的灵敏度参数,默认值为3,取值范围:[0,10]

customParams

string

自接入ASR时,传入运行时参数,使用URL参数形式,例如:"mode=fast&sample=16000&format=wav"

vadDuration

number

语音活动检测的最短持续时间阈值,用于控制打断的灵敏度。默认为0表示关闭此功能;有效范围:2002000毫秒,常用[200,500] 对应1-4个字。如果设置小于0则不会把该值发给服务端(服务端默认关闭此功能)

AICallAgentTtsConfig

语音合成配置

属性名

类型

描述

agentVoiceId(可选)

string

智能体讲话音色Id,为空表示使用智能体配置值

pronunciationRules

JSONObject[]

发音规则数组,最多支持 20 条规则。若为undefined或空数组,则不使用任何规则。示例如下:

 [
  {
      "Word": "重叠",                       // 目标词
      "Pronunciation": "宠叠",              // 替换发音
      "Type": "replacement"                // 多音字规则
  },
  {
      "Word": "行动",
      "Pronunciation": "航动",
      "Type": "replacement"
  }
]

speechRate

number

TTS播报语速,支持所有TTS类型,取值范围为[0.5, 2.0],默认值为1.0,小于0则不会发给服务端(使用控制台配置值)

languageId

string

TTS播报语种代码,当TTS类型为MiniMax有效

emotion

string

TTS播报情绪类型,当TTS类型为MiniMax有效

modelId

string

TTS模型Id,当前仅支持minimax,可选值:speech-01-turbo / speech-02-turbo

AICallAgentLlmConfig

大语言模型配置

属性名

类型

描述

llmHistoryLimit

number

历史对话上下文最大保留轮次,默认值为10

llmSystemPrompt(可选)

string

llm的系统提示词

bailianAppParams

JSONObject

百炼应用中心参数

llmCompleteReply

boolean

是否发送完整的LLM结果。

说明

开启后,LLM生成结果之后,会通过 llmReplyCompleted 事件回调完整llm结果。

openAIExtraQuery(可选)

string

额外的 OpenAI 协议 LLM 的查询参数。

说明

参数必须使用 key=value 格式,多个参数用 & 连接,所有值必须为字符串类型。

AICallAgentAvatarConfig

数字人配置

属性名

类型

描述

agentAvatarId(可选)

string

数字人模型Id,为空表示使用智能体配置值

AICallAgentInterruptConfig

打断配置

属性名

类型

描述

enableVoiceInterrupt

boolean

是否开启智能打断

interruptWords(可选)

string[]

触发对话打断的特定词汇或短语

AICallAgentVoiceprintConfig

声纹降噪配置

属性名

类型

描述

useVoiceprint

boolean

当前断句是否使用声纹降噪识别

voiceprintId(可选)

string

声纹Id,如果不为空表示当前通话开启声纹降噪能力

AICallAgentTurnDetectionConfig

轮次检测配置

属性名

类型

描述

turnEndWords(可选)

string[]

断句特定词,例如:“完毕”、“我讲完了”

mode

AICallTurnDetectionMode

判断用户说话是否结束模式,默认是Semantic,使用AI进行语义判断是否说话结束

semanticWaitDuration

number

语义断句自定义等待时间,单位:毫秒,范围:[0, 10000];如果小于0则不会发给服务端(使用服务端默认值-1,AI自动判断合适的等待时间)

说明

如果是AICallTurnDetectionMode.Normal模式,semanticWaitDuration字段无效

AICallAgentVcrResult

VCR检测结果

属性名

类型

描述

data

JSONObject

智能体返回的所有的VCR检测结果

stillFrameMotion

FrameMotionResult

画面固定检测结果

invalidFrameMotion

FrameMotionResult

无效画面检测结果

peopleCount

PeopleCountResult

人数检测结果

equipment

EquipmentResult

电子设备检测结果

headMotion

HeadMotionResult

头部运动检测结果

AICallAgentVcrConfig

VCR配置

属性名

类型

描述

data

JSONObject

当用户传json对象进来时,缓存起来,后面生成json字符串时,使用该对象,这样可以做到自定义扩展

stillFrameMotion

AICallAgentVcrFrameMotionConfig

VCR的静止帧检测配置

invalidFrameMotion

AICallAgentVcrFrameMotionConfig

VCR的无效帧检测配置

peopleCount

AICallAgentVcrBaseConfig

VCR的实时画面人数检测配置

equipment

AICallAgentVcrBaseConfig

VCR的电子设备检测配置

headMotion

AICallAgentVcrBaseConfig

VCR的头部动作检测配置

AICallAgentVcrBaseConfig

VCR的基础检测配置

属性名

类型

描述

enable

boolean

是否启用

AICallAgentVcrFrameMotionConfig

VCR的帧运动检测配置

属性名

类型

描述

callbackDelay

number

多少毫秒后触发回调,默认3000ms