使用生成式 AI 创造会说话的角色

五月 16, 2023
Jay Ji Senior Product Manager Google PI
Christian Frueh Software Engineer Google Research
Pedro Vergani Staff Designer Insight UX

这是一个可自定义的 AI 驱动型角色模板,展示了 LLM 在创建深度互动体验方面的强大功能

Google 的合作伙伴创新团队开发了一系列生成式 AI 模板,以展示如何结合大型语言模型 (LLM) 与现有 Google API 和技术,来解决特定行业用例中的问题。

Talking Character”是一个可自定义的 3D 角色构建器,让开发者可以运用生成式 AI 技术为动画角色赋予生命。开发者和用户都可以配置角色的性格特征、背景故事和知识体系,从而依据特定主题创建出具备独特视角的专业化专家形象。然后,用户可以通过文本或语音对话的方式与其进行互动。

举个例子,我们设计了一个基础角色模型 Buddy。Buddy 是一只友好的狗狗,我们为它设定了背景故事、性格特征以及一套知识体系,使得用户能够与之交谈狗狗的典型生活经历。此外,我们还可以通过改变性格特征和背景故事来实现角色转换。比如,我们可以将 Buddy 的角色转变为一位可靠的保险代理人,或者根据需要转变为任何其他身份。

我们的代码模板旨在实现两个主要目标:

首先,为开发者和用户提供一个测试界面,让他们能够试验强大的提示工程概念在角色开发中的应用,并利用 PaLM API 上的特定数据集来创造独特的体验。

其次,展示如何通过不同于简单的文本或聊天驱动的方式,增强生成式 AI 的互动体验。开发者能够借助语音转文字和文字转语音等云端服务,以及机器学习模型来为角色制作动画,从而为用户创造出更为自然的互动场景。

此类技术的潜在用例多种多样,包括借助交互式创作工具等应用来为游戏和叙事塑造角色性格和设计情节发展;针对复杂系统或流程提供技术支持服务;为特定产品或服务量身定制客户服务;用于辩论练习、语言学习或特定学科教育;或仅用于通过语音和互动能力使品牌形象变得鲜活有趣。

技术实现

互动

我们使用了几个独立的技术组件,使 3D 角色能够与用户进行自然对话。首先,我们使用 Google 的语音转文字服务将语音输入转换为文本,然后将文本输入到 PaLM API。最后,我们使用文字转语音生成听起来像人声的语音输出,以此作为语言模型的回应。

ai talking character 3

动画制作

为了实现交互式视觉体验,我们创建了一个“会说话的”3D 角色,它能够根据生成语音的模式和语调呈现动画效果。借助 MediaPipe 框架,我们利用了一种新的音频到混合形状的机器学习模型,以生成与语音模式同步的面部表情和唇部动作。

混合形状是一种控制参数,我们基于一个小型权重集,使用混合形状来实现 3D 角色的动画效果。我们的音频到混合形状模型能够实时从语音输入中预测这些权重,以驱动动画角色的表情变化。该模型使用 Tensorflow 训练而成,训练数据来源于“会说话的头”(talking head) 视频。我们使用 3D 面部跟踪来学习从语音到面部混合形状的映射关系,详情请参考该论文中的描述。

从模型中获取生成的混合形状权重后,我们使用开源 JavaScript 3D 库 three.js 来改变 3D 角色的面部表情和唇部动作。

角色设计

在创造 Buddy 时,我们的目的是探索如何在用户与 Buddy 丰富的背景故事和独特个性之间建立情感纽带。我们的目标不仅仅是提高互动水平,更重要的是要展示角色(如 Buddy 这个充满幽默感的角色)如何塑造用户与其之间的互动体验。

一位内容创作者为这个角色编写了一个引人入胜的背景故事,这个背景故事与角色的知识体系相结合,赋予了角色更丰富的个性和生动性。

我们进一步尝试在互动进程的标识中纳入可识别的非语言线索(例如面部表情)。举例来说,当角色呈现出深思熟虑的表情时,这就意味着模型正在构思其回应内容。

提示结构

最后,为了使角色能够通过简单的文本输入轻松自定义,我们设计了一个由三部分组成的提示结构:性格特征、背景故事和知识体系。我们将这三个部分组合成一个大的提示,并将其作为上下文发送到 PaLM API 中。

ai talking character 4

合作伙伴和用例

ZEPETO 是一款深受 Z 世代喜爱的以虚拟角色为核心的社交应用平台,用户能够在此全面自定义自己的数字形象,探索时尚潮流,并通过生动的自我表达和虚拟互动进行交流。我们的“Talking Character”模板让用户能够创建自己的形象,为其穿上不同风格的服装和配饰,并在虚拟世界中与其他用户进行互动。目前,我们正与 ZEPETO 进行合作。我们采用了 50 余种混合形状对其元宇宙中的虚拟角色进行了测试,并取得了很好的成果。

ai talking character 5

“看到 AI 角色获得栩栩如生的 ZEPETO 虚拟形象,并且能够如此流畅、深入地进行对话,真是非常鼓舞人心。我们相信,将高级语言模型与虚拟形象相结合,将拓展元宇宙的无限可能性。我们非常兴奋能参与其中。”- ZEPETO 的 CEO,Daewook Kim

“Talking Character”并不局限于元宇宙中的用例。该演示展示了角色如何在任何领域中将文本语料库或知识体系生动地呈现出来。

例如,在游戏中,LLM 驱动的 NPC 可以丰富游戏世界的内涵,并通过与玩家进行关于游戏世界、历史和角色的自然语言对话来深化用户体验。

在教育领域中,“Talking Character”可用于创建不同的角色来代表学生需要学习的不同学科内容;或者,在互动式教育测验场景中设计代表不同难度级别的角色;此外,该工具还可用于创建代表特定历史人物或事件的角色,帮助人们了解不同的文化、地点、历史人物以及时代背景。

在商业领域中,“Talking Character”工具包可用于使品牌和店铺变得鲜活有趣,或者为电子商务市场中的商家提供动力,使他们能够利用这些普及化的工具来提升店铺的吸引力和个性化程度,从而提供更优质的用户体验。在客户在探索零售环境时,该工具包还可用于为其创建角色形象,并将现实世界中的购物体验变成游戏化的体验。

更广泛地说,任何品牌、产品或服务都可以利用此演示技术来创造一个能根据任何知识体系或语调,与用户进行互动的对话代理。该代理人可扮演多重角色,例如品牌大使、客户服务代表或销售助理。

开源和开发者支持

Google 的合作伙伴创新团队开发了一系列生成式 AI 模板,展示了将 LLM 与现有 Google API 和技术相结合以解决特定行业用例中问题的可能性。这些模板都于今年 5 月在 I/O 大会上推出,并开放源代码以供开发者和合作伙伴使用。

我们将与几个合作伙伴密切合作,开展抢先体验计划 (EAP),在此计划中我们将共同开发和推出基于这些模板的特定功能及体验。EAP 的具体发布时间将根据各个市场(亚太地区时间待定)的 API 发布时间而定。演示中的对话代理也将开放源代码,以便开发者和初创公司可以在我们创建的体验基础上进行开发。Google 的合作伙伴创新团队将继续与当地市场合作开发功能和工具,以拓展进行中的研发工作。点击此处,在 GitHub 上查看该项目。

致谢

我们想感谢以下人士对这个项目的宝贵贡献:Mattias Breitholtz、Yinuo Wang、Vivek Kwatra、Tyler Mullen、Chuo-Ling Chang、Boon Panichprecha、Lek Pongsakorntorn、Zeno Chullamonthon、Yiyao Zhang、Qiming Zheng、Joyce Li、Xiao Di、Heejun Kim、Jonghyun Lee、Hyeonjun Jo、Jihwan Im、Ajin Ko、Amy Kim、Dream Choi、Yoomi Choi、KC Chung、Edwina Priest、Joe Fry、Bryan Tanaka、Sisi Jin、Agata Dondzik,以及 Miguel de Andres-Clavera。