De archivos CSV crudos a un asistente de IA listo para producción que consulta datos de forma segura sin inventar sentencias SQL. En este artículo explico cómo construir un analista de datos potenciado por IA usando herramientas como Azure OpenAI, LangChain, LangGraph, llamadas de funciones y SQLite, con pandas para el análisis local.
Resumen de capacidades del asistente: analiza datos CSV con pandas, consulta una base de datos SQL de forma segura, selecciona automáticamente funciones backend predefinidas, explica resultados con claridad y evita alucinaciones y ejecuciones SQL inseguras.
Problemas habituales al integrar modelos de IA con bases de datos: consultas SQL alucinadas, uso de eval o ejecución de SQL sin control, falta de control sobre el acceso del modelo y ausencia de explicaciones sobre el origen de los resultados. Objetivo: construir un asistente que responda preguntas analíticas sobre datos de COVID, utilice solo herramientas permitidas, no haga suposiciones y explique cada respuesta.
Dataset de ejemplo: el dataset COVID all states history con columnas como state date hospitalizedIncrease positiveIncrease y otras. Inicialmente se utiliza como DataFrame de pandas y luego se vuelca a SQLite para consultas estructuradas.
Visión general de la arquitectura: pregunta del usuario pasando por Azure OpenAI mediante LangChain, el modelo decide la intención y la herramienta, el sistema selecciona ejecución segura en backend y se devuelve el resultado con una explicación final. Idea clave: el modelo decide que hacer y el backend controla como se hace.
Parte 1 Conexión a Azure OpenAI via LangChain. Se establece una capa LLM usando el cliente Azure apropiado y LangChain para orquestar la interacción. Se recomienda validar la conectividad y realizar pruebas simples de sanity check antes de avanzar.
Parte 2 Agente DataFrame para análisis de CSV. El CSV se carga en pandas y se expone computación controlada mediante una herramienta que ejecuta código restringido sobre el DataFrame global. En producción sustituya cualquier uso de eval por una capa de ejecución limitada y auditable. Es importante forzar el uso de la herramienta desde el prompt para que el modelo realice los cálculos en pandas y explique los resultados.
Parte 3 De CSV a SQL con SQLite. Convertir el DataFrame a una base SQLite permite consultas estructuradas y persistencia: el mismo dataset queda disponible para consultas SQL sin exponer la capacidad de ejecutar SQL arbitrario desde el modelo.
Parte 4 Agente SQL con LangGraph. Utilizando un agente ReAct se puede hacer que el sistema aplique reglas estrictas en el prompt: solo tablas y columnas válidas, prohibir valores inventados y forzar salida en formato markdown. Esto reduce las alucinaciones y mejora la trazabilidad.
Parte 5 Llamadas de funciones y prohibicion de SQL en crudo. En lugar de permitir que el modelo genere SQL, definimos funciones backend preaprobadas como get_hospitalized_increase_for_state_on_date y get_positive_cases_for_state_on_date. Un registro de funciones garantiza que solo se ejecuten funciones permitidas y evita la ejecución de codigo arbitrario.
Parte 6 Uso de la capacidad de function calling en Azure OpenAI. Se emplea el flujo de chat completions con funciones habilitadas de forma que si el modelo solicita una función se extraen argumentos, se enrutan mediante el mapa de funciones, se ejecuta la lógica backend y se devuelve el resultado para que el modelo genere una respuesta final basada en datos verificados.
Parte 7 API de Assistant para contexto persistente. Al crear un assistant que incluya las funciones como herramientas disponibles se consigue un contexto conversacional persistente ideal para analisis multisesion. El bucle de ejecución recupera ejecuciones que requieren accion, despacha llamadas a funciones autorizadas y devuelve resultados. El assistant recuerda el contexto de la conversación pero no cachea resultados de base de datos para evitar respuestas obsoletas.
Buenas practicas y seguridad: mantener un mapa de funciones centralizado, auditar todas las llamadas, limitar privilegios de las funciones y separar la lógica de razonamiento de la de acceso a datos. Evitar evaluaciones dinámicas inseguras y registrar cada consulta y su origen.
Ventajas de este diseño: previene alucinaciones SQL, asegura la ejecucion segura en backend, mantiene las respuestas ancladas en datos reales y escala ordenadamente a medida que se agregan nuevas herramientas o funciones.
Modelo mental recomendado: el LLM se encarga del razonamiento y la intencion, el assistant selecciona la herramienta adecuada, el backend realiza el acceso a datos y las funciones autorizadas garantizan seguridad.
Cuando usar cada alternativa: consultas puntuales usar chat con function calling, analisis multisesion usar Assistant API, exploracion de CSV usar herramientas DataFrame y en bases de datos productivas preferir funciones SQL predefinidas. Para soluciones empresariales complejas considere combinar estas piezas en una plataforma gestionada.
En Q2BSTUDIO diseñamos e implementamos este tipo de soluciones seguras y escalables. Somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial y ciberseguridad, y ofrecemos servicios cloud AWS y Azure además de soluciones de inteligencia de negocio y Power BI. Si necesitas integrar agentes IA, automatizacion de procesos o una plataforma de IA para empresas puedes conocer nuestras capacidades en soluciones de inteligencia artificial y en servicios cloud AWS y Azure. Nuestra experiencia en software a medida, aplicaciones a medida, ciberseguridad y servicios de inteligencia de negocio garantiza implementaciones seguras y alineadas con objetivos de negocio.
Palabras clave integradas naturalmente para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.
Conclusión: este enfoque refleja como se construyen sistemas de IA en producción donde la IA decide que preguntas responder y el backend controla como se accede y calcula la informacion, manteniendo los datos como fuente autoritativa y ofreciendo explicaciones transparentes. Si quieres llevar este concepto a tu empresa contacta con Q2BSTUDIO para diseñar una solución a medida.

.jpg)
