Guía paso a paso para construir un agente de Inteligencia Artificial 100% local, privado y sin costes de API mediante la técnica de Function Calling (Tool Calling). Utilizando Qwen 2.5 3B en LM Studio y un servidor con FastAPI, el proyecto enseña a conectar un LLM con herramientas ejecutables en Python (cálculo matemático, sensores y generación de gráficos con Matplotlib) mostrando además la trazabilidad de los datos en tiempo real.
Aprende a construir un sistema RAG (Generación Aumentada por Recuperación) 100% local, gratuito y privado utilizando FastAPI, Python y LM Studio. Explicamos paso a paso cómo conectar una base de datos en CSV con un LLM local para responder preguntas sin alucinaciones, analizando desde la búsqueda por similitud coseno hasta la optimización de prompts en el aula.
Tutorial completo para montar METIS, una aplicación web que analiza un CSV y te explica qué hay dentro con un modelo de IA local. Con una regla de fondo: los números los calcula Python, la IA solo los explica. Incluye qué es la ciencia de datos y por qué curar los datos es la parte más importante del trabajo.
AGLAIA es un regalo para mi sobrina: una app que reutiliza el motor de PINSAPIA para practicar anamnesis con casos clínicos ficticios y una IA local en ROCKY.
Abrimos MonteIA a la red del centro, en la misma WiFi que usa el alumnado, junto con un código de acceso compartido que no era opcional en ese contexto. Con los dos avisos honestos que hacen falta: es una barrera mínima sin HTTPS, y ROCKY solo atiende una petición del modelo a la vez.
Cerramos la robustez mínima antes de pensar en abrir MonteIA a la red del centro: un límite de 20 peticiones por minuto por IP con slowapi, para que un bucle, un fallo o varias personas preguntando a la vez no colapsen una API que corre sin GPU.
Antes de pensar en abrir MonteIA a más de un ordenador, primera pieza de robustez: un filtro que rechaza mensajes desproporcionados y los intentos más habituales de manipular el system prompt (prompt injection), con el aviso honesto de que es una barrera básica, no una garantía de seguridad.
Revisamos uno a uno los 75 documentos reales del centro y los repartimos en dos carpetas según si son aptos para el RAG o no, con criterios de privacidad y seguridad más allá de si el documento es “público”. De paso, rediseñamos rag.py para que indexe automáticamente lo que haya en la carpeta, sin mantener una lista de archivos a mano.
MonteIA aprende a responder en directo, palabra por palabra, en vez de hacer esperar a que la respuesta esté completa. De paso, contamos un bug de codificación que se coló al implementarlo (tildes convertidas en símbolos raros) y cómo se diagnosticó y arregló.
MonteIA estrena su primer sistema RAG: búsqueda por palabras clave con BM25 (sin embeddings ni GPU) sobre 5 documentos reales del centro, elegidos a propósito por ser de interés general y no contener datos personales, dejando fuera a propósito los documentos sensibles de la carpeta de 75.










