Sistema Agéntico con Razonamiento Chain-of-Thought (CoT) para el Acceso a las Bases de Datos Privadas
Year: 2026
Type: dissertation
Abstract: Este proyecto presenta el diseño, implementación y evaluación de un sistema agéntico basado en modelos de lenguaje (LLMs) para la consulta de bases de datos mediante lenguaje natural, desplegado en la infraestructura del Centro de Domótica Integral (CeDInt) de la Universidad Politécnica de Madrid. El sistema permite que usuarios sin conocimientos de SQL interactúen con tres bases de datos almacenadas en PostgreSQL: dos de máquinas industriales CNC y una de registro clínico de pacientes que padecen de trombofilia. Estas conversaciones se logran a través de la formulación de consultas en lenguaje natural y el usuario obtiene respuestas interpretables y trazables. El sistema se ejecuta íntegramente en un servidor on-premise, utilizando exclusivamente modelos LLM de código abierto (llama3, mistral, deepseek-r1) gestionados a través de Ollama, sin depender de servicios en la nube. La interfaz de usuario se implementa mediante OpenWebUI, y la lógica del pipeline se desarrolla como un módulo de Python desplegado en OpenWebUI Pipelines que orquesta el flujo de procesamiento de cada consulta. La arquitectura del pipeline se basa en un grafo de estados implementado con LangGraph que define los nodos de procesamiento y las transiciones condicionales entre ellos. El flujo principal incluye un sistema de detección de intención de tres niveles progresivos: un primer nivel basado en heurística de patrones regex que resuelve las consultas más claras sin invocar al LLM, un segundo nivel que utiliza el LLM con una instrucción (prompt) de clasificación directa, y un tercer nivel de razonamiento Chain-of-Thought (CoT) multi-paso que genera alternativas de resolución, evalúa si cada una requiere acceso a las bases de datos locales, y toma una decisión argumentada. Cuando la consulta se clasifica como petición de datos locales (es decir, aquellos almacenados en PostgreSQL), un LLM supervisor genera la consulta SQL correspondiente, que se valida mediante barreras de seguridad alineadas con la norma ISO 27001:2022 (restricción a operaciones de solo lectura, validación de tablas permitidas mediante el parser SQL sqlglot, y limitación del número de filas devueltas) antes de ejecutarse contra las bases de datos. Si el SQL falla, un mecanismo de recuperación (cot_alternative) genera automáticamente hasta dos consultas SQL alternativas. La jerarquía de agentes especializados (BaseDataAgent, PostgreSQLAgent, TimescaleDBAgent) permite que cada base de datos tenga su propia lógica de acceso y formateo de resultados. Además, se implementa un Módulo de Extensibilidad para IoT (conector ThingsBoard) que demuestra la capacidad de la arquitectura para incorporar backends no-SQL en caso de que se desee escalar el trabajo hecho en este proyecto. El sistema incluye un MetricsCollector que registra cada interacción en formato JSON-lines, permitiendo el análisis cuantitativo del rendimiento, y un comando “/metrics” integrado en OpenWebUI que permite consultar las métricas del sistema en tiempo real sin necesidad de acceder al servidor. Los resultados de la evaluación validan las decisiones de diseño adoptadas. En una comparativa de tres modelos LLM, llama3 alcanza una tasa de éxito SQL del 90% con una latencia media de 1132ms, frente al 70% de mistral (2051ms) y el 80% de deepseek-r1 (29745ms), justificando su elección como modelo supervisor. Por otra parte, el diseño progresivo de tres niveles de razonamiento también es eficaz, ya que el 60% de las consultas se resuelven en la heurística, el 19% en el LLM simple y el 20% en el CoT, lo que significa que el razonamiento presente en el sistema permite que las consultas de mayor complejidad sean resueltas por los niveles de razonamiento más avanzados. En la evaluación formal, hecha con un dataset de 36 consultas en cuatro categorías (in domain, out-of-domain, adversarial y seguridad), el sistema alcanza un 97% de precisión global (35/36), con un 100% en las categorías out-of-domain, adversarial y seguridad. Las barreras de seguridad bloquearon todas las consultas SQL potencialmente destructivas con cero alucinaciones de tabla registradas en todas estas interacciones. De esta manera, el sistema no solo logra cumplir con los objetivos propuestos en este proyecto, sino que también demuestra ser fiable y efectivo en la resolución de consultas de los usuarios. Finalmente, entre las limitaciones identificadas del sistema se encuentran la precisión del razonamiento CoT con modelos de 8 billones de parámetros, la generación de SQL semánticamente incompleto para consultas complejas con cálculos temporales o subconsultas y la dependencia de un esquema de bases de datos fijado estáticamente en el código. Por ello, como trabajo futuro se propone la inspección dinámica de esquemas mediante information_schema, la validación semántica del SQL generado y la evaluación con modelos de mayor capacidad para que el razonamiento CoT sea más efectivo.
Source: Hispana
Author: Pajares Camacho, Javier
Language: Spanish
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W7169820391
