Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Edwin1719/Smart_Energy

Repository files navigation

Smart Energy - Sistema Multiagente para Proyectos Fotovoltaicos

Vision General

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.

Caracteristicas Principales

  • 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

Arquitectura del Sistema

Agentes Especializados

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]
Loading

1. SolarResourceAgent

  • Consulta APIs de irradiacion solar (PVGIS, NREL)
  • Analisis de variacion estacional
  • Factores de perdidas climaticas

2. TiltAndPanelChoiceAgent

  • Calculo de inclinacion y azimuth optimos
  • Evaluacion economica de sistemas de tracking
  • Seleccion de paneles (2-3 alternativas)

3. MaterialsAndLaborAgent

  • Calculo completo de materiales y cantidades
  • Estimacion de costos (local vs importado)
  • Costos de mano de obra especializada

5. InstallationPlanAgent

  • Cronograma detallado de instalacion
  • Protocolos de seguridad especificos
  • Cumplimiento normativo por pais

Herramientas Especializadas

  • 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

Instalacion y Configuracion

Prerrequisitos

# 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

Configuracion Inicial

  1. Clonar el proyecto:
git clone <repository_url>
cd smart_energy_project
  1. 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
  1. Configurar modelo LLM en config/defaults.json:
{
 "model_configuration": {
 "openai": {
 "model_name": "gpt-4",
 "temperature": 0.1,
 "max_tokens": 2000
 }
 }
}

Uso del Sistema

Ejecucion Basica

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())

Formas de Ejecutar el Sistema

Aplicación CLI (Línea de comandos)

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

Aplicación Web (Interfaz gráfica)

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

Test Completo del Sistema

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

Estructura de Salida

Reporte Final Generado

{
 "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": [...]
 }
 }
}

Configuracion Avanzada

Defaults Tecnicos

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
 }
}

Configuracion por Pais

{
 "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
 }
 }
}

Desarrollo y Extension

Agregar Nuevo Pais

  1. Actualizar defaults.json:
{
 "regulatory_compliance": {
 "NuevoPais": {
 "codigo_electrico": "Codigo local",
 "autoridad_regulatoria": "Autoridad",
 "iva_porcentaje": 0.XX
 }
 }
}
  1. Agregar cálculos de ahorro potencial en MaterialsAndLaborAgent
  2. Incluir normativas especificas en InstallationPlanAgent

Agregar Nueva Herramienta

# tools/nueva_herramienta.py
class NuevaHerramienta:
 def nueva_funcion(self, parametros):
 """
 Descripcion de la funcionalidad
 """
 # Implementacion
 return resultado

Agregar Nuevo Agente

# 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
 )

Roadmap de Desarrollo

Sprint 1: Core Implementation ✅ COMPLETADO

  • Estructura base de agentes
  • Herramientas principales
  • Casos de uso ejemplo
  • Configuración básica

Sprint 2: APIs y Datos Reales ✅ 80% COMPLETADO

  • 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

Sprint 3: Funcionalidades Avanzadas

  • Optimizacion con algoritmos geneticos
  • Simulacion Monte Carlo para riesgos
  • Integracion con sistemas de diseno CAD
  • Dashboard web interactivo

Sprint 4: Inteligencia Aumentada

  • Aprendizaje de patrones de instalacion
  • Recomendaciones predictivas
  • Optimizacion automatica de costos
  • Alertas de mercado y oportunidades

Sprint 5: Plataforma Comercial

  • API REST para integradores
  • Sistema de usuarios y proyectos
  • Reportes PDF profesionales
  • Integracion con CRM

Supuestos y Limitaciones Actuales

Supuestos Tecnicos

  • 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

Limitaciones Conocidas

  1. Datos solares: Dependiente de disponibilidad APIs externas
  2. Precios: Estimaciones basadas en rangos de mercado
  3. Normativas: Actualizaciones manuales requeridas
  4. Complejidad sitio: No considera obstaculos complejos

Proximas Mejoras

  • 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

Soporte y Contribucion

Reportar Bugs

  • Usar GitHub Issues con template de bug report
  • Incluir logs completos y configuracion

Contribuir

  1. Fork del repositorio
  2. Crear branch feature/nombre-feature
  3. Commit con mensajes descriptivos
  4. Pull request con descripcion detallada

Contacto


Licencia

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

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /