Smart_Energy es un sistema multiagente inteligente basado en AgentScope que automatiza completamente el diseno, presupuestacion y planificacion de sistemas fotovoltaicos. Desde informacion basica inicial, el sistema genera un analisis tecnico-economico completo con plan de instalacion detallado.
- Analisis Integral: Desde recurso solar hasta plan de instalacion
- Multiagente Especializado: 5 agentes expertos coordinados inteligentemente
- Soporte Multi-pais: Colombia, Chile y facil extension a otros paises
- Sistemas On-grid y Off-grid: Analisis especializado segun tipo de instalacion
- Calculo de Rentabilidad Básica: Análisis de inversión y ahorros potenciales
- Cumplimiento Normativo: Considera regulaciones locales automaticamente
graph TD
A[Smart_Energy_LeadAgent] --> B[SolarResourceAgent]
A --> C[TiltAndPanelChoiceAgent]
A --> D[MaterialsAndLaborAgent]
A --> E[InstallationPlanAgent]
B --> F[Datos Irradiacion Solar]
C --> G[Optimizacion Orientacion]
D --> H[Lista Materiales + Costos]
E --> I[Plan Instalacion]
- Consulta APIs de irradiacion solar (PVGIS, NREL)
- Analisis de variacion estacional
- Factores de perdidas climaticas
- Calculo de inclinacion y azimuth optimos
- Evaluacion economica de sistemas de tracking
- Seleccion de paneles (2-3 alternativas)
- Calculo completo de materiales y cantidades
- Estimacion de costos (local vs importado)
- Costos de mano de obra especializada
- Cronograma detallado de instalacion
- Protocolos de seguridad especificos
- Cumplimiento normativo por pais
- solar_resource_tool: Integracion con APIs de datos solares
- panel_catalog_tool: Catalogo de paneles con precios actualizados
- price_lookup_tool: Consulta de precios locales en tiempo real
- material_calc_tool: Calculos precisos de materiales
- finance_analysis_tool: Indicadores financieros avanzados
- installation_planning_tool: Planificacion optimizada de recursos
# Python 3.10+
python --version
# AgentScope
pip install agentscope
# Instalar dependencias
pip install -r requirements.txt
# O instalar dependencias específicas
pip install agentscope requests pandas numpy streamlit yfinance aiohttp scipy- Clonar el proyecto:
git clone <repository_url>
cd smart_energy_project- Configurar variables de entorno:
# .env file
OPENAI_API_KEY=tu_api_key_aqui
PVGIS_API_URL=https://re.jrc.ec.europa.eu/api/v5_3/MRcalc- Configurar modelo LLM en
config/defaults.json:
{
"model_configuration": {
"openai": {
"model_name": "gpt-4",
"temperature": 0.1,
"max_tokens": 2000
}
}
}import asyncio
from agents.lead_agent import SmartEnergyLeadAgent
async def main():
# Configuracion del modelo
model_config = {
"model_name": "gpt-4",
"api_key": "tu_api_key",
"temperature": 0.1
}
# Inicializar agente principal
lead_agent = SmartEnergyLeadAgent(model_config)
# Datos del proyecto
project_data = {
"pais": "Colombia",
"ciudad": "Tunja",
"latitud": 5.537,
"longitud": -73.367,
"demanda_kwh_dia": 12.0,
"tipo_instalacion": "off-grid",
"autonomia_dias": 2,
"presupuesto": None
}
# Procesar proyecto completo
resultado = await lead_agent.process_solar_project(project_data)
print(resultado)
asyncio.run(main())python main.py- Ejecuta análisis completo con datos predefinidos (Tunja, Colombia)
- Genera reporte en
resultado_smart_energy.json - Ideal para testing y automatización
python run_streamlit.py
# O directamente:
streamlit run streamlit_app.py- Interfaz web completa en http://localhost:8501
- Formularios interactivos para ingresar datos
- Visualizaciones y dashboards en tiempo real
python test_complete_multiagent_flow.py- Validación integral de todos los agentes
- Casos de prueba: Tunja (Colombia) y Santiago (Chile)
- Verificación de funcionamiento end-to-end
{
"proyecto_info": {
"ubicacion": "Tunja, Colombia",
"coordenadas": "5.537, -73.367",
"demanda_diaria": "12 kWh/dia",
"tipo_sistema": "off-grid"
},
"recurso_solar": {
"irradiacion_promedio_anual": 4.3,
"horas_pico_sol_promedio": 4.3,
"variacion_estacional": {"min": 4.0, "max": 5.4}
},
"diseno_sistema": {
"orientacion_optima": {
"inclinacion_grados": 5.5,
"azimuth_grados": 180
},
"paneles_recomendados": [...],
"dimensionado_preliminar": {
"paneles_necesarios": 26,
"potencia_total_kwp": 14.04,
"area_total_m2": 52.0
}
},
"materiales_costos": {
"lista_materiales": {...},
"resumen_coste_total": {
"total_proyecto": 35420.50,
"coste_por_kwp": 2523.47,
"coste_por_kwh_dia": 2951.71
}
},
"plan_instalacion": {
"cronograma_instalacion": {
"duracion_total_dias": 6,
"fases": [...]
}
}
}Ubicados en config/defaults.json:
{
"technical_defaults": {
"autonomia_dias": 2,
"dod_bateria": 0.50,
"eficiencia_inversor": 0.95,
"perdidas_sistema": 0.15,
"tracker_threshold": 0.15
}
}{
"regulatory_compliance": {
"Colombia": {
"codigo_electrico": "RETIE",
"autoridad_regulatoria": "UPME",
"iva_porcentaje": 0.19
},
"Chile": {
"codigo_electrico": "NCh Elec 4/2003",
"autoridad_regulatoria": "SEC",
"iva_porcentaje": 0.19
}
}
}- Actualizar defaults.json:
{
"regulatory_compliance": {
"NuevoPais": {
"codigo_electrico": "Codigo local",
"autoridad_regulatoria": "Autoridad",
"iva_porcentaje": 0.XX
}
}
}- Agregar cálculos de ahorro potencial en
MaterialsAndLaborAgent - Incluir normativas especificas en
InstallationPlanAgent
# tools/nueva_herramienta.py
class NuevaHerramienta:
def nueva_funcion(self, parametros):
"""
Descripcion de la funcionalidad
"""
# Implementacion
return resultado# agents/nuevo_agente.py
from agentscope.agent import ReActAgent
class NuevoAgente(ReActAgent):
def __init__(self, model_config):
super().__init__(
name="NuevoAgente",
sys_prompt=self._get_system_prompt(),
# ...configuracion
)- Estructura base de agentes
- Herramientas principales
- Casos de uso ejemplo
- Configuración básica
- Integración completa PVGIS API (funcionando con datos reales)
- Datos reales de irradiación solar para múltiples países
- Cálculos precisos de materiales y costos
- Sistema multiagente completamente coordinado
- Estimación de rentabilidad y ahorros potenciales
- Base de datos de componentes expandida
- Optimizacion con algoritmos geneticos
- Simulacion Monte Carlo para riesgos
- Integracion con sistemas de diseno CAD
- Dashboard web interactivo
- Aprendizaje de patrones de instalacion
- Recomendaciones predictivas
- Optimizacion automatica de costos
- Alertas de mercado y oportunidades
- API REST para integradores
- Sistema de usuarios y proyectos
- Reportes PDF profesionales
- Integracion con CRM
- Autonomia por defecto: 2 dias (configurable)
- DoD baterias: 50% (estandar conservador)
- Eficiencia inversor: 95% (tipico para equipos modernos)
- Perdidas sistema: 15% (incluye cableado, suciedad, temperatura)
- Tracker threshold: 15% mejora minima para recomendar
- Datos solares: Dependiente de disponibilidad APIs externas
- Precios: Estimaciones basadas en rangos de mercado
- Normativas: Actualizaciones manuales requeridas
- Complejidad sitio: No considera obstaculos complejos
- Integracion con imagenes satelitales para analisis de sombreado
- ML para prediccion de costos mas precisa
- Conexion directa con distribuidores para precios reales
- Simulacion 3D de instalacion
- Usar GitHub Issues con template de bug report
- Incluir logs completos y configuracion
- Fork del repositorio
- Crear branch feature/nombre-feature
- Commit con mensajes descriptivos
- Pull request con descripcion detallada
- Email: soporte@smartenergy.ai
- Discord: Smart Energy Community
- Docs: https://docs.smartenergy.ai
Este proyecto esta licenciado bajo Apache License 2.0 - ver el archivo LICENSE para detalles.
Smart Energy - Democratizando el acceso a la energia solar a traves de inteligencia artificial