We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode The Challenge with Voice Agents

The Challenge with Voice Agents

2025/2/22
logo of podcast MLOps.community

MLOps.community

AI Deep Dive AI Chapters Transcript
People
F
Floris Fok
P
Paul van der Boor
Topics
Paul van der Boor: 语音合成技术为AI系统带来了新的交互方式,是AI发展的重要一步,尤其是在B2C领域。之前的语音合成技术主要局限于离线交互,而实时语音交互是语音AI发展的重要突破。在真实世界环境中测试语音AI模型,例如在巴西iFood的送餐员应用场景中,可以更好地评估其实用性和可靠性。在真实应用中测试语音AI模型,需要考虑技术可行性、用户体验以及数据处理等多方面因素。语音AI模型的上下文记忆机制与文本模型不同,在处理多语言和长对话时容易出现幻觉等问题。语音AI领域的技术发展迅速,涌现出许多专注于不同方面的公司和技术,例如语音识别、语音合成、语音翻译等。语音交互相比文本交互,能够提供更丰富的上下文信息,例如情感、语调等,从而提升AI的理解和回应能力。语音AI技术应用场景分为非自主式和自主式两种,目前自主式应用,例如实时语音交互和函数调用,仍面临一些挑战,例如幻觉问题和指令遵循问题。语音AI技术在电商领域具有广泛的应用前景,可以改善客户服务、提升用户体验,并帮助企业更好地理解用户意图。语音AI技术在医疗保健领域也具有应用价值,例如辅助医生进行问诊、提高医疗效率等。未来语音AI代理可以实现主动式交互,在合适的时间点提醒用户,提升效率。未来语音AI代理可以帮助用户处理与客服等机构的沟通,解决效率低下的问题。 Floris Fok: 语音AI代理与文本AI代理相比,处理语音输入时需要考虑更多因素,例如语音的差异、停顿、语调等,这些差异会影响模型的理解和响应。实时语音交互中,需要处理各种异步事件,例如中断、转折等,这与文本交互有很大不同,需要重新设计会话管理机制。语音AI代理中的轮次检测是一个具有挑战性的问题,需要根据用户的说话风格进行调整。为了提升用户体验,可以适当降低语音AI代理的性能,使其表现得更“人性化”。为了评估语音AI代理的性能,可以采用自定义评估方法,例如模拟各种语音风格和场景进行测试。轮次检测模型的个性化和自适应能力有待提高,开源社区的参与将有助于解决这个问题。开源的Kokura模型在文本转语音方面表现出色,具有较高的效率和易用性。在设计语音AI代理的工作流程时,需要考虑工具的响应速度和用户体验,避免长时间的等待和不必要的步骤。语音AI代理的工作流程设计需要避免拼写错误等问题,可以通过改进流程设计来解决。语音AI代理的产品分析工具可以帮助开发者识别和解决用户体验问题,例如识别用户流失点等。

Deep Dive

Chapters
This chapter explores the difficulties in developing voice AI agents, focusing on real-time interactions and the limitations of existing technologies. It highlights the shift from offline to real-time voice interactions and the complexities of handling various accents and noise levels in real-world scenarios.
  • Real-time voice interactions are challenging due to the need for fast inference and continuous learning.
  • Handling various accents, colloquialisms, and background noise is difficult.
  • Memory management and context preservation are crucial challenges in voice agent development.

Shownotes Transcript

Agents in Production Series - Episode Two// AbstractDemetrios, Paul, and Floris explore the latest in Voice AI agents. They discuss real-time voice interactions, OpenAI&#39;s Real Time Voice API, and real-world deployment challenges. Paul shares insights from iFood’s voice AI tests in Brazil, while Floris highlights technical hurdles like turn detection and language processing. The episode covers broader applications in healthcare and customer service, emphasizing continuous learning and open-source innovation in Voice AI.Guest speakers:Paul van der Boor - VP AI at Prosus GroupFloris Fok - AI Engineer at Prosus Group </context> <raw_text>0 大家好!我们又回到了这个与Prosus团队合作的限量版系列节目中,讨论他们一直在做的所有关于AI代理的工作。今天是语音,我们将深入探讨他们在构建语音AI代理方面的经验。我一开始会和

保罗聊聊一些情况,聊聊他看到的,我看到的。然后我们将与弗洛里斯一起深入探讨战术方面的内容,讨论他如何使用OpenAI实时API,以及具体的经验教训,因为正如我们将要发现的那样,语音是一个完全不同的领域。让我们开始这段对话吧。

好了,我们回到第二集。我们已经走到了这一步,我们将直接讨论语音AI代理,因为我们昨天谈到过,我想先介绍一下背景。我们原本计划在第二集里讨论的是,嘿,让我们谈谈你们在构建这些代理时使用过的所有框架,你们喜欢什么,不喜欢什么。

然后我们说,你知道,框架已经存在了两年了。互联网上有很多关于框架的内容。有些人喜欢它们,有些人讨厌不同的框架。而我们没有很多内容或经验故事的是人们构建语音AI代理,对吧?

是的,所以我们很早就看到,用语音生成合成内容的能力,也就是你基本上获取文本并将其转换为语音,这为与AI系统交互提供了一种新的方式。因此,对我们来说,能够特别是在B2C领域,

向消费者开放代理是一个重要的下一步。很长一段时间以来,我们一直在进行实验,进行语音克隆,使用化身,Synthesia,Eleven Labs,以及许多其他公司,只是为了看看这会是什么样子。并且

通常,限制因素是这不可能实时进行。因为你可以生成一些语音。你可以使用很多语音库,你可以生成标准语音。给他们文本,他们会生成音频。本质上是文本转语音。它们很棒。它们变得非常好,但是它们仍然……

这是一个离线交互。你必须获取文本,生成语音,等待一会儿,然后返回。它并不是真正的实时。是的。大约一年前……

出现了这种情况开始成为可能的时候。我非常非常清楚地记得我们与Grok团队的一个演示。当然,他们的目标是加速。是的,他们很快。他们非常快。这就是他们所做的。他们优化他们的推理。他们用它来实现实时语音交互。然后当然我们看到了OpenAI的实时语音API。好吧,

我们应该提到Grok,这几乎有两种方法。如今,很明显,人们大力推动语音到语音模型。因此,整个模型可以完成所有你需要完成的事情。正确的。

该模型将输入作为语音,并输出语音。但在那成为趋势之前,你所说的Grok就是这样,因为Grok在推理方面非常快,你可以设置这些管道,输入语音,转录它,将其发送到Grok上的大型语言模型,它可以非常快速地完成事情。我认为有人告诉我,它就像……

每秒300个令牌的令牌流时间之类的东西。所以它快得令人难以置信。然后你用一些文本转语音模型输出它。所以有这个管道。三个步骤。你必须基本上用不同的模型切换模态的桥梁。这种情况发生了变化。然后你有了OpenAI实时语音API以及我们正在进行早期测试的其他API等等。

突然之间,你可以拥有你可以与之交谈的代理,你可以向其中输入语音流,它们会输出语音流。我们还与iFood(全球最大的食品配送公司之一,在巴西运营)进行了一些测试。

看看我们能否将其用于骑手,当他们在外面送货时,我们试图弄清楚。顺便说一句,先考虑一下这一点。一件事是进行演示,我和你可以用其中一个语音代理进行演示。现在将相同的模型

放在一个食品配送伙伴的背景下,他走在圣保罗的街道上,说带有巴西口音的葡萄牙语,当然,甚至可能带有许多交通噪音的口语口音,他很匆忙,试图弄清楚他们需要去哪个餐馆取餐,或者是什么方向,或者道路封闭了,或者其他什么。

然后他们期望语音模型能够运行。这是一个很好的测试,因为它将实验室中有效的东西变成了能够在现实生活中进行测试的东西。你知道,在现实生活中,这由于很多原因而变得复杂。这是他们打电话给餐馆说,嘿,订单在哪里?他们打电话给iFood来基本上问这个问题。所以通常他们否则必须停车……

拿出他们的手机,发短信。因此,为了不浪费时间并安全地做到这一点,基本上通过语音进行实时交互的能力是我们认为真正扩展技术极限的一种用例,同时也弄清楚它是否适用于实际用例。

当然,有很多事情你想测试。对我们来说,一个是技术可行性。我们能否真正地将模型放入这个应用程序中以进行测试?但也有理想性,对吧?骑手觉得这足够好吗?它有用吗?它能帮助iFood更快、更安全地回答问题吗?等等。

然后你进入了一个全新的复杂世界,对吧?因为,好吧,这个音频是以什么格式流式传输的?你实际上是在流式传输,而不是进行批处理。你仍然需要检索通常在你的代理工具中调用的iFood工作流程中的真实数据。我们在上一集中谈到的内存方面非常重要。如何在不……

丢失重要内容和通话线程的情况下保持不同内容的上下文。所以,关于语音代理,我不清楚的一件事是内存方面,当你进行管道处理时,你只是将新内容推送到提示中,或者你将内容

整个对话都放入上下文窗口?这是如何工作的?-是的,各种各样的东西。当然,你有一个系统提示。你需要将内容流式传输到,这取决于我们使用的模型。在这种情况下,我们将所有内容都放入上下文窗口。这当然有其自身的局限性。我们还在许多其他内部用例中对此进行了测试,我们希望它成为某个主题的专家。我们参加了一个内部教育课程。

人们可以打电话,例如,我们为我们的内部助手Tokan创建了一个音频界面。他们可以打电话给Tokan并询问有关此课程的问题。你可以看到,有很多这样的行为,如果你只使用简单的“文本到文本”交互,一个LLM,那么你知道上下文和你在上下文中放入的内容将如何工作。

在它生成的那一刻通常表现良好。对于语音,它的行为方式不同。当然,我们正在测试不同的语言。所以你从葡萄牙语开始,当你提到一个英语术语时,它就开始用英语回应,而且它不再回到葡萄牙语了,即使这在系统提示中。它更容易产生幻觉。所以我们在LLM中解决的这个问题在语音模型世界中

又出现了。就像它只是在编造东西一样。我想谈谈的是整个语音AI领域的格局。

你有一些不同的参与者在做不同的事情。你有一些人专注于这个范围的不同方面,比如11 Labs正在做语音或文本到语音方面的工作。因此,如果你有文本,你可以将其转换为语音。然后是Deepgram,它正在做文本到语音方面的工作。

我搞不清楚我们是从哪个方向来的,但是语音到文本是一个方面。他们也开始从文本到语音,并创建了整个语音API部分,因为我

我认为每个人都知道这就是未来。然后你还有像Cartesia这样的公司正在做语音到语音模型。显然,OpenAI正在做语音到语音模型并进行实时处理。你还能想到这个领域的其他一些……

吸引了一些关注,因为这是你需要的基础。然后你可以在它上面构建应用程序。当你考虑你需要什么时,你正在寻找一种将语音传递给模型的方法。是的。无论是在Zoom通话中还是通过电话,你都需要将这些信息传递给模型,模型,然后,

需要用它做些什么。它要么是语音到语音模型,它会吐出语音,要么是你正在谈论的管道。哦,我还想提到的另一个方面是Hume。Hume正在进行情绪检测等等。他们正在创建这个工具包。但是

还有什么?是的,我认为你已经触及了很多。我认为还有一个我们通常也会考虑的是克隆语音的能力。所以另一个很好的例子是,你过去需要大量的优质、丰富的音频内容才能克隆某人的声音。现在你可以用几十秒钟的时间做到这一点。你可以创建一个相当高保真度的语音克隆。

所以,让我们说,你提到的元素,例如转录文本到语音的能力,以高保真度进行,但这本身也需要,例如,语言检测,对吧?所以一些,比如OpenAI的Whisper做得很好。你可能,取决于你是否正在为会议或与客户的对话进行转录,你需要说话人检测。所以实际上,每当我们将这些东西放入系统、代理、产品中时,就会有

这通常需要很多东西结合在一起。就像我提到的,说话人检测、语言检测、实际转录,我们针对各种语言进行基准测试,因为,同样,Prosus是一个全球性集团。我们有很多不同的语言。我们几乎不只用英语工作。所以如果你在印度或任何其他印地语或南美洲及其语言、东欧进行这项工作,我们通常会尝试测量语言

这个模型在这个任务中的表现如何,在这种语言中的转录、词错误率?你有翻译,能够跨语言移动,

你知道,如果你有一个用例,例如,你想创建教育内容,对吧?你在投资组合中有很多教育公司,Udemy、Skillsoft、Stack Overflow、Brainly等等,甚至还有其他从事企业学习的公司等等。他们通常希望,你知道,翻译、配音等等。好吧,你需要能够高质量地做到这一点。这可以在离线状态下完成。所以你不需要像我们现在这样进行对话。是的。

然后另一种环境是,就像我们在B2C环境中提到的那样,比如iFood或市场,你想能够与消费者、司机或餐馆实时互动。在那里,能够使用比聊天消息中的字符丰富得多的媒介,因为就像你说的,你可以检测说话者、情绪、语调、口音,所有这些不同的东西,

并利用它来更好地生成答案也是你

你知道,再次提供了一个整体,你需要知道如何做到这一点。你不能只是说,好吧,我正在获取语音,我正在给出正确的答案。好吧,你认为,好吧,这个人是不是很生气?是的。他们-有很多不同的说法-他们,是的,完全正确。一个字。是的。如果在学习环境中,他们是否仍然参与其中?正确的。所以,你知道,语言学习,你如何帮助他们纠正口音?所以所有这些不同的信号,你现在可以从这个更丰富的媒介中获得。是的。利用它们也是一个全新的问题空间。好吧,有两件事,

在你谈论的这些类别中,几乎第一个是不那么主动的,第二个是非常主动的。因为第一个,如果我们只是为我的声音配音,实际上我有一个关于这方面的有趣故事。我参加了一个巴西播客,在巴西播客的前半部分,我用我蹩脚的葡萄牙语语音磕磕绊绊地

它都是关于数据的,我正在谈论MLOps。所以你可以想象对我来说,用葡萄牙语汗流浃背地谈论MLOps是多么有趣。然后在下半部分,我认为他们只是厌倦了听到我用葡萄牙语磕磕绊绊。他们说,好吧,现在用英语说吧。他们会用葡萄牙语问我问题。我会用英语回答。之后,他们会用葡萄牙语配音。

巴西葡萄牙语。主动的部分,以及你真正开始看到语音AI媒介出现的地方是,当你可以来回获取信息或让代理做某事时。是的。我认为,这就是现在真正处于前沿的地方,对吧?所以能够实时地使用这些语音模型进行函数调用。是的。

我们发现我们正在努力解决这个问题。这将需要消除这些幻觉问题。系统提示和指令遵循,取决于用例,也还不够完善。但我们正在取得进展。我的意思是,就像所有这些事情一样,对吧?这不是一个时间点。这是一个向量。所以我们看到过去12个月在这方面取得的改进。一旦我们把这些事情做好,特别是……

函数调用,这将使使用主动工作流程、能够访问工具等等来获得更高保真度的对话变得容易得多。让我们谈谈我们看到的一些用例,因为我……

觉得有一些非常酷的方式,人们正在我们刚刚规划出的这个基础上构建应用程序。是的,很多。所以我们专注于电子商务领域。所以通常在B2C世界中,有很多客户接触点,你可以考虑现在因为语音的变化而改变。

我们的地理位置,我们坐落在阿姆斯特丹,但我们合作的人和我们平台的消费者,他们在巴西,就像我提到的那样,印度,东欧。他们在使用技术的方式上大相径庭。通常语音的使用率要高得多。如果你考虑一下,例如,巴西WhatsApp上的语音消息的百分比,它远高于荷兰。

因此,在许多方面,语音在某些市场中是一种更自然的能力,尤其是在B2C应用程序中。

你知道,当我们与我们的餐厅合作伙伴、房地产合作伙伴合作时,他们在我们的平台上列出商品,能够与他们确认某些事情并检查菜单是否正常,并将其用作更无缝的接触点。然后我认为仍然未被充分探索的类别是,当我们赋予用户通过语音与我们的平台互动的能力时,

我们如何利用它来帮助他们更好地检测他们的意图,因为他们对我们说,嘿,我今晚正在寻找一些简单而轻松的东西。然后你说,好吧,保罗正在使用这个账户。他正在订购这样那样的东西。他可能很激动或其他什么。所以给他一个带有折扣的快速订单,对吧?但这是一个更丰富的媒介。然后

所有这些都不仅适用于食品订购领域,而且正如你可能已经看到的,我们最近宣布将与Despigar(南美洲的一个旅游平台)合作。他们将加入该集团。所以,在那里,将会有大量的额外旅游用例。是的。

所以我认为这是一个相当未被探索的空间,有很多想法和许多事情需要测试、尝试和构建。我看到的一些对我来说相当新颖的用例是在,有趣的是,医疗保健、健康科技这个受严格监管的领域,帮助医生或心理学家或其他任何人一起工作

并减少他们在管理方面所需的时间,因为我们不知道这一点,因为我们不是医生,对吧?或者至少据我所知,你不是医生。我是错误类型的工程师。所以没什么用。好吧,医生。我不知道。这很酷。所以问题是,在大多数情况下,医生可以花费,让我们以医生为例。医生可以花费,

他们的大量时间用于管理工作,无论是保险方面的事情,还是仅仅谈论他们认为病人有什么问题,或者他们认为哪里可能有痛点,他们开的处方是什么以及为什么等等。这是一个不太主动的用例,因为也许你可以创建一个解决方案来帮助某人

或者医生拿出他们的手机并记录谈话,然后它帮助他们填写表格。嗯哼。

或者你可以让代理在之后实际询问医生。他说,你对此怎么看?医生会像对护士或其他人说话一样与代理交谈。是的。好吧,集团中有一家公司。它叫做Corti.ai。正如我之前提到的,我们投资了很多公司,其中许多是AI公司。Corti.ai是其中一家在医疗保健领域的公司。这些家伙所做的是,他们在这个领域已经有一段时间了,但是当然……

这是一个很好的例子,一个超级聪明的团队,非常有能力,AI原生,他们正在利用所有这些浪潮,或者新出现的能力,包括语音。他们的主张,其中一个重要的主张是帮助医护人员,医生,以及在急诊室工作的其他人,接听电话等等,以更好地帮助通话另一端的人。

他们通过在通话过程中给他们一个界面来做到这一点……

他们的模型会倾听并帮助医护人员提出正确的问题。你开始编码并说这很可能是一个这种类型的紧急情况。你可能想问这样的问题。所以他们帮助他们基本上进行分类并沿着可能的选项树向下导航。下一个最佳行动。是的,完全正确。但以一种非常辅助的方式来帮助人们完成通话。

而且很多都是实时进行的。所以他们不得不构建很多自己的技术。当然,在医疗保健领域,你不能承担犯错的风险。所以你需要确保这些模型是准确的。所以他们有一个相当复杂的设置来评估模型的准确性,但也必须做很多

让我们说他们自己的训练,深度模型开发,能够提取医疗保健特定术语。事实上,这正在帮助世界各地的成千上万的人,因为他们每天都在医护人员面前使用它。是的,而且这个很吸引人,因为它不一定是我们谈论的完整管道。它是语音输入,然后是代理帮助

但你没有语音输出。所以它仍然是主动的工作流程。它仍然使用语音AI,但它不一定是我们谈论的所有内容。我喜欢你这么说,因为它更具创造性思维。是的,你实际上提出了另一个主题,同样,这也不是语音特有的,但特别是当我们考虑更复杂的代理时,能够在正确的时间主动联系。现在,所有这些系统……

无论是语音还是非语音,让我们说这些主动系统,它们基本上取决于你提出问题或任务。如果你幸运的话,那么代理可能会在你开始执行任务之前问你一两个澄清问题,因为大多数时候它们只是贪婪的执行者,对吧?他们只是去执行。正如我们在上一集中了解到的那样,它不能说不。它不能说不。而且它们……

所以,你知道,当你处于一个,让我们说,在一个过程中,你正在尝试执行一项任务,在这种情况下,填写你的税表,这可能需要你几个小时。

几个小时,对吧?你希望能够让一个辅助系统在正确的时间介入,并说,嘿,你不应该考虑一下吗?或者你忘记了吗?而且有点像另一种预测,比如,它应该介入吗?它应该主动联系你吗?嘿,你没有忘记也填写这个表格或其他什么吗?当然,语音只是与你联系的一种方式。但这并不是唯一的一种,对吧?是的。

我在语音领域没有看到的一个领域,我知道我们已经对电子商务领域的代理做出了预测,即

但我希望我的个人代理能够为我去做事情。尤其是在语音领域,例如,我被困在沃达丰的电话里,这非常痛苦,因为他们把我转交给不同的代理,实际的人类代理,但每个代理都不知道我打电话的原因。我希望……

能够配备一个代理来为我效劳,并弄清楚我的电话账单。为什么我被额外收费?我可以告诉代理,打电话给沃达丰,弄清楚为什么我被额外收费。所以它几乎就像一个个人代理,可以坐在电话旁并与所有这些公司互动,尤其是因为你每天都要面对的大多数公司,他们的体验都很糟糕。

语音,它不是代理,只是机器人来电,你必须与之互动。所以如果语音代理能为我做到这一点,那就太好了。我完全同意。这是一种不对称的现实,通常你试图联系的呼叫中心,大公司有他们的代理与IVR,然后它变得更复杂一些,而我们仍然坚持打电话

用我们自己的人类时间。我知道,完全正确。所以我们应该有我们自己的呼叫代理。是的,我认为。顺便说一句,我认为这并不难……实现。不,完全正确,构建或测试。你知道,我们将让弗洛里斯来谈谈我们做过的测试,我们使用这个界面来进行和测试事情

基本上,你发送一个你通过语音与之交互的代理来为你完成电子商务领域的事情。给我点餐,帮我买这个,帮我找到这个。所以我认为……

也许你会发现2025年对你来说是好年头,你终于可以代表你自己派遣这些代理了。是的,说到弗洛里斯,让我们现在把他请进来,让我们谈谈他在创建不同的语音代理时发现了什么。我知道他广泛地使用了实时API。我还知道他有一些见解,因为,同样,这就像,让我们拉开窗帘。让我们看看。你多次撞墙了。我们如何帮助其他人?

其他开发人员不要做同样的事情。欢迎回来,伙计。跟我谈谈语音以及你在使用语音AI代理与文本方面所经历的不同之处。

好的。是的。这是一段旅程,你知道,这是……因为我记得我第一次听说音频代理上线时。我想,哦,但我们可以复制粘贴我们为某个代理准备的提示。这很容易。我们把它放在实时API中,它仍然有效。是的。这就是我当时的梦想。呃,事实并非如此。没有发生,是吗?不,没有发生。而且,嗯,是的,所以有一些事情。嗯,

我认为第一个是,当然,如果你输入一些东西,我输入一些东西,它们完全相同。但是当我大声说出这句话,你大声说出这句话时,

它们是相当不同的。这是真的。好吧,只是在停顿或语调上,我发音的方式,有很多变量。是的,是的。它们加起来。就像一个可以传播的错误。就像句子的开头,有些东西不清楚,然后还有另一个词不清楚,你对代理说的整段话都变得非常模糊。是的。

这真的是一个一开始很难解决的维度。你提到你必须考虑不同的维度,这很有趣,因为我知道你曾经对我说过……

当你使用语音代理时,会有很多不同的事件触发,对吧?这不仅仅是,哦,嘿,有一些文本,现在我们解释这些文本。有很多不同的部分。所以也许你可以规划出其中的一些部分。当我们有文本时,你知道,我们发送消息,消息结构良好。你知道,我们有,或者是的,我们有工具和消息,就像用户这么说,助手这么说。

但如果我们转向实时,你知道,这一切都变成了实时。所以它是异步的。你知道,你通过网络套接字连接,而不是说,“嘿,这些是消息。现在给我一个回复。”

你知道,你可以不断地、一直得到回复。是的。你可以一直发送回复。所以准确地知道这个过程是如何进行并在会话中保存的,正如他们所说的实时,非常重要,因为这样你也能知道如何操作它。所以一个有趣的思想实验是,如果我现在继续说话,而你中途打断我。是的。

我仍然会记得我想对你说的。如果你使用旧系统,它是文本转语音和语音转文本,然后到大型语言模型,大型语言模型将拥有它已经告诉你的那部分的记忆。实时 API 改变了这一点,因为它们具有中断事件。我不确定这是否正确,但它们有这个事件,表示说话者打断了你,并且它们会修剪它。

从大型语言模型的角度来看,输出也是如此。所以大型语言模型知道它在哪里被打断,并且知道你不知道那部分。所以如果你问一些问题,它不会说,“哦,我上次告诉你过了”,但实际上它是在修剪的部分。所以这是处理该会话的一种全新的方式。他们在 API 参考页面上有一些不错的可视化效果

对于观众来说,我建议观看它,而不是让我尝试用语音来可视化它。你可以用某种方式说话。你可以说它们……

用某些口音。所以你拥有所有这些不同的向量,你可以从中提取,但你也有任何技术中都需要的延迟要求。你还有关于所说内容是否与我提出的问题相关的部分。是的。是的。实时中这些参数之一,这是相当困难的,是轮次检测。

所以,如果我现在正在说话,你知道,有一些停顿是自然的,就像,你知道,给我时间思考,或者因为我找不到下一个词。但其他的则是,我已经说完了。是的。如果我说完话了,你知道,你希望这个代理回应。

很快。这就是轮次检测的作用。它希望沉默的时间最少,但仍然让你有这些令人讨厌的时刻。是的,不要打断你。但这高度个性化。所以如果我现在为我制作一个语音代理,我会调整这些参数,以便我的说话方式是完美的。

完美地对齐,很有趣,然后我给了你这个代理,我说,“哦,太不可思议了,你知道它永远不会打断你”,而你,你会开始与它交谈,它就开始打断你,因为你的风格就在那里,我长时间停顿思考等等,代理没有意识到这一点,所以你必须以不同的方式调整它,但说到这里,我有一个朋友正在构建代理,他说很多时候

当用户说些什么时,代理会认为它试图说话。所以通常你有一个会说话的代理。如果和人是面对面,我会点头表示赞同,也许我会说,“是的,好的。嗯嗯。嗯嗯。”

我的朋友说,很多时候代理会停止说话,因为它认为,“哦,你想说话。我刚听到你说些什么。”这是你可以更改的那些参数之一。你可以说,“什么是说话?”如果你说话的时间超过……

X 毫秒,则认为是说话。所以如果你,“嗯嗯”,可以被检测为你想要说的话,而“嗯嗯”则不是。所以所有这些都是不同的东西。就像我说的,高度个性化。是的,实际上我朋友构建这些代理的另一个见解是,他说当他们让代理不那么积极主动时,产品效果更好

好,我想,在某种程度上。所以如果你让代理变得更糟,而不是尽可能好,那么人类会更有同情心,他们也会更有耐心。他们也能

他们说话更慢,他们更清晰地发音,这对他和他的产品来说要好得多。所以如果你让代理达到目前在这些不同向量上所能达到的最佳状态,那么,

你错误地让客户认为它比实际情况更好,你会得到更糟糕的结果。这是一个惊人的观点。你拥有这种镜像方面,人们天生就有,你知道,你有点适应对方说话的方式。这实际上是一个非常酷的观点。我以前从未听说过,所以我以后会把它写下来。所以让它,是的,告诉我如果你让它变得更糟。我学到了一些东西。就是这样。太棒了。现在,

我知道你们用评估做了一些非常疯狂的事情。

看看什么有效,什么无效。你能告诉我你们为语音代理做的自定义评估吗?是的,这很酷。就像,你不能仅仅发布它。你知道,你不能仅仅说,“嘿,把它放到野外。我们有一个通过电话工作的助手。祝你好运。”所以我们需要一种方法来了解界限。你知道,我们之前讨论过这个问题,就像,知道它在哪里失败也能在部署它时带来信心。

并且由于实时 API 只有一个月的历史,你知道,所以没有测试框架。所以我们想出了这个疯狂的想法,就像,“好吧,为什么我们不使用实时 API 来测试实时 API 呢?”

因为,你知道,我们进行了数十次实验,我们能够让实时 API 在所有这些奇怪的地方移动,例如,用德语口音说话,或者非常慢或非常快地说话,你知道,它……有很多情绪。是的,没错。就像你能够提示它以不同的方式说话。是的。

所以我们构建了一个完整的系统,在这个系统中,我们会随机化具有不同属性的不同角色,例如,“快速说话,缓慢说话,用口音说话或不用口音说话”,你知道,英国口音或美国口音,但也悲伤,你知道,或者快乐。

是的,我们有很大的范围,你知道,我们全力以赴,因为如果我们认为我们可以自动化它,那么我们就可以测试任何东西。你知道,这就是自动化的神奇之处。一旦你自动化它,你就会做得更多。但是是的,所以我们尝试了这个,我们只是进行了数百次实验,说了同样的事情,然后看看电话代理会如何反应。它需要点披萨。

但在所有这些不同的风格中。有趣的是,该实验的结果是,我们发现意大利语和西班牙语是混合搭配的。所以一旦出现意大利语或西班牙语,它就会切换到另一种语言。就像它并没有真正理解存在不同的语言一样,这真的很有趣。它是混合语言。是的,我有时也会犯同样的错误。你会说,“朋友,那是意大利语,对吧?”是的。

所以很高兴看到这些智能模型也为此而苦苦挣扎。而且,你知道,德语口音有时会让它用德语回应。

所以你有意大利口音,一切都很好。但是然后,你知道,当你有了德语口音时,它就会开始用德语回应。模型会用德语回应。有时,是的。但我们看到口音确实可以触发它跨越语言障碍。最后一个,就像我与轮次检测讨论的那样,你知道,这是我们在慢速和快速说话中看到的东西,一旦我们慢速说话,

它会随机触发轮次检测。所以说话非常慢的人很难保持一致,因为如果脉冲只是长了几毫秒,那么它就会破坏实验。这些都是我们通过

生成所有这些合成数据集而看到的东西。这是一个相当创新的方法。由于整个事情只有一个月的历史,我们想,“我们可能是第一个这样做的人。”这非常令人兴奋。你认为随着轮次检测,它以后会变得更个性化并能够实时适应吗?你如何看待这个问题的解决?是的,这是一个难题。我认为,首先,

人们只需要学习如何使用规范。是的,这是最快的方法。但我确实看到了公司机会,因为在实时 API 中,你也可以说,我做我自己的轮次检测。你不需要在 OpenAI 端进行。所以 OpenAI 只是一个轮次检测模型。所以如果开源社区现在开发一个自适应的轮次检测模型,那就太棒了

因为如果我们可以在 10 秒内克隆一个声音,为什么我们不能在 10 秒内检测一个人的轮次设置呢?100%。好吧,是的,说到开源,有一个模型问世了,我认为你玩过一点,对吧?哪个模型?是的,Kokura。是的。Kokura。

我不确定我是否发音正确。我不擅长名字。实时 API 的音频也不是,所以,你知道。是的。不,但是这个开源模型,它让我大吃一惊。而且它不是,你知道,我们已经看到了 11 个实验室,质量很好,你知道,令人惊叹,令人惊叹的工作。

对于文本转语音方面,对吧?是的。所以这是文本转语音。它不是实时的。但它值得在本集中大加赞扬,因为它真的很棒。他们设法在那里获得了非常好的性能。

来自 8200 万个参数。哇。所以所有这些模型都包含数十亿个参数。是的。而这些人只是说,“好吧,我们这里有一个模型,所以如果我在我的 MacBook 上运行它,我会得到这个文本转语音的五倍实时速度。”哇。

所以它可以生成比它在 MacBook 上的时间多五倍的语音。他们声称如果拥有合适的 GPU,可以达到 100 倍以上。但这令人振奋,因为你基本上是在使文本转语音民主化,因为现在每个人都可以下载该模型并免费生成语音。这是一个巨大的进步。

所以我想知道 Eleven Labs 是否正在为此而汗流浃背。

在我们结束之前,我想谈谈你如何看待语音 AI 代理的流程,特别是将它们与你可以与之交互的令牌网络使用或 Slack 机器人进行比较。我们从 Paul 那里听说,实时执行所有这些操作非常困难。延迟开始变得非常高,而且目前还不太可行。

是的,所以可行性是一个很大的词,但肯定有一些你需要重新考虑的事情。我仍然记得我第一次在我的笔记本电脑上运行带有某些工具的代理时,我想,“哦,我太棒了。我让这个语音代理工作了。它肯定会很棒。”我开始与它交谈。

它调用了该工具。我很高兴,但随后就完全沉默了。这很尴尬。我想,“哦,这个工具需要很长时间。”因为你不知道它是否正在工作。

你可能知道,因为你正在查看日志并看到它。但如果是我在电话的另一端,我就不会知道发生了什么。你还好吗?发生了什么事?是的,它只会停止说话,因为它正在执行该工具,因为这是逻辑上的下一步。因为我提示它这样做。如果用户说这个,则调用该工具。

它正在等待工具输出,然后它正在读取工具输出。你知道,它就像,“嘿,我刚得到这个工具的回复,它说的是这个。”我想,“哦,这是一种糟糕的体验。”你知道,这真的很糟糕。我想,“这行不通。”然后我们知道我们需要重新考虑这些事情。所以你可以做一些技巧。你知道,即使模型工作,

调用工具,它可以做到,所以回到文本,它可以执行文本和工具调用。音频也是如此。它可以执行音频和工具调用。所以你可以提示它说,如果你调用一个工具,告诉它你正在这样做,也许解释工具调用中的参数是什么。这可以为你争取一些时间。但另一方面,当然,让工具非常快。

所以不要在实时对话中添加需要很长时间的工具。有趣。然后最好是抵消。然后你只是说,“嘿,你想让我做的事情,正在启动。你会收到一条进程消息,或者完成后,我会向你发送电子邮件或短信。”所以你将工作流程分开。不要实时执行无法以实时速度处理的事情,所以这就是……

第一次认识到,好吧,我们只保留快速工具,然后我们将抵消这些作业,你知道,就像,“好吧,实际订购食物是一项工作,我们说,我们将为你订购食物,就是这样,你知道,你不会打电话给比萨店,然后他们让你在电话线旁等待直到比萨做好,对吧,这太……”

这会很奇怪。实时语音也是如此。第二个是,你需要以一种需要避免拼写的方式重新思考流程。如果我说,“嘿,我的名字是 Floris,帮我拿到我的病历,回到医疗讨论。”

然后它可以以 20 种不同的方式拼写我的名字。你知道,它甚至可以检测到一个正常的英语单词,但它可能非常糟糕地拼写我的名字。这对下一步至关重要。所以……

你可以解决这个问题。所以也许让我们在人力资源环境中更多地考虑它。所以它可以问我,“嘿,你在哪个团队?”我说,“嘿,我在 AI 团队。”它说,“好的,你的名字是什么?”然后它已经有一个简短的姓名列表。所以它有 25 个选项。然后我说 Floris。然后它很精确,因为它知道从所有这些名字中……

Floris 最像这个拼写,然后它可以映射。所以重新执行该工作流程,你现在克服了拼写问题。所以它不是一个限制。所以我们开始的地方,它是否可行?

所以是的,有些事情不可行,但有一些解决方法。我们只需要更有创意。我不确定拼写是否会成为一个永远无法解决的问题。你这么说让我想到一家非常酷的公司,叫做 Canonical AI。他们基本上正在为语音 AI 代理做产品分析。他们所做的事情之一是,他们会看到这些语音代理在哪里失败了。

它使你作为代理的创建者能够点击并识别,当人们开始说出他们的名字时,我们有一个盲点,或者我们已经看到,由于某种原因,在这个流程中,

许多用户在代理返回后会脱离。所以你可以识别人们与你的语音代理互动的方式,它在哪里不起作用?因为这可能是,再次,

它花费了太长时间,或者它只是给出了错误的答案,或者它没有回应它正在思考。回到这次谈话的最初部分,有很多 X 因素,你想尝试找到这些流程在哪里中断,或者代理的客户和用户在哪里没有获得最佳体验,以便你可以尝试稍微调整一下流程。

是的,这非常有价值。你知道,尤其是在现在这个没有人真正知道这些东西在哪里中断的时刻,更多的见解,特别是实时见解,如果你能够实时跟踪你的代理,你可以快速做出反应,并且知道痛点,并且知道如何改进。或者考虑一下,如果你是呼叫中心,你突然有……

20 个或 50 个或 500 个电话在相同的步骤后挂断。一个电话应该持续一分钟,但现在平均每个电话只有三秒钟。你想被提醒这一点。它是实时见解,说,“嘿,这里发生了一些事情。”就像你在软件中的数据狗或普罗米修斯一样。是的。

是的,如果你正在构建软件产品,那么就需要有这些实时见解。我认为这是一家很棒的公司。我们从查看这些日志中获得的这些见解之一实际上是,如果人们发音错误或说错话,它会过于自信。所以它永远不会问这个问题,“你能重复一下吗?”是的。

你知道,对于人类来说,这是一个非常正常的事情,你知道,如果他们不确定,但文本也是如此,他们过于自信,他们永远不会给你一个否定的答案,文本也是如此,所以我真的,我真的很期待第一个音频模型,它会告诉我,“你能重复一下吗?”或者它只是说,“嗯”,这是下一个前沿,你知道,“你能重复一下吗?”模型,哦,那会很好

好了,今天的节目就到这里。向 Prosus 团队致以热烈的感谢,感谢他们的透明度,因为很少有公司会谈论他们的失败,尤其是那些在 AI 行业如此庞大的公司,并且真正帮助我们其他人了解他们有时不得不经历的痛苦过程。

顺便提一下,他们正在招聘。所以如果你想与我们刚刚谈到的团队一起做一些很酷的事情,甚至更多的事情,请联系他们。我们会在节目说明中留下链接。如果你是一位正在寻找优秀设计合作伙伴的创始人,那么我强烈建议你与我们联系。我们会在节目说明中留下所有这些好东西的链接。