Un motor de recomendaciones híbrido (Collaborative Filtering) agnóstico de dominio, diseñado para procesar grandes volúmenes de datos mediante una arquitectura robusta orientada a escalabilidad en memoria y Código Limpio (Clean Architecture).
El núcleo de este proyecto reside en su pipeline de procesamiento de datos y modelado matemático avanzado, ahora organizado bajo principios SOLID para garantizar mantenibilidad.
- Procesamiento de Streaming (
yield): Los metadatos se procesan registro por registro para evitar Out-of-Memory. - Sparse Matrix (CSR): Las interacciones usuario-ítem se comprimen en una matriz esparcida para cálculos algebraicos ultrarrápidos.
- Modelo: Algoritmo ALS (Alternating Least Squares) optimizado por la librería
implicit. - Inferencia: Vectorización pura con recuperación en tiempo real de vectores numéricos.
- Backend: Python 3.11, FastAPI (Tipado fuerte y validación con Pydantic).
- Machine Learning:
implicit,scikit-learn,scipy,pandas. - Frontend: React, Vite, TailwindCSS (Design System Premium).
- Pruebas: Pytest (Unitarias, Integración y Mocking).
├── analytics/ # Módulos de análisis avanzado (Detección de anomalías)
├── api/ # Capa de Presentación (Web)
│ ├── routes/ # Endpoints modularizados por dominio
│ └── main.py # Punto de entrada de la API
├── core/ # Configuración global y utilidades transversales
├── domain/ # Entidades y Schemas (DTOs) para tipado fuerte
├── infrastructure/ # Adaptadores y cargadores de recursos (Models, DB)
├── services/ # Lógica de Negocio (Recommendation Engines)
├── models/ # Binarios de modelos entrenados (.pkl, .npz)
├── processed/ # Datasets procesados y mapeos de índices
├── scripts/ # Pipelines de ETL y entrenamiento
└── tests/ # Suite de pruebas automatizadas
- Levantar el Backend (FastAPI)
# Desde la raíz del proyecto python api/main.py - Levantar el Frontend (React)
cd frontend npm run dev
El proyecto cuenta con una suite de pruebas automatizadas. Para ejecutarlas:
$env:PYTHONPATH = "."; pytest tests/Desarrollado por Johan Sarria siguiendo la Guía Maestra de Agentes IA.