Implementación de un Sistema de Atención al Cliente Automatizado mediante WhatsApp y FastAPI

Autor: Francisco Prats Quílez

Introducción

En la era digital, las empresas buscan automatizar procesos para mejorar la eficiencia y la satisfacción del cliente. Este artículo describe el desarrollo e implementación de un sistema automatizado de atención al cliente basado en WhatsApp. La aplicación, desarrollada en Python utilizando FastAPI, permite a una empresa gestionar consultas de productos, incidencias, y otros avisos a través de la API de WhatsApp Business. La inteligencia artificial juega un papel crucial en la interpretación de mensajes y en la respuesta automatizada, utilizando técnicas avanzadas para el manejo de información técnica y de soporte.

Objetivo

El objetivo de este proyecto es desarrollar un sistema automatizado que pueda gestionar consultas y incidencias de clientes de manera eficiente a través de WhatsApp. El sistema debe ser capaz de interpretar mensajes de entrada, responder de acuerdo con pautas predefinidas, y acceder a información técnica, como manuales o datos específicos de productos, para resolver problemas o proporcionar información solicitada por el usuario. Además, se busca que el sistema sea desplegado automáticamente en AWS utilizando Elastic Beanstalk.

Desarrollo

1. Configuración Inicial de la API de WhatsApp Business

El primer paso en la implementación consistió en crear una cuenta de Facebook Business para la empresa, registrar y verificar la empresa, y seleccionar un proveedor de soluciones BSP. Posteriormente, se configuró un número de teléfono dedicado y se estableció un webhook para la recepción de mensajes. El perfil de la empresa en WhatsApp se configuró para reflejar la identidad corporativa.

2. Desarrollo de la Aplicación en Python con FastAPI

Se desarrolló una aplicación en Python utilizando el framework FastAPI, la cual se encarga de gestionar la interacción con los clientes. Esta aplicación tiene un punto de entrada principal en /webhook, donde recibe y procesa los mensajes entrantes. El sistema responde a los mensajes interpretados por un modelo LLM (Large Language Model) a través de un prompt customizado que define cómo deben manejarse las distintas consultas.

3. Carga de Documentación en BBDD Vectorial

Por describir.

4. Implementación de Técnicas GAN para Acceso a Información Técnica

Se implementaron técnicas Generative Adversarial Networks (GAN) para extraer y acceder a información técnica de productos, como manuales de usuario, datasheets y especificaciones técnicas. Estas técnicas permiten al sistema proporcionar respuestas precisas y relevantes basadas en la información almacenada en la base de datos de la empresa.

5. Acceso a Bases de Datos y Filtrado de Información

El sistema incluye un mecanismo para acceder a bases de datos internas, que contienen resultados específicos de líneas de producción, calibraciones, y datos de pruebas. Para proteger la privacidad y seguridad de la información, se implementó un filtrado avanzado que asegura que solo se compartan con el usuario datos que este tiene autorización para conocer.

6. Despliegue Automático en AWS Elastic Beanstalk

El despliegue de la aplicación se realiza automáticamente utilizando Elastic Beanstalk de AWS. La configuración incluye el nombre del entorno de Elastic Beanstalk, la clave de acceso a AWS, el archivo principal .py, el requirements.txt, y el Procfile. Este proceso asegura que la aplicación esté disponible y escalable en un entorno de producción robusto y fiable. *Se evaluará utilizar Lambda AWS

Conclusiones

La implementación de este sistema automatizado de atención al cliente demuestra la viabilidad y eficacia de integrar plataformas de mensajería instantánea como WhatsApp con tecnologías de inteligencia artificial para mejorar el servicio al cliente. La combinación de FastAPI para la gestión de solicitudes y respuestas, junto con técnicas GAN para el manejo de información técnica, resulta en un sistema potente capaz de resolver consultas y gestionar incidencias de manera eficiente.

Futuro Desarrollo

1. Mejora de Prompts

La optimización de los prompts utilizados por el modelo LLM es una prioridad. Se pueden realizar ajustes y pruebas continuas para asegurar que las respuestas sean cada vez más precisas y contextualmente apropiadas.

2. Incorporación de Nuevos Modelos LLM

A medida que surjan nuevos modelos de lenguaje más avanzados, se podrán integrar en el sistema para mejorar la capacidad de comprensión y generación de respuestas.

3. Pruebas y Optimización Continua

Se propone la realización de pruebas A/B, análisis de satisfacción del cliente y monitoreo de interacciones para identificar áreas de mejora en la precisión y eficiencia del sistema.

Este caso de estudio ilustra cómo las tecnologías modernas pueden combinarse para crear sistemas eficientes y avanzados de atención al cliente, mejorando tanto la experiencia del usuario como la eficiencia operativa de la empresa.