PINSAPA da su primer paso más allá de responder: ahora puede preguntar. El “modo repaso” arranca sin ningún estado nuevo en el servidor — apoyado por completo en el historial de conversación que ya viaja en cada petición — y elige sus preguntas de fragmentos reales del corpus, no inventados. Confirmado funcionando en ROCKY.
httrack se cayó a mitad de la copia de seguridad del Moodle de Computación y Robótica, pero no todo se perdió: 77 páginas de contenido real, limpiadas del menú del curso que venía pegado en cada una, revisadas por privacidad y ya integradas en el corpus del RAG — con un pequeño añadido de arquitectura (soporte .txt) para que cupieran.
Añadir un corpus nuevo al RAG de PINSAPA —las programaciones didácticas del departamento— no ha necesitado ninguna decisión de arquitectura nueva: solo tres líneas en dos archivos. La prueba de que el diseño multi-corpus, pensado desde el principio para esto, funciona de verdad.
MonteIA cambia de nombre: sonaba a chalet, no a IA. Tras descartar AIDA (ya usado por varios asistentes reales) y Bermejía (significado inesperado en el diccionario), nace PINSAPA — por el pinsapo de Sierra Bermeja. Y con el nuevo nombre, la segunda herramienta real: PINSAPA ya consulta el tiempo de verdad, con la primera llamada de red saliente del proyecto hecha con cuidado.
Descartada la generación de imágenes, tocaba encontrar una primera “herramienta” real para MonteIA. En vez de function calling nativo (poco fiable con un modelo de 3B), una calculadora seg
ura: un paso en Python antes de hablar con el modelo, sin eval(), sin coste ni llamadas de red. La primera prueba real destapó un fallo — solo entendía símbolos, no “por” o “menos” — y así se quedó la versión corregida.
Un segundo endpoint para MonteIA, pensado para apps del alumnado: GET /preguntar_simple, llamado igual que la API de Gemini —una URL con parámetros, sin streaming, sin historial— para que un proyecto de Technovation pueda usar la IA propia del centro en vez de depender de un servicio externo que un día podría empezar a cobrar.
El primer piloto de asignatura de MonteIA: un corpus nuevo con apuntes propios de Computación y Robótica de 1º ESO, un rag.py que ya sabe leer .odt y .docx además de PDF, y un selector de “Tema” en la interfaz para elegir entre el centro y la asignatura.
Antes de meter ni un documento de Computación y Robótica en MonteIA, había que resolver algo más básico: rag.py solo sabía buscar en un sitio. Esta entrada es la parte de arquitectura —preparar el RAG para varios corpus independientes— sin ningún contenido de asignatura todavía, y probada contra los 42 documentos reales del centro para no romper nada de lo que ya funcionaba.
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.








