本文将为您介绍如何在消息对话中发起音视频通话时,实时获取音视频历史聊天记录。
场景说明
在消息对话场景中,您可以将用户和音视频通话智能体的聊天记录和消息对话智能体的聊天记录整合,形成完整的用户与不同类型智能体的完整聊天记录。
功能说明
在AI实时互动中,SessionID用于标识用户与智能体之间的对话关系,从而确保每一次交互均能被系统完整记录与追溯。借助这一独特标识,系统能够精准识别并整理同一用户在不同时间发起的多轮对话,形成连贯且清晰的聊天脉络。此外,您也可以通过SessionID关联用户与通话类型智能体以及对话类型智能体之间的所有聊天记录。
消息对话联动音视频聊天记录
业务流程
AI实时互动使用唯一的SessionID
,将用户与消息对话智能体及音视频通话类智能体(VoiceChat、AvatarChat、VisionChat)的所有聊天记录关联。当您在消息对话中,启动音视频对话时,如需将消息对话智能体和音视频通话智能体产生的聊天记录进行整合,需在启动音视频通话智能体时传入ChatSyncConfig
字段,设置消息对话智能体ID及SessionID
。
代码实现
您需要通过端侧AICallKit SDK 接口发起音视频通话智能体,并且需要在ARTCAICallConfig
中配置ARTCAICallChatSyncConfig
参数,其示例代码如下:
Android
//创建ARTCAICallConfig,配置ARTCAICallAgentTemplateConfig及ARTCAICallChatSyncConfig参数
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
//配置ARTCAICallChatSyncConfig参数
artcaiCallConfig.mAiCallChatSyncConfig.chatBotAgentId = "XXX";//关联的消息对话智能体ID
artcaiCallConfig.mAiCallChatSyncConfig.sessionId = "XXX";//业务传入的SessionId
artcaiCallConfig.mAiCallChatSyncConfig.receiverId = "XXX";//用户ID,即业务系统用户唯一标识ID
//省略了配置ARTCAICallAgentTemplateConfig参数及发起过程
iOS
// 创建ARTCAICallChatSyncConfig对象及设置参数
let agentId = "xxx" //关联的消息对话智能体ID
let sessionId = "xxx" //业务传入的SessionId
let receiverId = "xxxx" //用户ID,即业务系统用户唯一标识ID
let chatSyncConfig = ARTCAICallChatSyncConfig(sessionId: sessionId, agentId: agentId, receiverId: receiverId)
// 如果使用含UI集成,在启动通话时,设置config.templateConfig
let controller = AUIAICallStandardController(userId: userId)
controller.config.chatSyncConfig = chatSyncConfig
...
// 如果不含UI集成,则把chatSyncConfig转化为json string后与sessionId作为启动AI通话(StartAIAgentInstance或GenerateAIAgentCall)的请求参数
let chatSyncConfigJsonString = chatSyncConfig.getConfigString()
let sessionId = chatSyncConfig.sessionId
...
Web
// 创建ARTCAICallChatSyncConfig对象及设置参数
const sessionId = 'xxx'; //关联的消息对话智能体ID
const agentId = 'xxx'; //业务传入的SessionId
const receiverId = 'xxxx'; //用户ID,即业务系统用户唯一标识ID
const chatSyncConfig = new AICallChatSyncConfig(sessionId, agentId, receiverId);
// 创建AICallTemplateConfig对象,设置interruptWords参数,
let templateConfig = new AICallTemplateConfig();
templateConfig.chatSyncConfig = chatSyncConfig;
// 如果使用含UI集成,修改 src/runConfig.ts
const runConfig: AICallRunConfig = {
// ...
callTemplateConfig: templateConfig,
// ...
};
// 如果不含UI集成,则把chatSyncConfig转化为json string后与sessionId作为启动AI通话(StartAIAgentInstance或GenerateAIAgentCall)的请求参数
const chatSyncConfigJsonString = chatSyncConfig.getConfigString();
const sessionId = chatSyncConfig.sessionId;
...
该文章对您有帮助吗?