このトピックでは、音声/ビデオ (A/V) 通話の開始時に、そのチャット履歴を既存のメッセージ会話と連携させる方法について説明します。
概要
メッセージ会話において、ユーザーと A/V 通話エージェント間のチャット履歴を、チャットボットエージェントとの履歴と統合し、完全なチャットログを形成することができます。
機能説明
リアルタイム対話型 AI では、セッション ID がユーザーとエージェント間の対話関係を識別し、すべてのインタラクションが完全に記録され、追跡可能であることを保証します。この一意の識別子を使用することで、システムは同じユーザーが異なる時間に開始した複数の対話ターンを認識・整理し、一貫性のあるチャット履歴を作成できます。また、セッション ID を使用して、ユーザーと A/V 通話エージェントおよびチャットボットエージェントの両方との間のすべてのチャットレコードを連携させることもできます。
メッセージと A/V 通話のチャット履歴の連携
ビジネスフロー
リアルタイム対話型 AI は、単一の SessionID を使用して、ユーザーとチャットボットエージェントおよび A/V 通話エージェント (音声通話、アバター通話、ビジョン通話など) の両方とのすべてのチャットレコードを連携させます。メッセージ会話のチャット履歴を後続の A/V 通話とマージするには、A/V 通話を開始する際に、チャットボットエージェントの ID とセッション ID を含む ChatSyncConfig フィールドを渡す必要があります。
コード実装
クライアントサイドの AICallKit SDK を使用して A/V 通話を開始し、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: ご利用のシステムにおけるユーザーの一意の識別子。
// ARTCAICallConfig パラメーターの設定と開始プロセスの記述は省略します
iOS
// ARTCAICallChatSyncConfig オブジェクトを作成し、パラメーターを設定します。
let agentId = "xxx" // 関連付けられたチャットボットエージェントの ID
let sessionId = "xxx" // ご利用のアプリケーションで提供される SessionID。
let receiverId = "xxxx" // ユーザー 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 文字列に変換し、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: ご利用のシステムにおけるユーザーの一意の識別子。
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 文字列に変換し、sessionId とともに AI 通話を開始するためのリクエストパラメーター (StartAIAgentInstance または GenerateAIAgentCall) として使用します。
const chatSyncConfigJsonString = chatSyncConfig.getConfigString();
const sessionId = chatSyncConfig.sessionId;
...