Saltar a contenido

Langflow

Langflow sirve como gestor visual de flujos para la capa de decision IA de MDU. Aunque los flujos se disenan en la interfaz de Langflow, la ejecucion se realiza via llamadas directas a la API de OpenAI GPT-4o para mayor fiabilidad y velocidad.

Configuracion

  • Contenedor: mdu-langflow en /opt/langflow/
  • Puerto: 127.0.0.1:7860 (solo interno)
  • Credenciales: langflow/langflow
  • Acceso: Nginx restringe a 127.0.0.1, 10.x, 172.x solamente

Flujos

Flow 1 — Optimizador de Prompt

ID: 072376c5 Usado por: routes.js (mdu-api, ~linea 1323) Trigger: Antes de generate-model para peticiones solo de texto

Optimiza prompts del usuario para mejor generacion 3D:

  • Mejora el prompt con detalles especificos de miniaturas
  • Selecciona el proveedor optimo (Tripo vs Meshy)
  • Anade indicaciones de pose, escala y nivel de detalle

Flow 2 — Evaluador de Calidad

ID: 871c5ea1 Usado por: main.py (stl-pipeline, linea 335) Trigger: Despues de reparacion admesh en pipeline STL

Enruta mallas por niveles de calidad:

Decision Accion
FAST Saltar validacion detallada
FULL Ejecutar suite de validacion completa
REJECT Fallar el trabajo inmediatamente

Flow 3 — Decision de Remix

ID: 0dfbf800 Usado por: main.py (stl-pipeline, linea 384) Trigger: Despues de validacion STL

Decision Accion
PASS Modelo listo para imprimir
REMIX Badge en metadata (sugerir re-generacion)
ESCALATE Marcar para revision manual

Flow 4 — Personalizador de Bases

ID: d547d13c Usado por: routes.js (mdu-api, ~linea 2838) Trigger: POST /api/generate-base

Genera codigo Python build123d para bases parametricas:

Dimensiones miniatura + estilo → GPT-4o → Codigo Python → contenedor base-builder → STL

Arquitectura de Ejecucion

Langflow UI (diseno de flujos)
    |
    v
Definiciones de flujos (JSON)
    |
    v
callLangflow() en routes.js / _call_flow() en main.py
    |
    v
Llamada directa API GPT-4o (NO contenedor Langflow)
    |
    v
Respuesta parseada → accion

Info

callLangflow() en langflow.cjs puede llamar al contenedor Langflow via header x-api-key, pero la ruta de ejecucion principal usa llamadas directas a OpenAI para fiabilidad. La funcion devuelve null en cualquier error (degradacion graciosa).

Desplegar Flujos

cd /opt/langflow && bash deploy-flows.sh