通過閱讀本文,您可以瞭解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 智能體會話的使用者識別碼 |
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 |