本文將為您介紹如何在訊息對話中發起音視訊通話時,即時擷取音視頻歷史聊天記錄。
情境說明
在訊息對話情境中,您可以將使用者和音視訊通話智能體的聊天記錄和訊息對話智能體的聊天記錄整合,形成完整的使用者與不同類型智能體的完整聊天記錄。
功能說明
在AI即時互動中,SessionID用於標識使用者與智能體之間的對話關係,從而確保每一次互動均能被系統完整記錄與追溯。藉助這一獨特標識,系統能夠精準識別並整理同一使用者在不同時間發起的多輪對話,形成連貫且清晰的聊天脈絡。此外,您也可以通過SessionID關聯使用者與通話類型智能體以及對話類型智能體之間的所有聊天記錄。
訊息對話聯動音視訊交談記錄
商務程序
AI即時互動使用唯一的SessionID,將使用者與訊息對話智能體及音視訊通話類智能體(VoiceChat、AvatarChat、VisionChat)的所有聊天記錄關聯。當您在訊息對話中,啟動音視訊交談時,如需將訊息對話智能體和音視訊通話智能體產生的聊天記錄進行整合,需在啟動音視訊通話智能體時傳入ChatSyncConfig欄位,設定訊息對話智能體ID及SessionID。
代碼實現
您需要通過端側AICallKit SDK 介面發起音視訊通話智能體,並且需要在ARTCAICallConfig中配置ARTCAICallChatSyncConfig參數,其範例程式碼如下:
Android
//建立ARTCAICallConfig,配置ARTCAICallConfig及ARTCAICallChatSyncConfig參數
ARTCAICallEngine.ARTCAICallConfig artcaiCallConfig = new ARTCAICallEngine.ARTCAICallConfig();
//配置ARTCAICallChatSyncConfig參數
artcaiCallConfig.mAiCallChatSyncConfig.chatBotAgentId = "XXX";//關聯的訊息對話智能體ID
artcaiCallConfig.mAiCallChatSyncConfig.sessionId = "XXX";//業務傳入的SessionId
artcaiCallConfig.mAiCallChatSyncConfig.receiverId = "XXX";//使用者ID,即業務系統使用者唯一標識ID
//省略了配置ARTCAICallConfig參數及發起過程
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.chatSyncConfig
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'; //業務傳入的SessionId
const agentId = 'xxx'; //關聯的訊息對話智能體ID
const receiverId = 'xxxx'; //使用者ID,即業務系統使用者唯一標識ID
const chatSyncConfig = new AICallChatSyncConfig(sessionId, agentId, receiverId);
// 建立ARTCAICallConfig對象,設定interruptWords參數,
let callConfig = new ARTCAICallConfig();
callConfig.chatSyncConfig = chatSyncConfig;
// 如果使用含UI整合,修改 src/runConfig.ts
const runConfig: AICallRunConfig = {
// ...
callAgentConfig: callConfig,
// ...
};
// 如果不含UI整合,則把chatSyncConfig轉化為json string後與sessionId作為啟動AI通話(StartAIAgentInstance或GenerateAIAgentCall)的請求參數
const chatSyncConfigJsonString = chatSyncConfig.getConfigString();
const sessionId = chatSyncConfig.sessionId;
...