Método

Cómo funciona el enfoque de FuentIA.

El proyecto combina una arquitectura RAG con chunking optimizado, embeddings multilingües y un modelo de lenguaje servido en local. Cada decisión apunta al mismo objetivo: respuestas precisas, verificables y apoyadas en bibliografía del usuario.

Método

El problema que aborda

Los modelos generales de IA producen respuestas extensas y fluidas, pero no siempre verificables. En procesos de investigación, esta limitación se vuelve crítica.

Respuestas genéricas

Sin un corpus específico, la IA mezcla información general y no se ajusta al marco teórico del usuario ni a las fuentes que sustentan su investigación.

Alucinaciones

El modelo puede generar datos, citas o referencias que suenan correctos pero no existen. En contexto académico, esto compromete la integridad del trabajo.

Falta de trazabilidad

No es posible volver al documento original para verificar la información ni citarla con propiedad académica. La respuesta queda desconectada de su fuente.

La arquitectura RAG, paso a paso

Retrieval-Augmented Generation. El sistema no responde desde el conocimiento previo del modelo: primero recupera fragmentos relevantes de la bibliografía cargada y luego genera la respuesta apoyándose en ese contexto.

1. Ingesta de documentos

Los PDFs del corpus se procesan con pypdf y LangChain. El texto extraído se segmenta usando RecursiveCharacterTextSplitter, que respeta la estructura de párrafos y secciones del documento original.

2. Chunking

Cada documento se divide en fragmentos (chunks). El tamaño es clave: si son muy grandes pierden foco; si son muy chicos pierden contexto. Optimizar este equilibrio impacta directamente en la calidad de la recuperación.

3. Embeddings

Cada chunk se representa como un vector semántico usando paraphrase-multilingual-MiniLM-L12-v2, un modelo bilingüe español-inglés. Los vectores se almacenan en Qdrant, una base vectorial que corre en local.

4. Recuperación por similitud

Cuando el usuario pregunta algo, el sistema busca los chunks más cercanos al sentido semántico de la consulta, no solo a las palabras exactas. Esto permite encontrar pasajes relevantes aunque usen vocabulario distinto al de la pregunta.

5. Generación de respuesta

El modelo Mistral 7B, servido vía Ollama, recibe la consulta del usuario junto con los chunks recuperados y formula la respuesta usando solo esa información como contexto.

6. Trazabilidad

Cada respuesta muestra los fragmentos exactos que la sustentan. El usuario puede volver al documento original, verificar el contexto y citar con propiedad académica.

Por qué importa el chunking

El chunking no es un detalle técnico: es lo que determina si el sistema recupera información útil o irrelevante.

Equilibrio entre foco y contexto

Chunks demasiado grandes incluyen ruido: el modelo recibe varios temas mezclados y no puede focalizar la respuesta. Chunks demasiado pequeños pierden el contexto: un párrafo aislado puede ser ambiguo sin las oraciones que lo rodean.

Segmentación que respeta la estructura

El sistema no parte arbitrariamente por número de caracteres: usa segmentación recursiva que prioriza saltos naturales (párrafos, oraciones), y solo cuando no encuentra estos, recurre al corte por longitud máxima.

Ventana de contexto ampliada

Durante el desarrollo se ajustó la ventana de contexto del modelo a 8192 tokens y se aumentó la cantidad de chunks recuperados de 5 a 8, lo que mejoró notablemente la coherencia de las respuestas.

Filtro de relevancia

Se incorporó un score mínimo para descartar fragmentos poco pertinentes antes de enviarlos al modelo. Las respuestas se apoyan solo en chunks con alta similitud semántica respecto a la consulta.

Por qué entorno local

FuentIA corre íntegramente offline, sin depender de APIs externas. Esta decisión tiene tres dimensiones: técnica, pedagógica y ética.

Técnica

Autonomía operativa

El sistema no depende de conectividad ni de servicios de terceros. Funciona en cualquier máquina con recursos mínimos para ejecutar Ollama y Qdrant.

Pedagógica

Bibliografía priorizada

El usuario carga su propio corpus y decide qué fuentes usar. El sistema se adapta al marco teórico de cada investigación, no al revés.

Ética

Privacidad de datos

Los documentos académicos no salen del entorno local. El capital intelectual del investigador y los materiales en proceso quedan protegidos.

Prompt engineering iterativo

El sistema no se construyó con una sola instrucción al modelo. A lo largo del desarrollo, el prompt fue refinándose en seis iteraciones documentadas.

De lo general a lo específico

El prompt inicial era simple: "usá únicamente esta información para responder". Las iteraciones siguientes especificaron rol del modelo, idioma de salida, tratamiento de fuentes y respuesta segura cuando la información no estaba en el corpus.

Restricción explícita del contexto

La versión final incluye: "Basate ÚNICAMENTE en el contexto proporcionado. Si la información no está, decí: no encontré información sobre eso en los documentos". Esta restricción reduce drásticamente las alucinaciones.

Calidad de la pregunta del usuario

Las pruebas mostraron que no solo el prompt general importa: la formulación de la consulta del usuario también afecta la recuperación. Una pregunta clara y delimitada recupera chunks más pertinentes.

Visualización de fuentes

Una iteración importante fue corregir cómo se mostraban las fuentes en la interfaz. La trazabilidad no se declara: se construye visualmente, donde el usuario pueda hacer clic y verificar.

Resultado del método

Una herramienta de consulta bibliográfica que combina automatización con rigor académico.

El método de FuentIA muestra que no alcanza con usar un modelo de lenguaje: también es necesario trabajar sobre la calidad de la ingesta, la segmentación, la recuperación de contexto, la formulación de prompts y la visualización transparente de fuentes. El valor del sistema no está en producir textos extensos, sino en asistir de manera más controlada y verificable el trabajo de investigación, reduciendo alucinaciones y priorizando la bibliografía acotada que el usuario decide cargar.

Apoyo visual. Para ver el método explicado con imágenes, pasá por la animación del proyecto: usa metáforas como cristales, escudos y láseres para representar la arquitectura RAG. También podés consultar la documentación completa del texto con las 6 iteraciones de prueba.
💬