云端问道22期——AI智能语音实时互动
摘要:本期分享的是如何构建用户与 AI 智能语音的实时互动,以及要如何操作构建智能语音系统。主要分为以下七部分。
1. 有问题如何进入解决方案页
2. 使用户与 AI 实时语音通话的方案介绍
3. 使用户与 AI 实时语音通话操作
4. 使用户与 AI 实时语音通话操作
5. 实时工作模版
6. 部署应用
7. 应用体验
01. 有问题如何进入解决方案页
我们可以在官网上找到两个入口进行 AI 通话体验,一个是首页上的“AI通话”功能,另一个是在解决方案页面中提供的与 AI 智能体进行实时语音通话的选项。从首页点击进入,只需点击“查看详情”,即可跳转至我们的解决方案页面。
02. 用户与 AI 实时语音通话的方案介绍
首先,在开始之前,我简要说明一下部署此方案所需的时间和费用。对于首次部署,整体大约需要 20 分钟的时间,由于我之前已有部署经验,所以演示时可能会相对较快。其次,预估费用大约在 1 元左右。为了让大家更好地体验 AI 实时互动功能,我们特别提供了每天每个账号 20 次免费通话的额度,这对于本次部署来说基本上是足够的。当然,也可能会有一些额外的费用,比如 ARTC 的通话费用,但这项费用也非常低廉,基本上 1 元以内足以完成一次部署和体验。
整个部署方案涉及几个产品。首先是智能媒体服务,现在的AI实时互动功能就隶属于该服务之下,因此必须开通。其次,AI互动功能与阿里的百炼平台是自然对接的,我们可以调用阿里百炼平台上的任意一款阿里自研或第三方的 AI 大模型。此外,还需要使用到 ARTC 的能力,它目前包含在视频直播产品中。同时,方案还需要用到函数计算,我们提供了一套服务端代码模板,只需将其部署到函数计算 FC 上,整个方案即可运行。
03. 用户与 AI 实时语音通话操作
现在我们就来正式的开始部署一个用户与 AI 实时语音通话的能力,点击部署。
首先,让我们回到第一步,即开始部署前的准备工作。我之前提到了三个产品,但在开始之前,还需要完成一些基础的准备工作。这包括注册阿里云账号以及为阿里云账号充值,这些步骤大家可以在后续自行查看并完成。
首先,我们需要完成前置工作。由于我们之前提到与 AI 进行通话需要使用到 RTC 的功能,因此接下来我们将进行相关的创建和开通操作。这里已经为大家提供了超链接,只需直接点击即可查看并完成所需步骤。由于我已经提前开通了相关服务,所以大家可以根据自己的情况选择是否再次进行开通。接下来,我们直接进入视频直播的控制台。
我们需要在实时音视频服务中创建一个应用。由于我这里已经创建好了,所以就不再重复创建,简单命名为“测试运营方案”,并已经记录了相关信息。现在,让我们回到之前的方案部署中,也就是我之前提到的需要创建 ARTC 应用的步骤。
04. 创建 AI 智能体
接下来,在拥有 ARTC 应用后,我们需要创建一个真正的智能体。创建智能体分为两部分:首先,需要创建一个驱动智能体工作的实时工作流。这可以在智能媒体服务下完成跳转,如果尚未开通,请提前进行开通,并完成必要的授权。接着,我们来到实时工作流模板的开通页面。在这里,可以创建一个工作流的描述,以便更好地管理和识别。
这里有三种类型:纯语音通话、数字人通话以及视觉理解。而我们主要关注的是创建语音通话的能力。点击相应选项后,例如选择“语音转文字”功能时,可以填写节点名称。这里既可以使用预制的功能,也可以选择第三方的服务,但出于便捷性和兼容性的考虑,建议使用预制的能力。
对于大模型的默认部署体验,建议先利用预制能力进行尝试。同时,您也可以根据需求为系统设定特定人设,比如设定其为同声传译专家、口语陪练或情感陪伴者等,并通过设置提示词来引导大模型的行为。此外,我们也将介绍如何对接阿里的百炼平台模型中心。
在创建过程中,请务必选择好节点名称。接下来是文字转语音环节,可以看到阿里也提供了预制的文字转语音合成(TTS)服务。您只需填写好这个节点的名称,该部分配置就完成了。
05. 实时工作模版
创建完成后,我们就得到了一个工作流,该工作流的编号最后四位是 20 BC ,我们暂且称之为“测试语音111”。接下来,我们需要创建一个智能体,并命名为“测试语音111”。在创建过程中,需要选择并关联我们刚刚创建的工作流,以及之前已经创建好的 ARTC 应用。
音色的选择相当丰富,大家可以先选择一个默认的。同时,我们还可以设置一个问候语,当开启与AI的通话时,它会首先用这句话来问候你,比如“你在干嘛”。完成这些设置后,点击提交创建,我们的智能体就成功创建出来了。整个过程非常简洁且流畅。我刚刚已经演示了包括TTS(文字转语音)、STT(语音转文字)等配置,以及智能体的创建过程。
在智能体已经成功创建的基础上,理论上,大家可以直接下载阿里云的Demo应用。这里提供了一个体验二维码,例如,可以创建一个为期三天的体验版本,通过扫描二维码,就能直接在Demo中运行刚刚创建的智能体,包括其中定义的所有内容。不过,今天我们的重点并非讲解Demo的使用,而是如何将这个智能体实际部署并运行起来。
06. 部署应用
接下来,我们需要用到函数计算(FC)这一能力,它将作为客户的业务服务器。点击相应链接即可进入函数计算的管理页面。由于我之前已经进行了一些授权操作,所以如果大家在操作过程中遇到需要授权的情况,只需按照页面提示逐步完成即可,过程并不复杂。
在此,我简单提示一下,我们已经将整个服务端的代码以模板的形式部署到了 FC 上。客户只需简单地调用这个 FC 模板,系统就能正常运行。因此,在这里我们直接选择预先设定好的模板即可。在后续步骤中,会涉及一些权限选择和名称设置,其中名称的设置并无强制要求,保持全局唯一性即可。
接下来,我们需要进行一些配置。这些配置基于我们之前准备的两项内容: ARTC 应用和智能体的相关 ID 。首先,我们来看实时视频的 ARTC 系统。可以在之前的控制栏中找到应用列表,点击管理应用以查看 App Key 。现在,我将关闭这个窗口,并将应用 ID 和 App Key 填写到相应的位置。这里需要配置的是语音通话功能,因此还需要填写智能体的 Agent ID ,也就是智能体的唯一标识。我们之前创建了一个智能体,它有一个对应的 ID ,我们需要将这个 ID 传入系统。
在配置过程中,系统可能会提示我们创建一些角色,只需按照系统提示进行操作即可完成。这里有一个需要注意的点,那就是需要选择智能体所在的区域。在创建智能体时,我们选择了华东2(上海)作为区域,因此在这里也要特别注意选择相同的区域。
完成这些配置后,我们就可以点击创建与部署了。不过,由于过程中可能会涉及多个授权步骤,有时授权并不会立即生效,所以可能需要大家稍作等待。现在,我们开始进入部署环节,等待部署完成后,我们再进行后续的操作。
目前,我们已经看到应用已经成功部署。但通常情况下,当我们在实际的生产环境中部署一个应用时,如果是在国内,我们需要自行申请一个备案的域名,并配备相应的域名证书。为了缩短今天的部署时间并方便演示, FC 默认提供了一些临时域名供我们快速体验。然而,在真正的生产环境中,我们还是需要按照规范去申请域名和证书的。
07. 应用体验
现在,我们将这个域名复制下来。所有部署步骤都已成功完成,接下来只需等待最终部署成功的确认。一旦部署成功,我们就可以复制这个域名,并开始进行体验了。
7.1 实时语音对话
我们打开一个新的浏览器窗口,并将之前复制的域名粘贴进去。但需要注意的是,由于该地址默认是 HTTP 协议(即不带“S”的),而访问时可能需要安全证书,因此我们需要手动将协议改为 HTTPS(即加上“S”)。点击回车后,我们将进入体验页面。
在页面上,我们看到一个入口,点击它。尽管浏览器提示该连接不安全,这是因为我们正在使用一个临时域名,而临时域名通常是不受信任的,所以浏览器会发出警告。不过,大家可以忽略这个警告,继续体验。
在配置智能体时,我们设置了一句欢迎词。现在,当智能体被激活时,它会立即说出那句欢迎词:“你在干嘛?”。接下来,我们将通过提问来测试智能体的音色、音色与字幕的同步性、响应速度,以及我们是否能成功打断它的回答。
甚至在我讲话断断续续的情况下,我也想看看智能体会如何反应。现在,我来问它一个简单的问题来测试它的响应速度:“五乘五等于多少?”智能体迅速回答:“5×5=25”。
接下来,我将为大家演示一个场景,那就是在智能体讲故事的过程中制造噪音并尝试打断它。我说:“给我讲个故事吧。”智能体开始讲述:“从前有个勇敢的小兔子,她战胜了森林里的大灰狼,成为了森林的英雄。”在我表示喜欢这个故事后,智能体礼貌地回应:“很高兴你喜欢这个故事。如果有其他问题或想听更多故事,随时告诉我。”
在这个演示中,我们可以看到智能体在噪音环境下依然能够保持较好的语音识别能力,并且在被打断时能够迅速调整,继续提供优质的服务。
接下来,我将再进行一个演示,测试智能体在我讲话断断续续时是否能停下来等我完成表达。我问它:“你觉得十一月份更适合吃苹果还是西瓜?”智能体给出了清晰的回答:“十一月份更适合吃苹果,因为苹果是秋季水果,而西瓜通常是夏季的水果。”
这个 Demo 我们就演示到这里,这个界面先关闭。
7.2 个性化定制智能体人设
第二部分,我们刚才提到了如何为大模型添加人设以提升其性能。例如,在同声传译等工作流中,我们可以通过改进和优化来提升大模型的表现。具体操作时,我可以点击编辑大模型,从而调整其人设设定。
此外,值得一提的是,我们目前的大模型与阿里的百炼平台是深度集成的。百炼平台提供了非常强大的功能,比如挂载知识库、设置长期记忆,以及进行 AI 工作流的编排等。这些能力最终都能够体现在我们刚才提到的对话服务中,从而提升对话的智能化和个性化水平。
7.3 接入客户私有知识库
这一部分操作相对简单,主要是帮助大模型的人设获取一个文档,并将知识库的文档上传到百炼平台。接下来,我们只需将百炼平台的 ID 复制到我们的智能体中即可。为了更直观地展示,我将简单演示一下对接百炼平台的过程,包括将 App Key 粘贴进去。大家可以看到,即使是一个手机端的知识库,也能达到很好的效果。欢迎大家尝试这一功能。
今天就给大家简单介绍到这里,也非常欢迎大家一起来体验我们的这个解决方案,同时也给我们提出一些比较宝贵的建议,再次感谢大家。