Real-time Conversational AI セッションからの会話データを、コンプライアンス、分析、および LLM のファインチューニングのために、テキスト、音声、または録音としてアーカイブします。
概要
データアーカイブは、ユーザーと AI エージェント間の会話を構造化テキストとしてキャプチャし、保存して API 経由で後から取得できるようにします。音声および動画データは、Object Storage Service (OSS) または ApsaraVideo VOD にも保存できます。
会話データのアーカイブ
Real-time Conversational AI は、3 つのアーカイブ方法を提供します。アプリケーションが必要とするデータに応じて、1 つまたは複数の方法を使用してください。
|
方法 |
キャプチャされるデータ |
最適な用途 |
|
テキストチャットの記録 |
タイムスタンプ付きの完全な会話のトランスクリプト |
監査証跡、分析、LLM ファインチューニング |
|
文ごとの音声コールバック |
Webhook 経由での文ごとの音声ファイルとトランスクリプト |
リアルタイム処理、低レイテンシーアクセス |
|
ARTC クラウドレコーディング |
OSS に保存された完全な通話の音声/動画の録音 |
コンプライアンス、再生 |
テキストチャットの記録
セッションが終了したら、DescribeAIAgentInstance API を呼び出し、レスポンスから CallLogUrl フィールドを読み取ります。URL は、会話の完全なトランスクリプトを含む JSON ファイルを指します。
コード例
import os
import sys
from typing import List
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_console.client import Client as ConsoleClient
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> ICE20201109Client:
"""
認証情報を使用してクライアントを初期化します。
認証情報を設定するには、https://www.alibabacloud.com/help/document_detail/378659.html をご参照ください。
"""
# 本番環境では、認証情報不要の認証を使用します。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# エンドポイントについては、https://api.aliyun.com/product/ICE をご参照ください。
config.endpoint = f'ice.us-west-1.aliyuncs.com'
return ICE20201109Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
client = Sample.create_client()
describe_aiagent_instance_request = ice20201109_models.DescribeAIAgentInstanceRequest(
instance_id='YOUR_INSTANCE_ID'
)
runtime = util_models.RuntimeOptions()
try:
resp = client.describe_aiagent_instance_with_options(describe_aiagent_instance_request, runtime)
ConsoleClient.log(UtilClient.to_jsonstring(resp))
ConsoleClient.log(UtilClient.to_jsonstring(resp.body.instance.call_log_url))
except Exception as error:
print(error.message)
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
if __name__ == '__main__':
Sample.main(sys.argv[1:])
CallLogUrl 構造の例
CallLogUrl ファイルは JSON ドキュメントです。すべてのダイアログエントリは begin (セッション開始からの秒数) 順に並んでいます。各エントリには、次のフィールドがあります: id、begin、role (agent または user)、type (greeting または normal)、および text。
{
"instanceid": "b9566********************3c5eb2",
"startTime": 1755138072.2456193,
"agentUserId": "AGENT_USER1b7**************fac945",
"remoteUserId": "210413545",
"dialog": [
{
"id": 1,
"begin": 4.45,
"role": "agent",
"type": "greeting",
"text": "こんにちは。Alibaba Video Cloud のアオイです。お話ししましょう。"
},
{
"id": 2,
"begin": 5.383,
"role": "user",
"type": "normal",
"text": "面白い子供向けの物語を教えてください。"
},
{
"id": 3,
"begin": 53.951,
"role": "agent",
"type": "normal",
"text": "昔々、魔法の森にココという名前の小さなキツネが住んでいました。ココは色とりどりの葉っぱを集めるのが大好きで、一枚一枚が彼女の宝物でした。ある日、彼女は毎日小さなサプライズを生み出す魔法の葉っぱを見つけました。ある日は美味しい蜂蜜、またある日は美しい虹色の傘で、森の動物たちは皆とても羨ましがりました。\n\nココはこの喜びを分かち合うことにしました。彼女は友達を招待して一緒に遊び、魔法の葉からのサプライズを分かち合いました。それ以来、森の中の幸せと友情は育ち、彼らは一緒に多くの忘れられない瞬間を過ごしました。これがココと彼女の魔法の葉っぱの物語です。毎晩この話を聞きながら、子供たちは甘い夢の中へと落ちていきました。"
},
{
"id": 4,
"begin": 54.922,
"role": "user",
"type": "normal",
"text": "別の物語を教えてください。"
},
{
"id": 5,
"begin": 81.97,
"role": "agent",
"type": "normal",
"text": "ずっと昔、星でできた鍵を持つスターダストという名の宇宙探検家がいました。彼が問題に遭遇するたびに、鍵は光り、解決策へと導いてくれました。彼はいつも冒険から新しい物語とたくさんの勇気を持って帰ってきたので、友達は彼を愛していました。スターダストと一緒に未知の宇宙を探検することは、子供たちが最も憧れる冒険となりました。"
},
{
"id": 6,
"begin": 84.78,
"role": "user",
"type": "normal",
"text": "別の物語を教えてください。"
},
{
"id": 7,
"begin": 88.561,
"role": "user",
"type": "normal",
"text": "私は...えーと..."
}
]
}
文ごとの音声コールバック
コンソールで、[リアルタイムチャット記録コールバック] と [文ごとのユーザーと AI エージェントの音声コールバック] を有効にします。設定の詳細については、「エージェントコールバック」をご参照ください。
コールバックを設定する際は、 [コールバック URL] と [認証トークン] を提供します。[文ごとのユーザーと AI エージェントの音声コールバック] については、 [OSS ストレージの場所] も選択します。コールバック URL には HTTPS を使用してください。
ARTC クラウドレコーディング
Alibaba Real-Time Communication (ARTC) のクラウドレコーディング機能を使用して通話を録音します。詳細については、「クラウドレコーディング」をご参照ください。
この方法は ARTC にのみ適用され、アウトバウンドまたはインバウンドの電話通話には適用されません。