十多年来,亚马逊始终站在开发语音技术的前沿,为对话式AI应用程序赋能。从打造像Amazon Alexa这样的全球顶尖个人AI助手,到开发诸如Amazon Lex、Amazon Polly和Amazon Connect等亚马逊云科技服务,亚马逊一直致力于不断探索创新。
但要想让语音AI为客户创造更多现实价值,就必须考虑到人类对话的微妙之处和复杂程度。在人类对话中,词语固然有其含义,但若缺乏赋予其深度的语音语境,仅凭词语本身往往难以充分表情达意。比起说话的内容,如何表达内容同样重要,甚至更为关键。迄今为止,让人工智能准确把握这一点一直是个难题,直到现在,这种情况终于得以改变。
亚马逊正式宣布推出Amazon Nova Sonic,这是一款全新的基础模型,能够将语音理解和语音生成功能集成至单一模型中,从而在AI应用中实现更接近人类对话的语音交流。该模型可通过Amazon Bedrock服务上的新API获取使用,可简化语音应用的开发流程,这些语音应用涵盖客户服务电话自动化以及适用于旅游、教育、医疗、娱乐等众多行业的AI Agent。
Amazon Nova Sonic以负责任的AI为创新前沿,具备内置的内容审核和水印保护功能。
Amazon Nova Sonic实战演示
本演示场景设定为电信行业的客服中心。一位客户联系客服希望升级套餐,对话由Amazon Nova Sonic负责处理。
通过工具使用,模型能够与其他系统交互,并借助Amazon Bedrock知识库实现智能检索增强生成(RAG),从而收集客户专属的最新信息,如账户详情、订阅套餐和定价信息等。
Amazon Bedrock知识库:
https://aws.amazon.com/bedrock/knowledge-bases/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
本演示展示了语音输入的实时转录功能,并以文本形式显示实时语音响应。对话情感通过两种方式呈现:一是展示情感变化的时间图表,二是呈现整体情感分布的饼图。
此外,演示还设有AI洞察板块,为客服人员提供基于对话上下文的提示建议。网页界面中展示的其他有趣指标包括客户与Agent的整体通话时间分布,以及平均响应时间。
在与客服人员的对话过程中,用户可以通过指标观察并从语音中听出客户情绪的改善。
视频展示了Amazon Nova Sonic如何流畅处理对话中的中断情况,即停下来倾听然后以自然的方式继续对话。
下文将继续探讨如何在您的应用程序中集成语音功能。
使用Amazon Nova Sonic
要开始使用Amazon Nova Sonic,首先需要在Amazon Bedrock控制台中切换模型访问权限,这与启用其他基础模型(FMs)的操作类似。具体步骤为:导航到导航窗格中的“模型访问”部分,在“Amazon models”下找到Amazon Nova Sonic,并为您的账户启用该模型。
Amazon Bedrock提供了全新的双向流式API(InvokeModelWithBidirectionalStream),帮助您基于HTTP/2协议实现实时、低延迟的对话体验。借助该API,您可以将音频输入实时传输至模型,并实时接收音频输出,使对话自然流畅地进行。
通过新API使用Amazon Nova Sonic时,可搭配采用模型ID:amazon.nova-sonic-v1:0。
在可以配置推理参数的会话初始化之后,模型通过输入和输出流上的事件驱动架构运行。
输入流中包含以下三种关键事件类型。
系统提示词:为对话设置整体系统提示。
音频输入流式处理:用于实时处理连续的音频输入。
工具结果处理:用于将工具调用结果发送回模型(在输出事件中请求工具使用后)。
同样,输出流中包含以下三类事件。
自动语音识别(ASR)流式处理:生成语音到文本的转录,包含实时语音识别结果。
工具使用处理:如果存在工具使用事件,需要依据此处提供的信息进行处理,并将结果作为输入事件反馈。
音频输出流式处理:由于Amazon Nova Sonic模型生成音频的速度快于实时播放速度,因此需要通过缓冲区实现实时音频输出播放。
您可以在Amazon Nova模型示例代码库中找到Amazon Nova Sonic的应用示例。
Amazon Nova模型示例代码库:
https://github.com/aws-samples/amazon-nova-samples
语音提示词工程
在为Amazon Nova Sonic设计提示词时,应该优化听觉理解而非视觉阅读的内容,着重提升对话的流畅性和听觉清晰度,让用户“听得顺”而非“看得懂”。
在定义助手角色时,应重点关注对话属性(如热情、耐心、简洁),而非以文本为导向的属性(如详细、全面、系统)。一个不错的系统基础提示词可能为如下示例。
You are a friend. The user and you will engage in a spoken dialog exchanging the transcripts of a natural real-time conversation. Keep your responses short, generally two or three sentences for chatty scenarios.
一般而言,在为语音模型创建提示时,应避免要求视觉格式(如项目符号、表格或代码块)、语音特征修改(口音、年龄或演唱效果)或音效。
须知事项
Amazon Nova Sonic即日起在美国东部(北弗吉尼亚)的亚马逊云科技区域可用。访问Amazon Bedrock定价页面查看定价模式。
Amazon Bedrock定价页面:
https://aws.amazon.com/bedrock/pricing/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
Amazon Nova Sonic对美式和英式英语提供强大的语音理解能力,涵盖各种说话风格和声学条件,更多语言支持也即将推出。
Amazon Nova Sonic能够从容应对用户中途打断对话的情况,且不会遗漏对话上下文信息,同时对背景噪音具备较强的抗干扰能力。该模型支持长度为32K token的上下文窗口,用于处理音频数据,并采用滚动窗口机制来处理更长的对话内容,其默认会话时长上限为8分钟。
以下Amazon SDKs支持新的双向实时API。Python开发者可使用这一全新的实验性Amazon SDK,从而更轻松地调用Amazon Nova Sonic的双向实时传输功能。此外,亚马逊云科技也正致力于为其他Amazon SDK添加支持。
Amazon SDK for C++:
https://aws.amazon.com/sdk-for-cpp/
Amazon SDK for Java:
https://aws.amazon.com/sdk-for-java/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
Amazon SDK for JavaScript:
https://aws.amazon.com/sdk-for-javascript/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
Amazon SDK for Kotlin:
https://aws.amazon.com/sdk-for-kotlin/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
Amazon SDK for Ruby:
https://aws.amazon.com/sdk-for-ruby/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
Amazon SDK for Rust:
https://aws.amazon.com/sdk-for-rust/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
Amazon SDK for Swift:
https://aws.amazon.com/sdk-for-swift/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
全新的实验性Amazon SDK:
https://github.com/awslabs/aws-sdk-python
感谢Reilly Manton和Chad Hendren,他们与电信行业的联络中心合作搭建了演示系统;同时感谢Anuj Jauhari,他帮助我理解了语音转语音模型部署的丰富应用场景。
如需了解更多信息,可参阅以下详细介绍如何使用具有强大演示功能的新版双向流式传输API的文章。
无论您是在构建客户服务解决方案、语言学习应用程序,还是打造其他类型的对话式交互体验,Amazon Nova Sonic均可为自然流畅、引人入胜的语音交互提供基础支持。要开始使用,请立即访问Amazon Bedrock控制台。如需了解更多信息,请参阅用户指南中的Amazon Nova部分。
《Build Your Own AI Podcast Co-Host: Step-by-Step with Amazon Q CLI and Amazon Nova Sonic》
https://dev.to/salihgueler/build-your-own-ai-podcast-co-host-step-by-step-with-amazon-q-cli-and-amazon-nova-sonic-2281
《Speech-to-Speech AI: From Dr. Sbaitso to Amazon Nova Sonic》
https://community.aws/content/2vEZph0MzNXYJJSrNkgN9V2kYLY
Amazon Bedrock控制台:
https://console.aws.amazon.com/bedrock/?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
用户指南—Amazon Nova部分:
https://docs.aws.amazon.com/nova/latest/userguide/speech.html?trk=e61dee65-4ce8-4738-84db-75305c9cd4fe&sc_channel=el
本篇作者
Danilo Poccia
作为亚马逊云科技的首席布道师 (EMEA),他利用自己的经验帮助人们将想法变为现实,专注于Serverless架构、事件驱动编程以及机器学习和边缘计算的技术和商业影响。他是《Amazon Lambda in Action》一书的作者。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!
点击阅读原文查看博客!获得更详细内容!