Potenciar personajes que hablan con IA generativa

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

Una plantilla de personajes personalizable potenciada por IA que demuestra el poder de los LLM para crear experiencias interactivas con profundidad

El equipo de Partner Innovation de Google desarrolló una serie de plantillas de IA generativa para mostrar cómo la combinación de modelos de lenguaje grande con las API y tecnologías existentes de Google puede resolver casos de uso específicos del sector.

Talking Character es un creador de avatares 3D personalizable que permite a los desarrolladores dar vida a personajes animados con IA generativa. Tanto los desarrolladores como los usuarios pueden configurar la personalidad, la historia de fondo y la base de conocimiento del avatar. De esta manera, se puede crear un experto especializado con una perspectiva única sobre cualquier tema. Luego, los usuarios pueden interactuar con el avatar por medio de texto o en una conversación verbal.

Como ejemplo, definimos un modelo de personaje base, Buddy. Se trata de un perro amigable al que le dimos una historia de fondo, personalidad y base de conocimientos para que los usuarios puedan conversar sobre las experiencias típicas de la vida del perro. También proporcionamos un ejemplo de cómo se puede cambiar la personalidad y la historia para que el personaje adopte el perfil de un agente de seguros confiable, o cualquier otra cosa.

Nuestra plantilla de código está diseñada para cumplir dos objetivos principales:

En primer lugar, proporcionar a los desarrolladores y usuarios una interfaz de prueba a fin de experimentar con el poderoso concepto de ingeniería de indicaciones para desarrollar personajes y aprovechar los conjuntos de datos específicos de la API de PaLM, con el fin de crear experiencias únicas.

En segundo lugar, muestra cómo las interacciones de IA generativa se pueden mejorar más allá del simple texto o las experiencias dirigidas por chat. Si se aprovechan los servicios en la nube, como voz a texto y texto a voz, y los modelos de aprendizaje automático para animar al personaje, los desarrolladores pueden crear una experiencia mucho más natural para los usuarios.

Los posibles casos de uso de este tipo de tecnología son diversos e incluyen aplicaciones como herramientas creativas interactivas para desarrollar personajes y relatos para juegos o narraciones; soporte técnico, incluso para sistemas o procesos complejos; y servicio al cliente adaptado a productos o servicios específicos. También se incluyen aplicaciones para aprender idiomas, practicar debates, con fines educativos en materias específicas, o bien simplemente para dar vida a los recursos de la marca agregándole voz y la capacidad de interactuar.

Implementación técnica

Interacciones

Utilizamos varios componentes tecnológicos separados para permitir que un avatar en 3D mantenga una conversación natural con los usuarios. En primer lugar, utilizamos el servicio de voz a texto de Google para convertir las entradas de voz en texto, de las que, luego, se alimenta la API de PaLM. Posteriormente, usamos texto a voz para generar una voz que suene humana para brindar la respuesta del modelo de lenguaje.

ai talking character 3

Animación

Para lograr una experiencia visual interactiva, creamos un avatar en 3D "parlante", que se anima en función del patrón y la entonación de la voz generada. Como se usa el marco MediaPipe, aprovechamos un nuevo modelo de aprendizaje automático de audio a formas de mezcla para generar expresiones faciales y movimientos de labios que se sincronizan con el patrón de voz.

Las formas de mezcla son parámetros de control que se utilizan para animar avatares en 3D, que usan un pequeño conjunto de pesos. Nuestro modelo de audio a formas de mezcla predice estos pesos en tiempo real a partir de la entrada de voz, para impulsar el avatar animado. Este modelo está entrenado a partir de videos de "cabeza parlante" que usan Tensorflow, donde empleamos el seguimiento facial en 3D para asignar el habla a las formas de mezcla faciales, como se describe en este documento.

Una vez que se obtienen los pesos de las formas de mezcla generados a partir del modelo, los empleamos para transformar las expresiones faciales y el movimiento de los labios del avatar en 3D, para lo que se utiliza la biblioteca de código abierto de JavaScript 3D three.js.

Diseño de personajes

Al crear a Buddy, nuestra intención era explorar la formación de un vínculo emocional entre los usuarios y su rica historia de fondo y personalidad distintiva. Nuestro objetivo no era solo elevar el nivel de compromiso, sino demostrar cómo un personaje, por ejemplo, uno dotado de humor, puede dar forma a tu interacción con el personaje.

Un escritor de contenido desarrolló una historia de fondo cautivadora para justificar la presencia de este personaje. Esta historia de fondo, junto con su base de conocimiento, es lo que le da profundidad a su personalidad y, además, le da vida.

Asimismo, buscamos incorporar señales no verbales reconocibles, como las expresiones faciales, como indicadores de la progresión de la interacción. Por ejemplo, cuando el personaje aparece sumido en sus pensamientos, es una señal de que el modelo está formulando la respuesta.

Estructura de la indicación

Finalmente, para hacer que sea fácil personalizar el avatar con simples entradas de texto, diseñamos la estructura de la indicación para que tenga tres partes: personalidad, historia de fondo y base de conocimiento. Combinamos las tres piezas en una sola indicación grande y la enviamos a la API de PaLM como contexto.

ai talking character 4

Asociaciones y casos de uso

ZEPETO, querido por la Generación Z, es un universo social centrado en avatares, donde los usuarios pueden personalizar completamente sus personajes digitales, explorar las tendencias de la moda y participar de una vibrante autoexpresión e interacción virtual. Nuestra plantilla Talking Character permite a los usuarios crear sus propios avatares, vestirlos con diferentes prendas y accesorios e interactuar con otros usuarios en mundos virtuales. Estamos trabajando con ZEPETO y probamos el avatar metaverso con más de 50 formas de mezcla y obtuvimos excelentes resultados.

ai talking character 5

"Ver a un personaje de IA cobrar vida como avatar de ZEPETO y hablar con tanta fluidez y profundidad es realmente inspirador. Creemos que una combinación de modelos de lenguaje avanzados y avatares expandirá infinitamente lo que es posible en el metaverso, y nos complace ser parte de ello."- Daewook Kim, CEO de ZEPETO

Sin embargo, la demostración no se limita a los casos de uso del metaverso. También muestra cómo los personajes pueden dar vida a un cuerpo de texto o bases de conocimiento en cualquier dominio.

Por ejemplo, en los juegos, los PNJ potenciados por LLM podrían enriquecer el universo de un juego y profundizar la experiencia del usuario gracias a conversaciones en lenguaje natural que versan sobre el mundo, la historia y los personajes del juego.

En lo que respecta a educación, se pueden crear personajes que representen las diferentes materias que debe estudiar un estudiante, o contar con diferentes personajes en función de los diferentes niveles de dificultad de un cuestionario educativo interactivo, o bien que representen personajes y eventos específicos de la historia para ayudar a las personas a aprender sobre diferentes culturas, lugares, personas y épocas.

En el comercio, el kit Talking Character podría usarse para dar vida a marcas y tiendas, o para impulsar a los comerciantes en un mercado de comercio electrónico y democratizar las herramientas. De esta manera, es posible lograr que sus tiendas sean más atractivas y estén más personalizadas, lo que permitiría brindar una mejor experiencia de usuario. Podría usarse para crear avatares de clientes que exploran un entorno minorista y gamifican la experiencia de comprar en el mundo real.

De manera aún más amplia, cualquier marca, producto o servicio puede usar esta demostración para dar vida a un agente que habla, que pueda interactuar con los usuarios en función de un conjunto de conocimientos de tono de voz, y que actúe como embajador de la marca, representante del servicio al cliente o asistente de ventas.

Código abierto y soporte para desarrolladores

El equipo de Partner Innovation de Google desarrolló una serie de plantillas de IA generativa que muestran las posibilidades de combinar LLM con las API y tecnologías existentes de Google para resolver casos de uso específicos del sector. Cada plantilla se lanzó en I/O en mayo de este año y contiene código abierto para que los desarrolladores y socios puedan compilar con él.

Trabajaremos en estrecha colaboración con varios socios en un EAP que nos permita codesarrollar y lanzar funciones y experiencias específicas basadas en estas plantillas, a medida que se lance la API en el mercado respectivo (se confirmarán los cronogramas de APAC). Talking Agent también será de código abierto, para que los desarrolladores y las nuevas empresas puedan aprovechar las experiencias que creamos. El equipo de Innovación de Socios de Google continuará desarrollando funciones y herramientas en asociación con los mercados locales con el fin de ampliar la I+&D que ya se encuentra en marcha. Consulta el proyecto en GitHub aquí.

Agradecimientos

Nos gustaría reconocer las valiosas contribuciones de las siguientes personas a este proyecto: 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 y Miguel de Andres-Clavera.