ES: Sistema de routing que selecciona dinámicamente el modelo óptimo maximizando calidad, eficiencia energética y coste.
EN: Dynamic router that selects the optimal AI model, maximizing quality, energy efficiency, and cost performance.
OptimIA es un enrutador inteligente de modelos de IA diseñado para decidir, en tiempo real, qué modelo ejecutar entre:
- Llama 3.1 8B
- GPT-4o-mini
- GPT-5
El sistema estima la categoría, dificultad y requerimientos del usuario, y selecciona el modelo ideal con base en:
- Categoría del prompt (biology, law, math, etc.)
- Nivel de dificultad (easy | medium | hard)
- Modo operativo (ahorro | equilibrado | calidad)
- Tabla de performance real por categoría/dificultad
- Coste por token (input/output)
- Consumo energético relativo por modelo
Además incorpora:
- Clasificador automático en Python
- Algoritmo de selección coste-calidad-energía
- Streaming tipo ChatGPT
- Historial persistente en cliente
- Cálculo de ahorro económico
- Estimación de energía evitada
- Dashboard de métricas
OptimIA is a smart AI model router that dynamically chooses the optimal model (Llama 3.1 8B, GPT-4o-mini or GPT-5) based on the incoming prompt's category, difficulty and user mode, optimizing quality, cost and energy consumption.
It provides streaming output, analytics, persistent history, and an intelligent cost-savings engine.
Desarrollar un router de modelos IA reutilizable y robusto capaz de:
- Clasificar el prompt usando un modelo Python.
- Seleccionar el modelo óptimo utilizando métricas de rendimiento, coste y energía.
- Optimizar el prompt original para reducir tokens y mejorar eficiencia sin perder intención.
- Ejecutar un único modelo evitando redundancias.
- Registrar métricas clave (coste, energía, tiempo de ejecución).
- Ofrecer un dashboard accesible para visualizar resultados y ahorros.
Build a reusable and production-ready AI model router that classifies prompts, selects the best model, optimizes prompts to reduce token consumption, executes efficiently, and exposes relevant metrics through a modern web UI. Build a reusable and production-ready AI model router that classifies prompts, selects the best model, executes it efficiently, and exposes relevant metrics through a modern web UI.
- React + Vite
- ReactMarkdown
- Persistencia en localStorage
- Node.js + Express
- Socket.IO para streaming
- Python (subproceso)
- Azure OpenAI API
- Groq API
- Python (pandas, openpyxl, etc.)
- Scripts de benchmark que generan tabla_global.json
- Clasificación del prompt: Python determina categoría y dificultad.
- Selección de modelo: se calcula el balance entre accuracy, coste y energía según el modo del usuario.
- Ejecución del modelo elegido vía Node.js.
- Optimización del prompt para eficiencia.
- Frontend visualiza respuesta, métricas y ahorros.
- Prompt classification (Python)
- Optimal model selection
- Execution of the chosen model
- Prompt optimization (Groq)
- UI rendering and analytics
.
├── IndesIAHack/
│ ├── Cliente/
│ │ ├── src/App.jsx
│ │ ├── public/send.png
│ │ └── …
│ └── Servidor/
│ ├── index.js
│ ├── classifier_api.py
│ ├── classifier_prompt_engineering.py
│ ├── test_classifier.py
│ ├── model_selector.py
│ ├── performance_analyzer.py
│ ├── data_treatment/tabla_global.json
│ ├── requirements.txt
│ └── …
└── README.md
cp .env.example .envEditar claves en .env.
Backend
cd Servidor
npm install
pip install -r requirements.txtFrontend
cd Cliente
npm installBackend
npm run devFrontend
npm run dev- Modelo seleccionado
- Coste estimado por mensaje
- Índice energético
- Tiempo de enrutamiento
- Tiempo de inferencia del modelo
- Historial persistente del usuario
- Ahorro acumulado (€/tokens)
- Energía evitada (estimada)
- Selected model
- Estimated cost per message
- Energy index
- Routing time
- Model inference time
- Persistent user history
- Cumulative savings (€/tokens)
- Avoided energy (estimated)
Valeria — Javier — Sergio — Cesar — Clara