Wedding Organizer es un sistema multi-agente inteligente para la planificación automatizada de eventos sociales, especializado en bodas. El sistema implementa una arquitectura BDI (Beliefs-Desires-Intentions) como núcleo de decisión, integrando agentes especializados y técnicas de Retrieval-Augmented Generation (RAG) para ofrecer recomendaciones personalizadas en la selección de venue, catering y decoración.
El proyecto está desarrollado y mantenido por:
- Lia S. López Rosales
- Ariadna Velázquez Rey
Nota: Este repositorio no cuenta con licencia de uso actualmente.
- Arquitectura Multi-Agente:
- Agente principal BDI (PlannerAgent) que coordina el ciclo de planificación.
- Agentes especializados: VenueAgent, CateringAgent, DecorAgent, BudgetDistributorAgent.
- Sistema RAG Integrado:
- Grafos de conocimiento por dominio.
- Recuperación semántica y generación contextual de recomendaciones.
- Crawler Inteligente:
- Enriquecimiento dinámico de datos y validación automática de calidad.
- Gestión de Memoria y Estado:
- Persistencia de creencias, historial de decisiones y recuperación ante fallos.
- Interfaz Web Moderna:
- Basada en Streamlit, con chat interactivo y panel de control para usuarios.
Events_Organizer_Helper/
├── Agents/ # Implementación de agentes BDI y RAG
├── Crawler/ # Crawlers, enriquecimiento y validación de datos
├── views/ # Interfaz web (Streamlit)
├── experiment_results/ # Resultados y reportes de experimentos
├── Informe/ # Informe académico y archivos LaTeX
├── requirements.txt # Dependencias principales
├── requirements_experiments.txt # Dependencias para experimentos
├── pyproject.toml # Configuración de entorno y dependencias (uv)
└── ...
Este proyecto utiliza el gestor de entornos uv, que permite una gestión rápida y eficiente de dependencias y entornos virtuales para Python.
- Python 3.12 o superior
- uv instalado (
pip install uv)
-
Clona el repositorio:
git clone https://github.com/AriadnaVelazquez744/Events_Organizer_Helper.git cd Events_Organizer_Helper -
Crea el entorno y instala dependencias principales:
uv .init uv add -r requirements.txt
-
(Opcional) Instala dependencias para experimentos:
uv add -r requirements_experiments.txt
La interfaz principal está desarrollada en Streamlit. Para ejecutarla:
uv add streamlit # Si no está instalado
streamlit run views/app.pyEsto abrirá la aplicación en tu navegador, donde podrás interactuar con el asistente de planificación de eventos.
- Desde la página principal, haz clic en "Start Planning" para comenzar.
- Describe tus necesidades (tipo de evento, número de invitados, presupuesto, preferencias).
- El sistema te guiará a través de recomendaciones y ajustes personalizados.
- Puedes gestionar tu sesión, agregar presupuesto y reiniciar la planificación desde la barra lateral.
El sistema fue evaluado mediante una suite de experimentos estadísticos automatizados, con los siguientes resultados destacados:
- Tasa de Significancia Global: 63.2% (12 de 19 análisis con resultados significativos)
- Potencia Promedio: 0.640 (buena capacidad para detectar efectos reales)
- Tamaño de Efecto Promedio: 0.285 (efecto medio)
- Precisión de Recomendaciones RAG: 78.5%
- Tiempo de Respuesta Promedio: 2.3 segundos por recomendación
- Efectividad del sistema BDI:
- 50% de los análisis significativos.
- Correlaciones muy fuertes entre ciclo BDI y éxito de planificación (p < 0.001).
- Áreas de mejora: reconsideración dinámica de intenciones.
- Precisión de sistemas RAG:
- 60% de los análisis significativos.
- Alta precisión en recomendaciones por tipo (venue, catering, decor).
- Áreas de mejora: adaptabilidad a patrones complejos y consultas atípicas.
- Rendimiento del sistema:
- 100% de los análisis significativos.
- Excelente escalabilidad, eficiencia y uso de recursos bajo diferentes cargas.
- Todas las métricas de rendimiento superaron expectativas.
- Efectividad de integración de componentes:
- 40% de los análisis significativos.
- Buena coordinación entre agentes y robustez del MessageBus.
- Áreas de mejora: optimización de flujos de comunicación y persistencia de memoria.
Para más detalles, consulta los reportes en
experiment_results/y el informe académico enInforme/.
- Limitaciones técnicas:
- Escalabilidad de datos limitada (requiere optimización para grandes volúmenes).
- Latencia de comunicación entre agentes mejorable.
- Precisión RAG aceptable pero susceptible de mejora.
- Limitaciones funcionales:
- Cobertura centrada en bodas (extensible a otros eventos).
- Algoritmos de personalización en desarrollo.
- Optimización y aumento de la base de datos.
- Paralelización de búsquedas y procesamiento.
- Integración de algoritmos de Machine Learning y análisis de sentimientos.
- Expansión a otros tipos de eventos (corporativos, sociales).
Este proyecto es mantenido por dos contribuidoras principales. Si deseas colaborar, abre un issue o pull request.
- Arquitectura BDI: Rao & Georgeff (1995), Wooldridge (2009)
- RAG: Lewis et al. (2020)
- Multi-Agente: Ferber (1999)
Para dudas o sugerencias, puedes contactarnos a través de nuestro repositorio en GitHub.