AI-LAB deja de depender de nombres fijos para enrutar modelos. El router ahora puede descubrir modelos reales en cada nodo LM Studio, clasificar candidatos desconocidos y aplicar fallback seguro si el discovery falla.
Alcance implementado
Section titled “Alcance implementado”runtime/models/model_discovery.pyruntime/models/model_classifier.py- extensiones en
runtime/models/model_registry.py runtime/llm/model_router.pyruntime/llm/router_api.pyruntime/agent/context_shaper.pyruntime/state/live_api.py- ajuste del wrapper
runtime/opencode_ialab.sh
Comportamiento nuevo
Section titled “Comportamiento nuevo”- consulta
GET /v1/modelsen cada nodo LM Studio - normaliza y clasifica modelos por heurística cuando no existen en el registry
- evita embeddings y vision en rutas de chat normales
- detecta modelos
tool_usey prioriza esos candidatos cuando la request traetoolsotool_choice - prioriza modelo real por tarea, disponibilidad y performance histórica
- expone
model_discovery,selected_modelyreason_codesen HARD FACTS
Evidencias
Section titled “Evidencias”| Verificacion | Resultado |
|---|---|
GET /api/models/discovery | discovery cache con 2 nodos online y 9 modelos |
GET /api/models/catalog | catalogo unificado registry + discovery |
ailab-router/fast | llama-3.1-8b-instruct cuando el prompt es corto y el matcher entra en fast |
ailab-router/coding | qwen2.5-coder-14b-instruct o qwen2.5-coder-32b-instruct segun discovery y scoring |
ailab-router/reasoning | qwen2.5-coder-32b-instruct en rx7900xt |
Validacion operativa adicional
Section titled “Validacion operativa adicional”rx9070pudo caer a offline y el router mantuvo servicio con fallback.- Al volver
rx9070, discovery volvio a ver los dos nodos y los modelos cargados. qwen2.5-coder-14b-instructse detecto enrx7900xty quedo disponible para rutas de coding/fallback.
Commit
Section titled “Commit”994c989c feat: FASE 13 - dynamic LM Studio model discovery for auto router