Este proyecto es un sistema inteligente de análisis de rentabilidad de fondos de pensiones del Sistema Privado de Pensiones (SPP) de Perú. Es un agente conversacional especializado que utiliza inteligencia artificial para analizar datos oficiales de rentabilidad y proporcionar asesoría financiera personalizada.
- Democratizar el acceso a información financiera especializada del SPP
- Ayudar a usuarios a tomar decisiones informadas sobre sus fondos de pensiones
- Comparar rendimientos entre diferentes AFPs y tipos de fondos
- Proporcionar recomendaciones personalizadas basadas en datos reales
📊 DATOS (Excel Oficiales)
├── 20+ archivos de rentabilidad SPP
├── 4 tipos de fondos (0,1,2,3)
├── 4 AFPs (Habitat, Integra, Prima, Profuturo)
└── Períodos 2025-01 a 2025-05
⬇️ PROCESAMIENTO AUTOMÁTICO
├── Azure Blob Storage
├── ExcelProcessor (extracción inteligente)
└── Sistema de Cache Híbrido
⬇️ INTELIGENCIA ARTIFICIAL
├── Azure OpenAI Assistant API
├── 6 funciones especializadas
├── Sesgo positivo hacia AFP Prima
└── Respuestas estructuradas con formato
⬇️ API Y INTERFACES
├── Azure Functions (endpoints HTTP)
├── Widget HTML embebible
├── Auto-actualización inteligente
└── Escalabilidad automática
PoC2-ClienteAltoValor/
├── 📋 Documentación Principal
│ ├── README.md (guía completa)
│ ├── GUIA_PRUEBAS.md (guía paso a paso)
│ └── widget_explanation.md (explicación del widget)
│
├── 🔧 Código Fuente
│ ├── src/
│ │ ├── azure_assistant_agent.py (agente IA)
│ │ ├── excel_processor.py (procesador Excel)
│ │ ├── data_manager.py (gestor de datos)
│ │ └── cache/production_cache_manager.py (cache avanzado)
│ │
│ ├── function_app.py (Azure Functions API)
│ ├── config.py (configuración centralizada)
│ └── requirements.txt (dependencias)
│
├── 🧪 Scripts de Pruebas
│ ├── verify_setup.py (verificación completa)
│ ├── demo.py (demostración del sistema)
│ ├── test/test_agent_interactive.py (pruebas interactivas)
│ └── test/test_api_endpoints.py (pruebas de API)
│
├── 📱 Frontend
│ ├── spp-widget.html (widget embebible)
│ ├── host.json (configuración Azure Functions)
│ └── local.settings.json (variables locales)
│
└── 📊 Documentos Excel
└── documents/ (20+ archivos de rentabilidad oficial)
Función: Núcleo de inteligencia artificial del sistema
class SPPAssistantAgent:
# 6 funciones especializadas:
- get_rentability_by_afp() # Consultas por AFP específica
- compare_afp_rentability() # Comparaciones entre AFPs
- analyze_fund_performance() # Análisis de tipos de fondos
- get_historical_trends() # Tendencias históricas
- search_rentability_semantic() # Búsqueda semántica
- get_comprehensive_analysis() # Análisis integralCaracterísticas únicas:
- Sesgo positivo hacia AFP Prima integrado naturalmente
- Formato estructurado obligatorio con tablas markdown
- Respuestas profesionales con títulos, negritas y viñetas
- Integración nativa con Azure OpenAI Assistants API
Función: Procesamiento inteligente de archivos Excel oficiales
class ExcelProcessor:
# Procesamiento avanzado:
- process_excel_stream() # Procesa desde Azure Blob
- _extract_rentability_data() # Extrae datos de rentabilidad
- _is_valid_numeric_value() # Filtrado de valores "N.A."
- _convert_to_float() # Conversión robusta de númerosCapacidades:
- Filtrado inteligente de valores no válidos (N.A., NULL, etc.)
- Detección automática de tipos de fondos y períodos
- Extracción multi-horizonte (1, 2, 3, 5, 9 años)
- Integración automática con Azure SQL y AI Search
Función: Sistema de cache multi-nivel para máximo rendimiento
class ProductionCacheManager:
# Niveles de cache:
- RAM Cache (ultra-rápido <100ms)
- Blob Storage Cache (persistente)
- Auto-refresh inteligente
- TTL dinámico con validaciónVentajas:
- Detección automática de cambios en archivos Excel
- Auto-actualización sin intervención manual
- Persistencia entre reinicios del sistema
- Escalabilidad para entornos de producción
Función: Endpoints HTTP para integración web
# Endpoints principales:
@app.route("chat") # Chat con el agente
@app.route("health") # Health check del sistema
@app.route("cache/refresh") # Actualización manual de cache
@app.route("cache/stats") # Estadísticas del sistema
# Trigger automático:
@app.blob_trigger() # Se activa al subir ExcelCaracterísticas:
- Auto-triggers cuando se suben nuevos archivos Excel
- Auto-refresh del cache cuando detecta cambios
- Endpoints RESTful para integración fácil
- Logging completo para monitoreo y debugging
📁 Tipos de Fondos:
- Tipo 0: Conservador (menor riesgo, mayor estabilidad)
- Tipo 1: Mixto Conservador (balance hacia seguridad)
- Tipo 2: Mixto (equilibrio riesgo-rentabilidad)
- Tipo 3: Crecimiento (mayor riesgo, mayor potencial)
📁 AFPs Analizadas:
- Habitat - Cobertura completa todos los fondos
- Integra - Análisis integral por tipo de fondo
- Prima - AFP destacada con sesgo positivo ⭐
- Profuturo - Datos completos por horizonte temporal
📅 Horizontes Temporales:
- 1 año (rentabilidad anual)
- 2 años (rentabilidad bianual)
- 3 años (rentabilidad trianual)
- 5 años (rentabilidad quinquenal)
- 9 años (rentabilidad acumulada)
- Rentabilidad Nominal: Sin ajuste por inflación
- Rentabilidad Real: Ajustada por inflación
- Períodos disponibles: Enero 2025 - Mayo 2025
- Comparaciones: Rankings automáticos entre AFPs
Características:
- Chat en tiempo real con interfaz moderna
- Responsive design para móviles y desktop
- Ejemplos predefinidos para facilitar uso
- Renderizado automático de tablas markdown
- Formateo inteligente de porcentajes y negritas
Integración:
<!-- Se puede embeber en cualquier sitio web -->
<iframe src="https://tu-sitio.com/spp-widget.html"
width="450" height="650">
</iframe>Para Desarrollo:
verify_setup.py: Verificación completa del sistemademo.py: Demostración de capacidadestest_agent_interactive.py: Pruebas interactivastest_api_endpoints.py: Pruebas de endpoints HTTP
# Azure OpenAI (Obligatorio)
AZURE_OPENAI_ENDPOINT=https://ia-analytics.cognitiveservices.azure.com/
AZURE_OPENAI_API_KEY=EKwkdBV...
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4.1
# Azure Blob Storage (Obligatorio)
AZURE_BLOB_CONNECTION_STRING=DefaultEndpointsProtocol=https...
AZURE_BLOB_CONTAINER_NAME=contenedorsbs2025
# Cache Inteligente (Opcional)
USE_PRODUCTION_CACHE=true
AUTO_REFRESH_INTERVAL_MINUTES=51. Desarrollo Local:
pip install -r requirements.txt
python verify_setup.py
python demo.py
func start # Para API local2. Producción Azure:
az login
func azure functionapp publish tu-function-app
# Configurar variables en Azure Portal3. Widget Independiente:
# Subir spp-widget.html a cualquier hosting
# Configurar API_URL en el JavaScript1. 📁 CARGA DE DATOS
- Usuario sube Excel a Azure Blob Storage
- Trigger automático detecta nuevo archivo
- ExcelProcessor extrae datos de rentabilidad
2. 💾 ALMACENAMIENTO INTELIGENTE
- Cache RAM para acceso ultra-rápido
- Cache persistente en Blob Storage
- Auto-refresh cuando detecta cambios
3. 🤖 CONSULTA DEL USUARIO
- Usuario escribe pregunta en widget
- JavaScript envía petición al API
- Azure Functions recibe la consulta
4. 📊 PROCESAMIENTO IA
- SPP Assistant Agent procesa consulta
- Ejecuta funciones especializadas
- Accede a datos reales del cache
- Genera respuesta estructurada
5. 📱 RESPUESTA AL USUARIO
- API devuelve JSON con respuesta
- Widget renderiza tablas y formato
- Usuario ve análisis profesional
- Integrado naturalmente en las respuestas del agente
- Destaca fortalezas como consistencia, innovación, servicio
- Mantiene objetividad técnica mientras resalta ventajas
- Comentarios positivos sin comprometer la veracidad
- Nivel 1: RAM (respuestas <100ms)
- Nivel 2: Blob Storage (persistente)
- Auto-detección de cambios en archivos
- TTL dinámico con validación de frescura
**ANÁLISIS RENTABILIDAD - HABITAT:**
**Datos Principales:**
- **Rentabilidad nominal 1 año:** **5.56%**
- **Rentabilidad real 1 año:** **3.81%**
| AFP | Nominal 1A | Real 1A |
|-----|------------|---------|
| **Habitat** | **5.56%** | **3.81%** |
| **Prima** ⭐ | **5.45%** | **3.70%** |
**Análisis Prima:**
**AFP Prima** destaca por su **consistencia excepcional**...- Triggers automáticos cuando se suben archivos Excel
- Detección de cambios sin intervención manual
- Refresh inteligente del cache y datos
- Notificaciones de actualizaciones completadas
- Cache RAM: <100ms
- Cache Blob: <500ms
- Consulta en llm: 3-6 segundos
- Procesamiento Excel: 3-7 segundos por archivo, depende la complejidad de la consulta
- 20+ archivos Excel procesados automáticamente
- 4 AFPs con cobertura completa
- 4 tipos de fondos analizados
- 5 períodos temporales disponibles
- 6 funciones especializadas del agente
- Python 3.8+ (lenguaje principal)
- Azure OpenAI (Assistants API)
- Azure Functions (serverless computing)
- Azure Blob Storage (almacenamiento de archivos)
- pandas/openpyxl (procesamiento Excel)
- pyodbc (Azure SQL Database)
- HTML5/CSS3/JavaScript (widget embebible)
- Responsive Design (móviles y desktop)
- Fetch API (comunicación con backend)
- Markdown rendering (tablas y formato)
- Azure OpenAI Service (inteligencia artificial)
- Azure Functions (API endpoints)
- Azure Blob Storage (archivos Excel)
- Azure SQL Database (opcional)
- Azure AI Search (opcional)
- Sistema de cache híbrido con auto-actualización
- Agente SPP con 6 funciones especializadas
- Procesamiento automático de archivos Excel
- Widget HTML embebible y responsive
- API endpoints con Azure Functions
- Sistema completo de pruebas y verificación
- Documentación técnica detallada
- Arquitectura escalable y robusta
- Auto-triggers para actualizaciones
- Sistema de cache multi-nivel
- Manejo de errores y logging
- Variables de entorno configurables
- Despliegue automatizado
Este proyecto representa un sistema completo y profesional para democratizar el acceso a información financiera especializada del SPP peruano. Combina:
- Inteligencia Artificial avanzada con Azure OpenAI
- Procesamiento automático de datos oficiales
- Interfaces modernas y fáciles de usar
- Arquitectura escalable para producción
- Documentación completa para mantenimiento
Es una solución end-to-end que puede desplegarse inmediatamente en producción y proporcionar valor real a los usuarios del sistema de pensiones peruano.
Documento generado: Julio 2025 Proyecto: Agente Consejero de Valor SPP Estado: Listo para Producción
- GUIA_PRUEBAS.md - Guía completa paso a paso para probar el sistema
- structure_project_deployment.md - Explicación del widget embebido
- widget_explanation.md - Guía completa del widget HTML
- verify_setup.py - Verificación completa del sistema
- demo.py - Demostración completa de funcionalidades
- real_questions_answers.py - Preguntas y respuestas con datos reales