本文将为您介绍如何实现数据归档。
功能说明
数据归档是将用户与AI智能体的对话转化为文本信息并进行存储,企业可通过API接口调用以消费这部分数据。同时,企业也可以将用户与AI智能体通话的音视频数据存储至对象存储服务(OSS)或视频点播(VOD)平台。
功能实现
阿里云为您提供以下几种数据归档方式:文本内容的聊天记录、音频逐句回调以及ARTC录制的通话内容:
文本聊天记录
您可以通过调用DescribeAIAgentInstance - 查询智能体实例详情API,获取CallLogUrl
字段中的文本文件地址,将生成的文本聊天记录进行存储。
调用示例
#!/usr/bin/env python
#coding=utf-8
import os
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
from aliyunsdkcore.auth.credentials import AccessKeyCredential
from aliyunsdkcore.auth.credentials import StsTokenCredential
# Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
credentials = AccessKeyCredential("YOUR_AK", "YOUR_SK")
# use STS Token
# credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN'])
client = AcsClient(region_id='cn-hangzhou', credential=credentials)
request = CommonRequest()
request.set_accept_format('json')
request.set_domain('ice.cn-hangzhou.aliyuncs.com')
request.set_method('POST')
request.set_protocol_type('https') # https | http
request.set_version('2020-11-09')
request.set_action_name('DescribeAIAgentInstance')
request.add_query_param('InstanceId', "YOUR_INSTANCE_ID")
response = client.do_action(request)
response_dict = json.loads(response)
instance_status = response_dict['Instance']['CallLogUrl']
print(instance_status)
CallLogUrl结构示例
{
"instanceid": "b9566********************3c5eb2",
"startTime": 1755138072.2456193,
"agentUserId": "AGENT_USER1b7**************fac945",
"remoteUserId": "210413545",
"dialog": [
{
"id": 1,
"begin": 4.45,
"role": "agent",
"type": "greeting",
"text": "哈喽,我是阿里视频云的小云,来聊聊天吧"
},
{
"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": "我。那个。"
}
]
}
音频逐句回调
您可以通过在控制台配置聊天记录实时回调以及用户、智能体音频逐句回调。回调具体详情,请参见智能体回调。
ARTC通话录制
您可使用实时音视频(ARTC)的云端录制功能进行录制,具体详情请参见云端录制。
说明
该方法仅适用于ARTC,不适用于电话呼出、呼入。
该文章对您有帮助吗?