Después de pensar sobre un kernel básico como posible proyecto de mi TFG, acabé desechando la idea ya que era demasiada ambiciosa para el contexto de un trabajo de fin de grado. Sin embargo, no quise renunciar por completo a la parte de sistemas, y ahí es donde se me ocurrió combinar el concepto de sistema de archivos con Inteligencia Artificial, una propuesta muy interesante y que tocaba dos áreas que me interesan bastante.
La idea se basa en un sistema de reorganización y reclasificación automática de ficheros en base a diferentes modelos de IA, que generan un sistema de archivos virtual con contexto semántico para cada uno de ellos. Cada archivo recibe un nombre generado por el modelo, una categoría semántica y unos atributos extendidos. Todo ello se basa en el sistema FUSE (File System in Userspace), un módulo de UNIX que permite construir espacios de almacenamiento virtual.
La IA es la base del sistema. Sin ella, no hay clasificación posible. Se usan dos modelos locales a través de Ollama: moondream para analizar imágenes y llama3.2 para texto. La combinación permite procesar formatos como PDF, DOCX, JPEG, JPG y PNG bajo el mismo flujo bajo respuestas unívocas y deterministas. Además se usa una base de datos para guardar los ficheros ya procesados.
El resultado es un sistema completamente local, sin conexiones externas, donde toda la información del usuario se procesa en su propia máquina. Esto era bastante importante para mí: garantizar la privacidad de los ficheros del usuario evitando hacer conexiones con servicios externos.
Qué hace
- Analiza el contenido interno de cada fichero con modelos de IA locales.
- Renombra automáticamente cada archivo con un título descriptivo.
- Lo reubica en un directorio semántico dentro del sistema virtual.
- Inyecta atributos extendidos consultables.
- Persiste todo en una base de datos SQLite para no reprocesar ficheros ya analizados.
Cómo está construido
- FUSE, como capa de virtualización del sistema de archivos, sin tocar los originales.
- Ollama, como motor local de IA, con dos modelos: moondream para imágenes y llama3.2 para texto.
- Pydantic, para validar que las respuestas del modelo cumplen el esquema JSON esperado.
- SQLite, como caché de persistencia para optimizar ejecuciones posteriores.
- Python, como lenguaje de implementación, con librerías pypdf y python-docx para extracción de contenido.
Ejemplo

Ejemplo de generación de un sistema de archivos virtual después de un procesamiento específico