Despliegue un agente de IA de voz de pila completa con Amazon Nova Sonic

Las soluciones de habla con IA están transformando los centros de contacto al permitir conversaciones naturales entre los clientes y los agentes de IA, acortando los tiempos de espera y reduciendo drásticamente los costos operativos, todo sin sacrificar la interacción humana que los clientes esperan. Con el Lanzamiento reciente de Amazon Nova Sonic en Roca madre de Amazonahora puede crear sofisticados agentes de IA conversacionales que se comunicen naturalmente a través de la voz, sin la necesidad de reconocimiento de voz separado y componentes de texto a voz. Amazon Nova Sonic es un modelo de voz a voz en Amazon Bedrock que permite conversaciones de voz en tiempo real y de voz humana.

Mientras que muchas primeras implementaciones de Amazon Nova Sonic se centraron en el desarrollo local, esta solución proporciona una arquitectura completa desplegada en la nube que puede utilizar como base para construir aplicaciones conceptuales de prueba real. Este activo se puede desplegar a través del Kit de desarrollo de la nube de AWS (AWS CDK) y proporciona una base para construir más casos de uso de Amazon Nova utilizando componentes de infraestructura preconfigurados, al tiempo que le permite personalizar la arquitectura para abordar sus requisitos comerciales específicos.

En esta publicación, mostramos cómo crear un agente del centro de llamadas con IA para una compañía ficticia llamada Anytelco. El agente, llamado Telly, puede manejar las consultas de los clientes sobre los planes y los servicios al acceder a los datos de los clientes en tiempo real utilizando herramientas personalizadas implementadas con el Protocolo de contexto del modelo (MCP) Marco.

Descripción general de la solución

El siguiente diagrama proporciona una descripción general de la solución desplegable.

La solución se compone de las siguientes capas:

  • Capa frontend – La capa frontend de este sistema está construida con escalabilidad y rendimiento en mente:
  • Capa de comunicación -La capa de comunicación facilita las interacciones sin interrupciones en tiempo real:
    • Equilibrador de carga de red administra las conexiones WebSocket. WebSockets habilita las sesiones de comunicación interactiva bidireccional entre el navegador de un usuario y el servidor, que es esencial para aplicaciones de transmisión de audio en tiempo real.
    • Amazon Cognito Proporciona autenticación del usuario y validación de token web JSON (JWT). Amazon Cognito proporciona autenticación de usuarios, autorización y gestión de usuarios para aplicaciones web y móviles, aliviando la necesidad de construir y mantener sus propios sistemas de identidad.
  • Capa de procesamiento – La capa de procesamiento forma la columna vertebral computacional del sistema:
    • Servicio de contenedores elásticos de Amazon (Amazon ECS) ejecuta el servicio contenedorizado de backend.
    • AWS Fargate Proporciona el backend de cómputo sin servidor. La orquestación es proporcionada por el motor Amazon ECS.
    • Python Backend procesa transmisiones de audio y administra interacciones Amazon Nova Sonic.
  • Capa de inteligencia – La capa de inteligencia utiliza tecnologías de IA y datos para alimentar las funcionalidades básicas:
    • El modelo Amazon Nova Sonic en Amazon Bedrock maneja el procesamiento del habla.
    • Amazon Dynamodb almacena información del cliente.
    • Bases de conocimiento de Amazon Bedrock Connects Foundation Models (FMS) con las fuentes de datos de su organización, lo que permite a las aplicaciones de IA hacer referencia a información precisa y actualizada específica para su negocio.

El siguiente diagrama de secuencia resalta el flujo cuando un usuario inicia la conversación. El usuario solo firma en una sola vez, pero los pasos de autenticación 3 y 4 ocurren cada vez que el usuario comienza una nueva sesión. El bucle de conversación en los pasos 6–12 se repite a lo largo de la interacción conversacional. Los pasos A – C solo ocurren cuando el Amazon Nova Sonic Agent decide usar una herramienta. En escenarios sin uso de la herramienta, el flujo va directamente del paso 9 al paso 10.

Requisitos previos

Antes de comenzar, verifique que tenga lo siguiente:

Implementar la solución

Puede encontrar la solución y las instrucciones completas de implementación en el Repositorio de Github. La solución utiliza el AWS CDK para automatizar la implementación de infraestructura. Use los siguientes comandos de terminal de código para comenzar en su Interfaz de línea de comandos de AWS (AWS CLI) Entorno:

git clone https://github.com/aws-samples/sample-sonic-cdk-agent.git 
cd nova-s2s-call-center 

# Configure environment variables
cp template.env .env

# Edit .env with your settings

# Deploy the solution 
./deploy.sh 

El despliegue crea dos AWS CloudFormation pilas:

  • Pila de red para la nube privada virtual (VPC) y componentes de redes
  • Pila para recursos de aplicación

La salida de la segunda pila le brinda un enlace de distribución de CloudFront, que lo lleva a la página de inicio de sesión.

Puede crear un usuario administrador de Amazon Cognito con el siguiente comando AWS CLI:

aws cognito-idp admin-create-user \
  --user-pool-id YOUR_USER_POOL_ID \
  --username USERNAME \
  --user-attributes Name=email,Value=USER_EMAIL \
  --temporary-password TEMPORARY_PASSWORD \
  --region YOUR_AWS_REGION

El comando anterior usa los siguientes parámetros:

  • YOUR_USER_POOL_ID: La identificación de su grupo de usuarios de Amazon Cognito
  • USERNAME: El nombre de usuario deseado para el usuario
  • USER_EMAIL: La dirección de correo electrónico del usuario
  • TEMPORARY_PASSWORD: Una contraseña temporal para el usuario
  • YOUR_AWS_REGION: Tu región de AWS (por ejemplo, us-east-1)

Inicie sesión con su contraseña temporal desde el enlace de distribución de CloudFront, y se le pedirá que establezca una nueva contraseña.

Puedes elegir Sesión de inicio Para comenzar una conversación con su asistente. Experimente con indicaciones y diferentes herramientas para su caso de uso.

Personalización de la aplicación

Una característica clave de esta solución es su flexibilidad: puede adaptar las capacidades del agente de IA a su caso de uso específico. La implementación de la muestra demuestra esta extensibilidad a través de herramientas personalizadas e integración de conocimiento:

  • Búsqueda de información del cliente – Recupera los datos del perfil del cliente de DynamoDB utilizando números de teléfono como claves
  • Búsqueda de base de conocimiento – Consulta una base de conocimiento de la roca madre de Amazon para información de la empresa, detalles del plan y precios

Estas características muestran cómo mejorar la funcionalidad de Amazon Nova Sonic con fuentes de datos externas y conocimiento específico de dominio. La arquitectura está diseñada para la personalización perfecta en varias áreas clave.

Modificar el indicador del sistema

La solución incluye una interfaz de usuario en la que puede ajustar el comportamiento del agente de IA modificando su solicitud de sistema. Esto permite una iteración rápida en la personalidad, la base de conocimiento y el estilo de conversación del agente sin redistribuir toda la aplicación.

Agregar nuevas herramientas

También puede extender las capacidades del agente AI mediante la implementación de herramientas adicionales utilizando el marco MCP. El proceso implica:

  • Implementación de la lógica de la herramienta, típicamente como un nuevo módulo de Python
  • Registrar la herramienta con el servidor MCP utilizando el @mcp_server.tool decorador personalizado y definir la especificación de la herramienta, incluido su nombre, descripción y esquema de entrada en /backend/tools/mcp_tool_registry.py

Por ejemplo, el siguiente código ilustra cómo agregar una herramienta de búsqueda de base de conocimiento:

@mcp_server.tool(
    name="lookup",
    description="Runs query against a knowledge base to retrieve information."
)
async def lookup_tool(
    query: Annotated[str, Field(description="the query to search")]
) -> dict:
    """Look up information in the knowledge base"""
    results = knowledge_base_lookup.main(query)
    return results

El decorador maneja el registro con el servidor MCP, y el cuerpo de funciones contiene la lógica de implementación de su herramienta.

Ampliando la base de conocimiento

La solución utiliza bases de conocimiento de Amazon Bedrock para proporcionar al agente de IA información específica de la empresa. Puede actualizar esta base de conocimiento con:

  • Preguntas frecuentes y sus respuestas
  • Catálogos y especificaciones de productos
  • Políticas y procedimientos de la empresa

Limpiar

Puede eliminar las pilas con el siguiente comando:

# move to the cdk folder, assuming you are in the project root folder
cd cdk
# Removes both stacks sequentially
npx cdk destroy --all

Conclusión

Los agentes de IA están transformando cómo las organizaciones abordan el servicio al cliente, con soluciones que ofrecen la capacidad de manejar múltiples conversaciones simultáneamente, proporcionan un servicio constante las 24 horas y la escala al instante mientras mantienen la calidad y reducen los costos operativos. Esta solución hace que esos beneficios sean accesibles al proporcionar una base desplegable para las aplicaciones de Amazon Nova sonoras en AWS. La solución demuestra cómo los agentes de IA pueden manejar efectivamente las consultas de los clientes, acceder a datos en tiempo real y proporcionar un servicio personalizado, todo mientras mantiene el flujo de conversación natural que esperan los clientes.

Al combinar el modelo Amazon Nova Sonic con una arquitectura de la nube robusta, autenticación segura e integración de herramientas flexibles, las organizaciones pueden pasar rápidamente del concepto al concepto. Esta solución no solo está ayudando a construir aplicaciones de IA de voz, sino que está ayudando a las empresas a impulsar una mejor satisfacción y productividad del cliente en una variedad de industrias.

Para obtener más información, consulte los siguientes recursos:


Sobre los autores

Reilly Manton es un arquitecto de soluciones en la creación de prototipos de telecomunicaciones de AWS. Combina pensamiento visionario y experiencia técnica para construir soluciones innovadoras. Centrándose en la IA generativa y el aprendizaje automático, permite a los clientes de Telco mejorar sus capacidades tecnológicas.

Shuto Araki es ingeniero de desarrollo de software en AWS. Trabaja con clientes en la industria de telecomunicaciones centrándose en la seguridad y las redes de inteligencia artificial. Fuera del trabajo, le gusta andar en bicicleta por los Países Bajos.

Ratan Kumar es un arquitecto principal de soluciones en Amazon Web Services. Un asesor de tecnología de confianza con más de 20 años de experiencia trabajando en una variedad de dominios de la industria, la pasión de Ratan radica en empoderar a los clientes empresariales innovan y transforma su negocio al desbloquear el potencial de AWS Cloud.

Chad Hendren es un arquitecto principal de soluciones en Amazon Web Services. Su pasión es AI/ML y AI generativa aplicada a la experiencia del cliente. Es autor e inventor publicado con 30 años de experiencia en telecomunicaciones.