通过阅读本文,您可以了解Web SDK涉及的数据类型。
数据结构概览
旧版本SDK中存在弃用参数、方法,建议您将SDK升级到最新版本,请参见Web使用指南。
结构类型 | 数据类型 | 描述 |
Enum | 智能体类型 | |
智能体状态 | ||
智能体讲话被打断原因 | ||
Vad反馈结果 | ||
错误码 | ||
Class | 智能体运行时信息 | |
视觉理解智能体自定义截帧配置请求 | ||
给智能体发送文本消息请求 | ||
启动智能体通话的配置 | ||
启动通话的模板配置参数 | ||
关联的Chat智能体会话配置 | ||
智能体分享配置信息 | ||
通话智能体启动与运行配置 | ||
语音识别配置 | ||
语音合成配置 | ||
大语言模型配置 | ||
数字人配置 | ||
打断配置 | ||
声纹降噪配置 | ||
轮次检测配置 | ||
VCR检测Result | ||
VCR配置 | ||
VCR的基础检测配置 | ||
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 | 智能体类型 | |
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 | 智能体类型 | |
agentUserId(可选) | string | 智能体的 Uid,为空时由服务分配 |
region | string | 智能体服务所在区域 |
userId | string | 当前用户 ID |
userJoinToken | string | 当前用户的入会 Token |
userData(可选) | string | 用户自定义信息,最终传给智能体,建议使用 JSON 字符串 |
chatSyncConfig(可选) | 关联的 chat 智能体配置 | |
agentConfig(可选) | 用于启动通话的agentConfig参数 | |
templateConfig(可选) | 已弃用,请使用 |
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 | 语音识别配置 | |
ttsConfig | 语音合成配置 | |
llmConfig | 大语言模型配置 | |
avatarConfig | 数字人配置 | |
interruptConfig | 打断配置 | |
voiceprintConfig | 声纹降噪配置 | |
turnDetectionConfig | 轮次检测配置 | |
experimentalConfig | JSONObject | 非产品化定制化配置 |
vcrConfig | VCR配置 |
AICallChatSyncConfig
关联的 chat 智能体会话配置参数
属性名 | 类型 | 描述 |
sessionId | string | 关联的 chat 智能体会话 ID |
agentId | string | 关联的 chat 智能体 ID(必须是同一账号同一区域) |
receiverId | string | 关联的 chat 智能体会话的用户 ID |
AICallAgentShareConfig
分享智能体配置信息
属性名 | 类型 | 描述 |
shareId(可选) | string | 智能体分享 ID |
agentType | 智能体工作量类型 | |
expireTime(可选) | Date | 过期时间 |
region(可选) | string | Agent 所在区域 |
templateConfig(可选) | string | 模板配置(JSON 字符串) |
userData(可选) | string | 用户自定义信息,该信息最终传给智能体 |
AICallAgentAsrConfig
语音识别配置
属性名 | 类型 | 描述 |
asrLanguageId(可选) | string | asr语种Id,为空表示使用智能体配置值,可选:
|
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表示关闭此功能;有效范围:200到2000毫秒,常用[200,500] 对应1-4个字。如果设置小于0则不会把该值发给服务端(服务端默认关闭此功能) |
AICallAgentTtsConfig
语音合成配置
属性名 | 类型 | 描述 |
agentVoiceId(可选) | string | 智能体讲话音色Id,为空表示使用智能体配置值 |
pronunciationRules | JSONObject[] | 发音规则数组,最多支持 20 条规则。若为undefined或空数组,则不使用任何规则。示例如下:
|
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 | VCR的静止帧检测配置 | |
invalidFrameMotion | VCR的无效帧检测配置 | |
peopleCount | VCR的实时画面人数检测配置 | |
equipment | VCR的电子设备检测配置 | |
headMotion | VCR的头部动作检测配置 |
AICallAgentVcrBaseConfig
VCR的基础检测配置
属性名 | 类型 | 描述 |
enable | boolean | 是否启用 |
AICallAgentVcrFrameMotionConfig
VCR的帧运动检测配置
属性名 | 类型 | 描述 |
callbackDelay | number | 多少毫秒后触发回调,默认3000ms |