Chatbot Manual: Construyendo un Asistente Multilingüe con FastAPI y Llama 3.1
He desarrollado Chatbot Manual, un asistente inteligente que procesa PDFs en varios idiomas para empresas. Exploro las decisiones técnicas detrás de su arquitectura, desde la búsqueda semántica local hasta la integración con Groq y Laravel, logrando respuestas rápidas y eficientes sin coste adiciona...
Como desarrollador de IA, mi pasión me impulsa a construir soluciones que resuelvan problemas reales. En esta ocasión, he dedicado mi tiempo a un proyecto personal: Chatbot Manual. Este asistente inteligente está diseñado para empresas que necesitan extraer información rápidamente de sus documentos PDF, sin importar el idioma. Mi objetivo era crear una herramienta eficiente, escalable y, sobre todo, accesible, manteniendo siempre el control total sobre la ingeniería.
El problema que aborda Chatbot Manual es común: la dificultad de acceder a información específica dentro de grandes volúmenes de documentación. Las empresas a menudo tienen manuales, guías o informes en PDF que sus clientes o empleados necesitan consultar. Mi solución permite que un usuario interactúe con estos documentos a través de un chatbot, obteniendo respuestas precisas en menos de 3 segundos.
Arquitectura Técnica: El Corazón de Chatbot Manual
La columna vertebral de Chatbot Manual se asienta sobre un stack tecnológico robusto y cuidadosamente seleccionado. He optado por FastAPI para construir la API, aprovechando su rendimiento y facilidad de uso. Para la búsqueda semántica, una pieza clave del sistema, he implementado FAISS. Esta librería me permite realizar búsquedas de similitud vectorial de manera extremadamente eficiente.
La elección del modelo de embeddings fue crucial para la capacidad multilingüe del chatbot. He integrado intfloat/multilingual-e5-large, un modelo que sobresale en la comprensión de texto en múltiples idiomas, asegurando que el asistente pueda procesar PDFs en español, inglés, francés o cualquier otro idioma soportado con alta precisión. Para refinar los resultados de la búsqueda y asegurar la relevancia, he añadido un CrossEncoder, que re-rankea los documentos recuperados antes de la generación de la respuesta final.
Optimización de Costes y Rendimiento
Uno de los pilares de este proyecto personal ha sido la optimización. La búsqueda semántica, que es el componente más intensivo en recursos, se ejecuta completamente en local. Esto significa que el coste de la búsqueda es de 0 €, una ventaja significativa para cualquier empresa que lo utilice. Esta decisión de diseño no solo reduce los gastos operativos, sino que también contribuye a la velocidad de respuesta del sistema, que se mantiene por debajo de los 3 segundos, incluyendo la búsqueda, el reranking y la generación de la respuesta.
Para la generación de texto, he integrado Groq, utilizando su modelo Llama 3.1. La velocidad de inferencia de Groq es impresionante, lo que me permite mantener los tiempos de respuesta bajos y ofrecer una experiencia fluida al usuario. La persistencia de datos se gestiona con SQLite SaaS, una solución ligera y eficiente para las necesidades del proyecto. Finalmente, la interfaz de usuario y la gestión de la aplicación se han construido con Laravel, proporcionando una base sólida y escalable.
Escalabilidad y Modelos de Uso
He diseñado Chatbot Manual pensando en la escalabilidad. El sistema soporta un modelo de n+1, lo que significa que no hay coste adicional por cada nuevo cliente que se añade. Esto lo hace particularmente atractivo para empresas que buscan una solución eficiente sin preocuparse por el aumento de costes a medida que crecen sus usuarios.
Actualmente, he definido cuatro niveles de uso para Chatbot Manual: Free, Basic, Pro y Enterprise. Cada nivel está pensado para adaptarse a diferentes necesidades, desde usuarios individuales hasta grandes corporaciones, siempre manteniendo la misma base tecnológica robusta y eficiente.
Este proyecto es una muestra de mi compromiso con el desarrollo de IA y mi capacidad para construir soluciones completas y optimizadas. Todo el código es público y está disponible para su uso, siempre que se haga referencia a mi web. Es un trabajo personal, impulsado por la pasión por la ingeniería y la innovación.
Puedes ver una demo en funcionamiento y explorar el código en:
- Web: adrianmoreno-dev.com
- Repositorio GitHub: github.com/Chupacharcos
Sobre este proyecto
Chatbot Manual
Asistente inteligente que lee documentos PDF en varios idiomas, facilitando a empresas y clientes el acceso rápido a información clave
Newsletter
¿Te aviso de nuevos proyectos y artículos?
Sin spam. Solo un email cuando publico algo nuevo de IA. Baja en un clic.