AI Eval Panel — Herramienta de evaluación comparativa de modelos LLM
Descripción
AiEvalPanel es una herramienta del workspace de CreaRack Pro que permite evaluar y comparar modelos de lenguaje (LLM) de múltiples proveedores de forma simultánea. El panel ejecuta un conjunto de prompts/casos contra una matriz de modelos y presenta métricas de latencia, uso de tokens y coste estimado.
Ubicación en el código: src/components/tools/AiEvalPanel.tsx
Funcionalidades principales
Matriz de evaluación
- Selección de candidatos (modelos) de tres proveedores: Gemini, Anthropic/Claude (vía OpenRouter) y Meta/Llama (vía OpenRouter).
- Presets de 6 modelos configurados:
gemini-3-flash-previewgemini-3.1-flash-lite-previewgemini-2.5-flashqwen/qwen-2.5-72b-instructanthropic/claude-haiku-4.5meta-llama/llama-3.3-70b-instruct
- Selección de templates de prompt (almacenados vía API) y casos custom con soporte de imagen.
- Límite de 25 celdas por run (Regla 21 del proyecto).
Botón Reset (commit 484feb7)
Añadido al lado del botón Run. Limpia el estado completo del panel:
- Candidatos → vuelve al preset único
gemini-3.1-flash-lite-preview. - Prompts seleccionados → solo el template
tutor. - Casos custom, imágenes e inputs de API keys → vaciados.
- Resultados y estado de expand → limpiados.
Multi-expand de respuestas (commit 484feb7)
El estado expanded pasó de string | null a Set<string>, permitiendo abrir varias respuestas simultáneamente en la tabla de resultados para compararlas lado a lado visualmente.
Sección Análisis — RunSummary (commit 484feb7)
Componente nuevo renderizado tras la tabla de resultados. Incluye:
Cards globales (4)
| Card | Descripción |
|---|---|
| Celdas OK | ok / (ok + err) |
| Latencia total | Suma en segundos, promedio ms/celda como hint |
| Coste estimado | Total USD con precios orientativos MODEL_PRICING |
| Más rápido | Modelo con menor latencia promedio |
Tabla por modelo
Columnas: Modelo · Latencia prom · Tokens (in/out) · Coste · OK/Total.
Badges inline: más rápido (accent) y más barato (success), mutuamente excluyentes cuando coinciden en el mismo modelo.
Comparativa pareja — PairComparison
Solo se renderiza cuando hay exactamente 2 modelos en el run. Calcula:
- Ratio de speedup:
"X es N.Nx más lento que Y" - Ratio de coste:
"X cuesta N.Nx más que Y"(solo si ambos tienen pricing conocido)
Tabla de precios orientativos (MODEL_PRICING)
Estos valores son referencia. Actualizar cuando los proveedores cambien tarifas.
| Modelo | USD/1M tokens in | USD/1M tokens out |
|---|---|---|
| gemini-3-flash-preview | $0.50 | $3.00 |
| gemini-3.1-flash-lite-preview | $0.25 | $1.50 |
| gemini-2.5-flash | $0.30 | $2.50 |
| qwen/qwen-2.5-72b-instruct | $0.13 | $0.40 |
| anthropic/claude-haiku-4.5 | $1.00 | $5.00 |
| meta-llama/llama-3.3-70b-instruct | $0.13 | $0.40 |
La función cellCostUsd(cell, model) calcula el coste de una celda individual:
coste = (tokens_in × precio_in + tokens_out × precio_out) / 1_000_000
API relacionada
El panel consume los siguientes endpoints:
| Endpoint | Uso |
|---|---|
GET /api/tools/ai-eval/history | Listado de runs pasados |
GET /api/tools/ai-eval/history?id=<n> | Detalle de un run |
| (endpoint run) | Ejecución de la matriz de eval |
Arquitectura de componentes
AiEvalPanel (default export)
├── ResultsMatrix — tabla de resultados con multi-expand
│ └── toggle(key) — añade/quita key del Set<string> expanded
└── RunSummary — sección de análisis post-run
├── SummaryCard — card genérica con label/value/hint
└── PairComparison — comparativa entre 2 modelos exactamente
Historial de cambios relevantes
| Fecha | Commit | Cambio |
|---|---|---|
| 2026-04-27 | 484feb7 | Botón Reset, multi-expand (Set<string>), sección Análisis con RunSummary, MODEL_PRICING embedding, PairComparison (+273/-17 LOC) |
Véase también
- [[concept—general—que-features-o-entitypages-existen-en-la-wiki-sobr]]