Blog sobre educación

Categoría: Software libre (Página 1 de 3)

EdiMarkWeb: escribir en Markdown y convertir a cualquier formato

Escribir un documento y entregarlo suelen ser dos problemas distintos. El primero se resuelve con cualquier procesador de textos; el segundo aparece cuando el material tiene fórmulas, cuando hay que enviarlo en Word a un departamento y en PDF al alumnado, o cuando lo que se quiere es publicarlo como página web. Entonces empiezan las conversiones, y con ellas la pérdida de tiempo y de formato.

EdiMarkWeb es un editor de Markdown pensado para ese trabajo: se escribe una sola vez, o se pega directamente lo que ha respondido un chatbot, se ve el resultado mientras se escribe y se exporta a DOCX, ODT, EPUB, HTML, LaTeX o PDF según convenga. Funciona en el navegador, sin instalar nada, y también como aplicación de escritorio para Linux, Windows y macOS. En los dos casos el documento no sale del equipo: no hay cuentas, ni servidores, ni subida de archivos a ningún sitio.

Pódcast del artículo realizado por Gemini Notebook

Un editor de Markdown, y poco más que aprender

Markdown es texto normal con unas pocas marcas: almohadillas para los encabezados, asteriscos para la negrita, guiones para las listas. Se aprende en diez minutos y tiene una ventaja que no se aprecia hasta que se sufre lo contrario: el archivo es texto plano, así que se abre en cualquier ordenador, dentro de veinte años, sin depender de la versión del programa con que se escribió.

La pantalla se divide en dos paneles. A la izquierda se escribe, a la derecha aparece el resultado. Los dos están sincronizados y los dos se pueden editar, de modo que se puede corregir sobre el texto acabado, como en un procesador, y ver cómo cambia el Markdown de la izquierda.

La barra de herramientas cubre lo habitual (encabezados, listas, citas, enlaces, imágenes, que se pueden traer de un archivo, del portapapeles o por su dirección web, tablas, bloques de código) para quien no quiera recordar las marcas, y hay atajos de teclado para casi todo. Los documentos se organizan en pestañas, cada una con su archivo, y se guardan solas: si se cierra el navegador por accidente, al volver está todo. Y si queda algo sin guardar, avisa antes de cerrar la pestaña.

Las fórmulas

Las fórmulas se escriben en LaTeX entre delimitadores: $...$ para las que van dentro de una línea y $$...$$ para las que van aparte. El menú Fórmulas los inserta sin tener que recordarlos, y la vista previa las compone al momento con KaTeX, mientras se escribe.

Quien no domine la sintaxis tiene al lado el botón Editor, que abre EdiCuaTeX, un editor visual de ecuaciones: se elige el elemento de una galería ordenada por temas (fracciones, integrales, matrices, sistemas, símbolos griegos), se ve el resultado al instante y la fórmula pasa al documento.

Guardar en un documento lo que responde la IA

Esta es la función con la que nació el programa y sigue siendo la más utilizada. Quien haya intentado llevarse a un documento la respuesta de un chatbot conoce el problema: se pulsa el botón para copiar el chat, se pega en el procesador y lo que aparece es un desorden de asteriscos y almohadillas. Con las fórmulas es peor, porque llegan como el código que son, \frac{-b \pm \sqrt{b^{2}-4ac}}{2a}, y no como fórmulas. El material está bien, pero no hay forma de entregarlo así.

La causa es que las inteligencias artificiales responden en Markdown, con las fórmulas escritas en LaTeX. Es su formato nativo, aunque el chat lo presente ya compuesto. Al copiar, lo que viaja son las marcas, y el procesador de textos no sabe qué hacer con ellas.

EdiMarkWeb sí lo sabe. Se copia la respuesta del chat, se pega en el panel izquierdo y en el derecho aparece el documento terminado: los encabezados como encabezados, las listas como listas, las tablas como tablas y las fórmulas compuestas. De ahí sale ya un DOCX, un ODT o un PDF listos para entregar. 

El pegado admite algo más que texto plano. El botón Pegar de la barra de herramientas, o el habitual Ctrl+V, reconoce también el contenido enriquecido que se copia de una página web o de un documento de Word, y lo convierte a Markdown, así como las imágenes copiadas al portapapeles, que quedan incrustadas en el documento. Y para las respuestas que vienen en LaTeX completo, con su preámbulo y su \begin{document}, está Archivo → Pegar LaTeX (Ctrl+Mayús+V), que las convierte en un documento editable.

Conviene subrayar lo que esto significa en la práctica: la conversación con la IA deja de ser algo que se pierde en el chat y se convierte en material de trabajo (los ejercicios resueltos, el examen, los apuntes de un tema) guardado en un archivo propio, en el ordenador, y en el formato que haga falta.

Los formatos, que es lo importante

Un editor de Markdown hay muchos. Lo que distingue a EdiMarkWeb es lo que entra y lo que sale por sus dos extremos.

Lo que entra. Además de los archivos Markdown, se pueden abrir documentos de Word (.docx), de LibreOffice (.odt), libros digitales (.epub), páginas web (.html) y documentos LaTeX (.tex), que se convierten a Markdown al abrirlos. Las imágenes de los DOCX, ODT y EPUB se extraen del propio archivo y quedan incrustadas en el documento, de modo que no se pierden, y de un EPUB vuelve además el idioma, que el libro guarda en su envoltorio y no en el texto. Los archivos se pueden arrastrar sobre la ventana, incluso carpetas enteras: cada documento compatible se abre en su pestaña y lo demás se ignora.

Lo que sale. Del mismo documento se obtiene un DOCX para quien trabaja con Word, un ODT para LibreOffice, un EPUB que se lee en cualquier lector de libros electrónicos, una página web autónoma (con los estilos y las fórmulas dentro del propio archivo, lista para subir a un servidor) o un .tex preparado para compilar. Y el PDF, que es la sexta salida del menú: abre el diálogo de impresión del sistema, donde se elige «Guardar como PDF» como destino. Lo que sale es exactamente lo que se ve en la vista previa, con las fórmulas compuestas y los márgenes del documento, y con el texto seleccionable y buscable.

Y lo que no llega a ser archivo. Junto a Exportar hay un botón de copiar que hace lo mismo con otro destino, el portapapeles, y ofrece cuatro formatos: Markdown, HTML, LaTeX y LaTeX completo. El útil para el trabajo diario es el HTML, porque pega el documento con su formato en Word, LibreOffice, Google Docs o el correo, con los encabezados, las negritas, las listas y las tablas ya compuestos, sin pasar por ningún archivo intermedio. Dos advertencias: las fórmulas se pegan como texto, así que para llevarlas como ecuaciones hay que exportar a DOCX u ODT, y las imágenes solo viajan si están incrustadas en el documento.

Conviene detenerse en un detalle que suele dar problemas: el idioma. Cada documento puede llevar el suyo, guardado dentro del propio archivo, y todos los formatos de salida lo declaran. Eso es lo que evita que Word y LibreOffice subrayen en rojo un texto castellano por corregirlo en inglés, y lo que hace que LaTeX parta bien las palabras.

El resto de decisiones de exportación están reunidas en un único sitio, en Configuración → Opciones de exportación…: el autor, el índice automático, la numeración de los apartados, la portada del EPUB, el formato del texto y, para quien use LaTeX, la clase del documento, sus opciones y un preámbulo propio que se reutiliza en cada exportación.

El formato del texto merece un párrafo aparte, porque es lo que obliga a retocar el documento una vez exportado: la alineación, el tipo y el tamaño de letra, el interlineado, los márgenes de los cuatro lados, la sangría de primera línea y la partición de palabras con guion. Se aplica a la vista previa y a todos los formatos de salida, de modo que el DOCX y el ODT salen ya con la caja y la tipografía que se quieren, y no hay que repasarlos en el procesador de textos.

Y no hace falta que todos los documentos compartan esos ajustes. Cada uno puede llevar los suyos, junto con su idioma, su autor y su decisión sobre el índice y la numeración, en el cuadro Este documento, que se abre desde el propio panel del texto. Se guardan dentro del archivo, en unas líneas de metadatos al principio, así que viajan con él: un manual quiere índice numerado y una nota de dos párrafos no, y cada uno lo lleva escrito.

En el navegador o instalado

La versión web no necesita instalación y basta para la mayoría de los casos. La aplicación de escritorio, para Linux, Windows y macOS, es la misma (los mismos menús, los mismos atajos, los mismos formatos) y añade lo que solo puede hacer un programa instalado: abrir los archivos .md con doble clic, guardar sobre el documento original sin pasar por la carpeta de descargas, usar el corrector ortográfico del sistema y funcionar sin conexión, porque lleva dentro las herramientas de conversión. También avisa cuando hay una versión nueva y la instala.

En el navegador, con todo, guardar ha dejado de ser una descarga: Chrome y Edge abren el diálogo del sistema para elegir el nombre y la carpeta, y recuerdan el archivo, así que la siguiente vez Ctrl+S escribe encima como en la aplicación de escritorio. Firefox todavía no admite esa forma de guardar y sigue descargando el archivo.

EdiMarkWeb es software libre, con licencia AGPL v3, y su código está en GitHub, junto con los instaladores de la aplicación de escritorio y el manual de uso, disponible también dentro del programa con Ctrl+H.

Para qué sirve en la práctica

El destinatario natural es el profesorado que prepara materiales con fórmulas y los tiene que entregar en formatos distintos: los apuntes en PDF, el examen en Word para el departamento, la misma unidad convertida en página web para el aula virtual y, si se quiere, en libro digital para leerlo en una tableta. Todo eso sale de un único archivo de texto que se puede corregir el curso que viene sin volver a maquetar nada.

Y sirve, también, para lo contrario: recuperar el material que ya existe. Un documento de Word de hace años se abre aquí, se convierte en texto limpio y vuelve a salir por donde haga falta. O para lo que hoy hace más falta: quedarse con lo que ha respondido la inteligencia artificial, en un archivo propio y en un formato que se pueda entregar.

Nota: Este artículo tiene nivel 5 en el Marco para la integración de la IA generativa.

Convertir una imagen o PDF en una ficha interactiva hablando con la IA

Hacer una ficha interactiva a partir de un PDF tiene dos partes. Una es decidir qué se pregunta. La otra es colocar los campos: abrir el documento, dibujar una caja encima de cada línea de puntos, ajustar el tamaño, escribir la solución, repetirlo veinte veces y descubrir al final que un campo tapa el enunciado siguiente.

Desde la versión 1.29, OpenWorksheets puede hacer ese trabajo por nosotros. No con un botón dentro de la aplicación, sino desde la conversación con la inteligencia artificial que ya usemos: se le dice dónde está el PDF y ella lo abre, lee la página, coloca los campos donde tocan, mira cómo ha quedado y guarda la ficha lista para abrir en el editor. Y no solo convertir: si no partimos de ningún documento, podemos pedirle la ficha entera sobre un tema, y la escribe sobre hojas en blanco.

«Convierte en ficha interactiva de OpenWorksheets este PDF: energia.pdf»

Este artículo explica qué es lo que hace posible eso (un servidor MCP), qué se le puede pedir, qué hace falta para instalarlo y, sobre todo, dónde están sus límites, que los tiene.

Pódcast del artículo realizado por Gemini Notebook

Qué es un servidor MCP

Una IA de las de conversar sabe redactar preguntas, pero no puede abrir un archivo de nuestro disco ni escribir uno. Vive dentro de su ventana de chat. El MCP (Model Context Protocol, «protocolo de contexto del modelo») es el estándar que le da manos: un programa pequeño que se instala en el ordenador y le ofrece a la IA una lista de operaciones concretas que puede ejecutar.

El servidor MCP de OpenWorksheets ofrece las operaciones propias para fabricar una ficha: abrir un PDF, leer el texto de una página con las coordenadas de cada línea, colocar campos de respuesta, tapar una zona, ver el resultado y guardar el paquete .owpkg. La IA decide qué preguntar y dónde ponerlo; el servidor hace el trabajo material y le dice cuándo se está equivocando.

Que sea un programa local tiene una consecuencia práctica: el archivo no se sube a ningún servicio. El PDF se abre en nuestro ordenador, las páginas se dibujan ahí y la ficha se guarda ahí, sin pasar por ninguna web de conversión.

Conviene no confundir eso con privacidad total, porque no lo es. La IA con la que hablamos sí ve el contenido: para colocar los campos necesita el texto de las páginas, y para comprobar el resultado necesita mirar la imagen de la ficha. Ambas cosas viajan a los servidores de quien preste el servicio (Anthropic, OpenAI, Google, etc.), igual que si pegásemos el documento en el chat. Con datos personales del alumnado, o con material que no deba salir del centro, hay que tenerlo presente. La única forma de que no salga nada es usar un modelo que corra en el propio ordenador, con LM Studio, aunque de momento lo usa muy poca gente, sobre todo porque necesita de un ordenador muy potente para poder funcionar de forma fluida.

Formas de hacer una ficha

Sobre un documento propio. Es el caso para el que nació. Partimos de un PDF o de una imagen (un examen antiguo, una ficha fotocopiada, un esquema) y los campos se colocan encima, cada uno en su sitio, respetando el diseño original. El alumnado ve el documento de siempre, pero relleno de huecos que podrá completar y que se corrigen solos.

Desde cero, sobre hojas en blanco. Le decimos el tema, el nivel y cuántos ejercicios, y la ficha se escribe entera: enunciado, campo de respuesta, separación y salto de página cuando hace falta. Es lo mismo que ya permitía la opción Crear una ficha con IA de la aplicación, la de copiar un prompt y pegar la respuesta, pero sin copiar ni pegar nada y con una diferencia importante: el servidor valida el formato sobre la marcha, así que si algo viene mal, la IA se entera al momento y lo corrige, en lugar de entregarnos un archivo que no abre.

Las dos formas se mezclan: se puede partir de un PDF y añadir al final tres preguntas nuevas sobre hoja en blanco.

La vista previa es lo que lo hace fiable

Una IA colocando cajas sobre una página, a ciegas, se puede equivocar. Si pone el campo dos centímetros por debajo de donde iba, tapa media palabra del enunciado, deja a la vista la solución impresa en el margen. Por eso el paso importante no es colocar, sino comprobar: el servidor monta la página con el mismo visor que verá el alumnado y le devuelve a la IA una captura de cómo ha quedado, con el contorno y el número de cada campo dibujados encima. Con esa imagen delante, la IA corrige lo que esté desplazado antes de guardar nada.

Qué se le puede pedir

Todo en lenguaje normal, en la conversación, sin tocar la aplicación:

  • «Convierte en ficha interactiva de OpenWorksheets este PDF»
  • «Crea una ficha interactiva de OpenWorksheets con 10 ejercicios y nivel de 1.º de ESO sobre la célula»
  • «El ejercicio 5 prefiero que lo cambies por una pregunta de respuesta múltiple, en lugar de verdadero o falso»
  • «Tapa las soluciones que están impresas al pie de la página»
  • «Enséñame la página 3 antes de guardar»

Los tipos de campo que sabe colocar son casi todos: respuesta corta, numérica, fórmula, respuesta larga, opción única y múltiple, desplegable, verdadero/falso, huecos en el texto, huecos dibujados sobre el documento, casillas, tabla editable, emparejar, ordenar, arrastrar a zonas y grabación de voz.

Qué hace falta

1. Una IA instalada en el ordenador. Esto no se puede hacer desde la web de ChatGPT, de Claude ni de Gemini: el navegador no puede instalar ni ejecutar nada en nuestro equipo. Hacen falta las aplicaciones de escritorio o herramientas de terminal como Claude Code o Codex CLI. Y en las aplicaciones de escritorio de ChatGPT y de Claude no vale el chat de siempre: hay que pedírselo desde su pestaña de código (Codex en ChatGPT, Claude Code en Claude), que es la parte que puede trabajar con archivos y programas. También sirven LM Studio, Antigravity, Cursor y VS Code.

2. Node.js 18 o superior y un navegador basado en Chromium (Chrome, Chromium o Edge). Node es lo que ejecuta el servidor; el navegador, que trabaja sin abrirse ni verse, es lo que dibuja las páginas del PDF y monta la vista previa. Es probable que ya estén instalados; si falta alguno, la propia IA puede encargarse de instalarlo o guiarnos en el proceso.

3. El servidor, instalado una sola vez. Hay que destacar que no lo instalamos nosotros, lo instala la IA. En el editor de OpenWorksheets, en Archivo → Crear o convertir fichas con IA (MCP), hay un prompt para copiar y pegarle en su chat. Ella descarga la carpeta, la registra en su propia configuración y comprueba que responde. Claude Code, Codex CLI, la aplicación de escritorio de ChatGPT, Antigravity, Cursor y VS Code lo pueden hacer; LM Studio no puede tocar su configuración, así que al final nos dará escrito el texto que hay que pegar y nos dirá en qué archivo va. Aunque si tenemos alguna de las IA anteriores, le podemos decir que nos lo instale en LM Studio.

Para actualizarlo, hacemos lo mismo, escribimos en el chat: «Actualiza el servidor MCP de OpenWorksheets a la última versión y dime en cuál se ha quedado».

Límites que conviene conocer antes de empezar

Un PDF escaneado da mucho más trabajo. Si la página es una fotografía, sin capa de texto, no hay coordenadas que leer y la IA tiene que colocar los campos mirando la imagen y afinando por aproximación. Sale, pero cuesta varias vueltas. Con un PDF generado desde un procesador de textos, en cambio, es más sencillo.

Las respuestas las propone la IA. En preguntas cerradas suele acertar; en las abiertas, y en cualquier cosa que dependa de un criterio nuestro, hay que revisar la ficha antes de repartirla. La ficha se abre en el editor como cualquier otra y podremos corregir lo que haga falta.

No sustituye al editor, lo alimenta. Lo que devuelve la IA es un .owpkg normal, que se abre en OpenWorksheets, se retoca, se le puede modificar la puntuación y las opciones de corrección, y se comparte como siempre.

Para qué sirve esto realmente

El cuello de botella de las fichas interactivas nunca ha sido la falta de material: el profesorado tiene carpetas llenas de PDF buenos. El cuello de botella es el rato de trabajo mecánico que separa ese PDF del material interactivo, y que hace que muchos no lleguen a dar el paso. Eso es exactamente lo que esto quita de en medio.

Con la ventaja de que no cambia el resto: la ficha resultante es una ficha de OpenWorksheets como cualquier otra, sin cuentas, sin servidores, sin depender de ninguna plataforma.

El servidor es software libre y vive en la carpeta mcp/ del repositorio, con su documentación completa.

Nota: Este artículo tiene nivel 4 en el Marco para la integración de la IA generativa.

Cómo preguntar a la IA sobre tus documentos: un Gemini Notebook en tu propio ordenador

Cualquier persona que trabaje con documentación acumula un fondo de textos que consulta una y otra vez: normativa, actas, memorias, apuntes, artículos. Preguntarle a una inteligencia artificial sobre ese material choca siempre con el mismo muro: hay que subirlo a algún sitio, o pegarlo en la conversación, o confiar en que el modelo lo recuerde de su entrenamiento, cosa que no ocurre.

Este artículo explica qué es un RAG (Retrieval Augmented Generation, en español «generación aumentada por recuperación»), qué es el protocolo MCP (Model Context Protocol, en español «protocolo de contexto del modelo») que hace posible esa conexión, cómo funciona el conjunto y cómo montarlo sin escribir una línea de código.

Si solo quieres las instrucciones, ve directamente a la guía rápida del final: reúne las tres que hacen falta, listas para copiar y pegar. El resto del artículo explica qué hace cada una y por qué, que es lo que permite juzgar si el resultado es bueno.

El código está publicado: el sistema completo que se describe aquí, con un fondo documental de ejemplo ya indexado, está en github.com/jjdeharo/cuadernos-rag, con licencia libre. Quien prefiera verlo antes de leer nada más, puede empezar por ahí.

Pódcast del artículo realizado por Gemini Notebook

Qué es un RAG

Un buscador colocado delante de una inteligencia artificial.

Un modelo de lenguaje, que es el programa que hay detrás de ChatGPT, Claude o Gemini, no puede leer mil páginas cada vez que recibe una pregunta porque no caben en una consulta y, aunque lo hiciese, resultaría lento y costoso. Lo que hace un RAG es localizar primero los pocos fragmentos que hacen falta para responder a esa pregunta concreta, y entregar solo eso. El modelo no aprende los documentos ni los memoriza: los consulta, como haría cualquiera con un libro delante, e indica de dónde ha salido cada afirmación.

La consecuencia práctica es doble. Por un lado, deja de haber límite de volumen: da igual que el fondo documental sean quinientas páginas o veinte mil, porque en cada consulta solo viajan unos pocos fragmentos. Por otro, y más importante, cada respuesta puede citar su fuente. En materia normativa o técnica, una respuesta sin fuente no tiene ningún valor.

Qué es el MCP

Un RAG, por sí solo, es una herramienta de línea de comandos: se le hace una pregunta y devuelve fragmentos. Útil, pero incómodo.

MCP son las siglas de Model Context Protocol, un estándar abierto propuesto por Anthropic a finales de 2024 y adoptado después por los demás asistentes. Resuelve un problema muy concreto: cómo permitir que una IA use herramientas externas sin que haya que programar una integración distinta para cada combinación de herramienta y asistente. Con MCP, quien construye la herramienta la describe una sola vez, y cualquier asistente compatible sabe cómo usarla.

Aplicado a un RAG, el cambio es importante, ya que en lugar de ejecutar búsquedas a mano y pegar los resultados en una conversación, el asistente busca por su cuenta, tantas veces como necesite. Ante una pregunta que cruza tres documentos distintos, hace tres búsquedas con vocabulario distinto, compara lo que encuentra y responde citando cada fuente. El fondo documental deja de ser un archivo aparte y pasa a estar dentro de la conversación.

Un servidor MCP no es más que un programa que declara qué sabe hacer. En el caso de un RAG documental, cuatro operaciones bastan: buscar pasajes, listar los documentos disponibles, ampliar el contexto de un pasaje concreto y recorrer un documento entero. El asistente decide cuándo usar cada una.

Conviene añadir una instrucción que gobierne su uso, porque sin ella el asistente tenderá a responder de memoria. Basta con una regla explícita: no afirmar nada que no proceda de una búsqueda, buscar varias veces reformulando con el vocabulario propio de cada fuente, citar siempre el identificador del pasaje, y decir con claridad cuándo el fondo documental no cubre la pregunta.

Cómo funciona por dentro

Son cuatro piezas, y solo la última tiene que ver con la inteligencia artificial tal y como la entiende la mayoría.

Convertir a texto. PDF, páginas web, documentos de Word, audio transcrito: todo tiene que acabar siendo texto plano. Un PDF no guarda un texto, guarda dónde va cada letra en la página; al leerlo hay que reconstruir el orden, y en tablas o en textos a dos columnas se falla a menudo. Es la pieza menos vistosa y la que estropea el resultado con más frecuencia.

Trocear. Consiste en partir cada documento en fragmentos manejables y, aunque parezca un detalle de poca importancia, es lo que más determina la calidad final. Un troceado rudimentario corta cada mil palabras sin atender a dónde cae el corte, mientras que uno cuidadoso respeta la estructura del texto: en una norma, por ejemplo, un fragmento por artículo. La diferencia se aprecia en cuanto se formula una consulta concreta, porque en el primer caso llega un trozo que empieza a mitad de un artículo y se interrumpe antes de acabar el siguiente, mientras que en el segundo llega el artículo completo, con su título.

Convertir cada fragmento en números. De esto no se encarga un asistente de los que conversan, sino un programa mucho más pequeño, entrenado para una sola tarea: no redacta ni responde nada, solo lee un texto y devuelve números. A cada fragmento le asigna una lista de más de mil números que funciona como unas coordenadas: igual que una latitud y una longitud sitúan un lugar en un mapa, esos números sitúan el fragmento en un espacio donde la posición depende del significado. Los textos que hablan de lo mismo quedan cerca unos de otros, aunque estén escritos con palabras distintas; los que hablan de cosas diferentes quedan lejos.

A partir de ahí, buscar deja de ser comparar palabras y pasa a ser medir distancias. La pregunta se convierte también en un punto de ese mapa, y el sistema devuelve los fragmentos que han quedado más cerca. Por eso una consulta como «¿cuánta gente hace falta para que la reunión sea válida?» encuentra un párrafo que habla del «quorum de constitución», sin que compartan una sola palabra.

Buscar y citar. La búsqueda por significado es muy eficaz y tiene un punto ciego: los nombres propios y las referencias exactas. Ante una consulta por un artículo numerado o por unas siglas, falla, porque esas expresiones no significan nada, solo nombran. Por eso se hacen dos búsquedas a la vez (la de significado y la literal, por palabras) y se combinan los resultados. Después, un segundo modelo igual de mudo, llamado reranker, relee los mejores candidatos junto a la pregunta y los reordena. De ahí salen los fragmentos que se entregan al asistente, cada uno con su procedencia.

Todo esto ocurre en el propio ordenador, y conviene distinguir las tres piezas que intervienen, porque en la jerga a las tres se las llama «modelos» y no son lo mismo:

  • El conversor a números, o modelo de embeddings, que traduce cada fragmento a su lista de coordenadas. Ocupa unos dos gigabytes.
  • El reordenador, o reranker, que afina la lista de candidatos que ha devuelto la búsqueda. Ocupa algo más de uno.
  • El asistente, Claude, ChatGPT, Gemini, que es el que redacta la respuesta final.

Los dos primeros viven en el disco, se descargan una vez y funcionan sin conexión y sin coste. Mientras se consulta, además, se cargan en memoria: conviene tener unos cuatro gigabytes de RAM libres, aparte de los tres y medio que ocupan en el disco. Es un gasto que solo dura lo que dura la consulta, porque un sistema bien montado los suelta cuando pasan unos minutos sin preguntas. No conversan ni generan texto: entra un texto y sale un resultado numérico. Solo el tercero es lo que la mayoría llama «una IA», y no ve el fondo documental entero, sino los pocos fragmentos que la búsqueda le pone delante. Ningún documento sale del equipo.

Cómo montarlo sin saber programar

Hacen falta dos cosas: los documentos y un asistente que trabaje dentro del ordenador, con permiso para escribir programas y ejecutarlos. Hoy hay tres opciones equivalentes, y todas están disponibles tanto en el terminal como en una aplicación de escritorio, para quien prefiera no escribir órdenes:

  • Claude, de Anthropic: la orden claude en el terminal, o la aplicación de escritorio, que reúne tres modos: conversación, Claude Code y Cowork.
  • Codex, de OpenAI: la orden codex en el terminal, o su aplicación de escritorio, disponible para macOS, Windows y Linux.
  • Antigravity, de Google: un entorno de escritorio propio y la orden agy en el terminal, que desde junio de 2026 sustituye al anterior Gemini CLI.

Cualquiera de ellas sirve, y se instalan en un minuto. Lo único que importa es que el asistente pueda leer y escribir ficheros en las carpetas del equipo y ejecutar órdenes en él.

Esas tres son las que montan el sistema, y para eso conviene un modelo potente. Pero una vez montado, quien lo consulta a diario puede ser otro, y ahí entra una cuarta posibilidad: un modelo instalado en el propio ordenador. LM Studio es el camino sencillo, una aplicación de escritorio para Windows, macOS y Linux con una tienda de modelos integrada, que además reconoce el servidor del RAG igual que lo haría cualquier asistente comercial. llama.cpp es la alternativa para quien no quiera aplicación gráfica, con algo más de soltura técnica a cambio.

Merece la pena por una razón concreta. Con un asistente comercial, los documentos no salen del equipo, pero los pocos fragmentos que la búsqueda selecciona viajan con cada pregunta. Para normativa pública da igual; para un expediente o unas actas con nombres propios, no. Con un modelo local no sale nada: ni los documentos, ni los fragmentos, ni las preguntas. El precio es real, eso sí: sin una tarjeta gráfica potente, la respuesta tarda decenas de segundos, y los modelos que caben en un ordenador corriente citan con menos rigor. Para material sensible compensa; para material público, el asistente de siempre responde mejor y antes.

Conviene comprobar un detalle en las modalidades que trabajan dentro de una máquina virtual aislada, como el modo Cowork: si esa máquina es remota, los documentos salen del ordenador, que es justo lo que se pretendía evitar. Las versiones que operan directamente sobre las carpetas locales no plantean ese problema.

A partir de ahí basta con encargar el trabajo. La instrucción que sigue está escrita para el asistente, no para quien la copia: no hace falta entender cada línea, porque cada una le pide una decisión técnica concreta y le impide tomar el atajo de cobrar por el servicio o de subir el material a algún sitio.

Quiero poder preguntarte sobre mis documentos sin que
salgan de mi ordenador. Móntame un RAG local.

Pregúntame dónde están los documentos y decide tú
dónde conviene instalar todo lo demás.

- Todo en local y gratis: embeddings con fastembed
  (multilingual-e5-large) y un reranker multilingüe.
- Índice en SQLite con sqlite-vec y FTS5, búsqueda
  híbrida (significado + palabras exactas) fusionada
  con RRF.
- Trocea respetando la estructura del documento
  (artículos, apartados) y limpia las palabras que
  los PDF parten al maquetar.
- Cada respuesta debe citar documento y artículo.
- Móntalo como servidor MCP, para poder consultarlo
  en lenguaje natural.
- Los dos modelos ocupan más de tres gigabytes en
  memoria y habrá un proceso del servidor por cada
  programa conectado: cárgalos solo en la primera
  búsqueda y suéltalos tras unos minutos sin usarse.
- Que el indexado sea incremental: añadir un
  documento no puede obligar a rehacerlo todo.

Antes de ponerte, mira qué documentos hay y explícame
en lenguaje llano cómo piensas partirlos y por qué.
Si algo de lo que te pido no encaja con este material,
dímelo y propón otra cosa.

Esa última petición es la más importante de todas, y conviene no saltársela: obliga al asistente a enseñar cómo piensa partir los documentos antes de ponerse a trabajar, que es donde se decide casi todo. Basta con leer su propuesta y comprobar que respeta la estructura del material (los artículos de una norma, los puntos del orden del día de un acta, los capítulos de un informe) en lugar de cortar cada tantas palabras.

Las tres condiciones finales también merecen explicación. La de las citas separa una herramienta de consulta de un generador de respuestas plausibles. La de la memoria evita el descuido más caro de todos: un servidor que carga los dos modelos nada más arrancar y se queda con tres gigabytes ocupados aunque nadie pregunte nada, multiplicado por cada programa que lo tenga conectado. Y la del indexado incremental evita un error frecuente: una primera versión que rehace el trabajo entero cada vez que se añade o corrige un documento, con tres cuartos de hora de cálculo en cada ocasión.

La alternativa a construirlo desde cero es partir de algo que ya funciona. El código de un sistema así, con todo lo descrito, está publicado en github.com/jjdeharo/cuadernos-rag bajo licencia libre. Incluye, a modo de ejemplo, un fondo documental de quince normas y guías sobre uso ético y legal de la IA en educación (el RGPD, la LOPDGDD, el reglamento europeo de inteligencia artificial, guías de la Agencia Española de Protección de Datos, marcos de la UNESCO), ya indexado y listo para consultar. Ese ejemplo concreto importa poco: lo aprovechable es la estructura, que sirve igual para actas municipales, bibliografía académica o documentación técnica de una empresa.

Añadir nuevos cuadernos

Esta es la parte que suele quedar sin explicar, y es la que convierte un experimento en una herramienta de uso diario.

Quien viene de Gemini Notebook está acostumbrado a tener un cuaderno por tema: uno de normativa, otro de actas, otro con la bibliografía de un curso. Aquí funciona igual, y con una ventaja: lo que ocupa espacio, que son los programas y los dos modelos, más de tres gigabytes, se instala una sola vez y lo comparten todos los cuadernos. Cada tema nuevo añade únicamente sus documentos y su índice, unos pocos megabytes. No hay límite de cuadernos ni cuota que agotar.

Crear uno nuevo no exige tocar nada por dentro: basta con pedírselo al asistente en la misma conversación de siempre, indicando dónde están los documentos y qué nombre quieres darle. Él prepara la carpeta, convierte los PDF a texto, repara las palabras que la maquetación parte con guiones, descarta lo que no sea texto aprovechable y construye el índice. Un cuaderno de unos cuantos PDF está listo en unos minutos.

La instrucción, otra vez escrita para el asistente y no para quien la copia:

Ya tengo montado el RAG. Quiero un cuaderno nuevo,
aparte del que ya existe.

Los documentos están en <carpeta>. Llámalo <nombre>.

- Aprovecha lo que ya está instalado: los programas,
  el entorno y los dos modelos. No descargues ni
  instales nada otra vez.
- El cuaderno nuevo va aparte: sus documentos y su
  índice, sin tocar los del anterior.
- Trocea y limpia igual que en el primero.
- Déjalo accesible desde el mismo servidor MCP, para
  poder preguntar por su nombre.

Antes de empezar, dime qué documentos has encontrado
y cómo piensas partirlos.

Lo importante es la primera condición. Sin ella, el asistente puede ponerse a instalarlo todo de nuevo, con otra copia de los modelos, y el ordenador acaba con tres gigabytes repetidos por cada cuaderno.

Añadir documentos a un cuaderno que ya existe es todavía más simple: se dejan los ficheros nuevos y se pide que lo actualice. Aquí importa una de las condiciones que se le exigieron al montarlo, la del indexado incremental: el sistema guarda una huella de cada documento y solo procesa los que han cambiado, así que incorporar un PDF cuesta el tiempo de ese PDF, alrededor de un minuto por cada cien mil caracteres, y no el del fondo entero. Sin esa condición, añadir una circular de dos folios obligaría a rehacerlo todo.

Al preguntar, con un solo cuaderno no hace falta decir cuál; con varios, se nombra el que interesa. El asistente los ve todos y, si la pregunta lo pide, puede buscar en el que corresponda.

Cuándo montar un RAG

Con poco material no hace falta montar nada.

Los modelos actuales procesan cientos de miles de palabras de una sola vez. Por debajo de unas trescientas páginas, basta con dejar los documentos en una carpeta y pedirle al asistente que los lea directamente. Buscando por su cuenta, acierta más que cualquier RAG, porque puede leer, releer y afinar la búsqueda tantas veces como haga falta. Entre trescientas y mil quinientas páginas hay una zona intermedia: el material cabe, pero se relee entero en cada pregunta, y eso resulta lento y caro en una consulta diaria, por lo que se aconseja montar el RAG. Por encima de mil quinientas páginas ya no cabe, y el RAG deja de ser opcional.

El criterio es el volumen de texto, no el número de archivos. Cincuenta circulares de dos folios no llegan a cien páginas; tres memorias anuales pueden superar las mil.

Guía rápida

Las tres instrucciones, sin explicaciones. Se pegan tal cual en Claude, Codex o Antigravity, sustituyendo lo que va entre ángulos.

1. Montar el primer cuaderno. Una sola vez.

Quiero poder preguntarte sobre mis documentos sin que
salgan de mi ordenador. Móntame un RAG local.

Pregúntame dónde están los documentos y decide tú
dónde conviene instalar todo lo demás.

- Todo en local y gratis: embeddings con fastembed
  (multilingual-e5-large) y un reranker multilingüe.
- Índice en SQLite con sqlite-vec y FTS5, búsqueda
  híbrida (significado + palabras exactas) fusionada
  con RRF.
- Trocea respetando la estructura del documento
  (artículos, apartados) y limpia las palabras que
  los PDF parten al maquetar.
- Cada respuesta debe citar documento y artículo.
- Móntalo como servidor MCP, para poder consultarlo
  en lenguaje natural.
- Los dos modelos ocupan más de tres gigabytes en
  memoria y habrá un proceso del servidor por cada
  programa conectado: cárgalos solo en la primera
  búsqueda y suéltalos tras unos minutos sin usarse.
- Que el indexado sea incremental: añadir un
  documento no puede obligar a rehacerlo todo.

Antes de ponerte, mira qué documentos hay y explícame
en lenguaje llano cómo piensas partirlos y por qué.
Si algo de lo que te pido no encaja con este material,
dímelo y propón otra cosa.

2. Crear otro cuaderno, reutilizando lo ya instalado.

Ya tengo montado el RAG. Quiero un cuaderno nuevo,
aparte del que ya existe.

Los documentos están en <carpeta>. Llámalo <nombre>.

- Aprovecha lo que ya está instalado: los programas,
  el entorno y los dos modelos. No descargues ni
  instales nada otra vez.
- El cuaderno nuevo va aparte: sus documentos y su
  índice, sin tocar los del anterior.
- Trocea y limpia igual que en el primero.
- Déjalo accesible desde el mismo servidor MCP, para
  poder preguntar por su nombre.

Antes de empezar, dime qué documentos has encontrado
y cómo piensas partirlos.

3. Añadir documentos a un cuaderno que ya existe. Lo más frecuente con el tiempo.

Añade estos documentos al cuaderno <nombre>:
<carpeta o lista de ficheros>

- Trátalos igual que los que ya están: mismo troceado
  y misma limpieza.
- Aprovecha el indexado incremental: procesa solo lo
  nuevo, sin rehacer el índice entero.
- Al terminar, dime qué has añadido y qué documentos
  contiene ahora el cuaderno.

En los tres casos conviene leer lo que responde antes de dejarle continuar. Si su plan no respeta la estructura de los documentos (los artículos de una norma, los puntos del orden del día de un acta), es el momento de decírselo, porque de ese detalle depende la calidad de todas las respuestas posteriores.

Nota: Este artículo tiene nivel 4 en el Marco para la integración de la IA generativa.

OpenWorksheets: una alternativa libre para crear fichas interactivas

OpenWorksheets (OWS) es una aplicación web libre para crear fichas interactivas y autocorregibles a partir de un PDF, una imagen o una hoja en blanco.

Pantalla inicial de OpenWorksheets

El profesorado prepara su ficha, coloca encima los campos de respuesta y define las soluciones. Después, el alumnado la resuelve desde el navegador y el docente puede revisar las entregas, ver la puntuación y exportar los resultados.

OWS tiene como bandera la libertad, privacidad, portabilidad y reutilización sin depender de una plataforma cerrada. No necesita cuentas de usuario ni servidores externos, ya que todo funciona en el navegador del profesorado y en el del alumnado. La comunicación entre ambos se realiza mediante archivos de entrega cifrados, que tienen extensión .owsub (OpenWorksheets submissions) o a través de una URL (también cifrada) que se envía directamente al docente.

Las formas que tenemos para crear una ficha (proyecto) son:

  • Añadir PDF o imagen, esta es la forma habitual. Podemos abrir un PDF o una imagen para dibujar encima los campos autocorregibles de forma que podemos aprovechar documentos ya existentes.
  • Abrir una ficha ya creada con extensión .owpkg (OpenWorksheets package). Podremos continuar trabajando en un proyecto guardado anteriormente.
  • Comenzar con una hoja en blanco sobre la cual podremos crear nuestra ficha.
  • Crear con IA (prompt) permite producir una ficha a partir de una página en blanco con los parámetros que definamos (nivel, tema, tipos de campos deseados, etc.). Se utilizan los tipos de campo que pueden generarse automáticamente; quedan fuera los que dependen directamente de recortes o zonas del PDF. OWS generará un prompt que podremos pegar en nuestra IA de cabecera. No hay que instalar nada.
  • Crear o convertir fichas con IA (MCP). Es el camino más potente y el único que puede partir de un documento propio: instalando el servidor MCP de OpenWorksheets, la IA abre nuestro PDF o nuestra imagen, coloca los campos encima, cada uno en su sitio, y nos enseña el resultado antes de guardarlo. También puede inventar la ficha entera desde cero sobre hojas en blanco. El archivo no se sube a ningún servicio, lo abre nuestro propio ordenador, aunque la IA sí ve el contenido de las páginas para poder trabajar. Requiere instalar un programa una sola vez, y se explica en un artículo aparte.

Además, las fichas pueden guardarse como archivo propio (.owpkg), exportarse como página web autónoma y compartirse mediante enlace (previa subida a la nube obteniendo un enlace público), como web incrustada en otra o integrarse en Moodle y otros LMS mediante SCORM 1.2.

La aplicación admite muchos tipos de respuesta: texto corto, respuesta numérica, fórmulas matemáticas o químicas, verdadero/falso, opción única o múltiple, desplegables, huecos, tablas editables, emparejamientos, ordenar elementos, arrastrar a zonas, unir con flechas, respuesta larga y grabación de voz. También permite insertar imágenes, audio, vídeo, contenido HTML, paquetes de eXeLearning, IMS CP y SCORM.

Como profesor de matemáticas y ciencias, soy especialmente sensible a la posibilidad de crear fórmulas. Cualquier texto de la ficha puede incluir fórmulas LaTeX. Además, el editor de fórmulas de elaboración propia, EdiCuaTeX, se integra de forma natural para permitir la edición visual sin conocimientos de LaTeX, tanto en la parte del profesorado como en la del alumnado. No obstante, soy consciente de que una gran parte del profesorado no usará nunca fórmulas en sus fichas, por ese motivo se pueden desactivar en la configuración de la ficha.

OpenWorksheets también incorpora opciones de seguridad y privacidad: cifrado de la ficha, cifrado de entregas, verificación de integridad, restricciones de acceso, tiempo límite y supervisión ligera durante la realización. Un semáforo de seguridad indica su nivel en la barra superior.

Flujo de trabajo

El flujo de trabajo más habitual es compartir la ficha mediante un enlace o código QR:

  1. El profesor crea la actividad en el editor a partir de un PDF, una imagen, IA o una hoja en blanco.
  2. Añade los campos de respuesta y configura las soluciones, la puntuación y las opciones de corrección.
  3. Exporta la ficha como paquete .owpkg.
  4. Sube ese paquete a Google Drive o a otro alojamiento público.
  5. En Google Drive, activa la opción Cualquier persona con el enlace y copia la URL pública del archivo.
  6. Pega esa URL en OpenWorksheets para generar el enlace final del alumnado.
  7. Comparte ese enlace con los estudiantes.
  8. El alumnado abre la ficha en el navegador, la completa y entrega sus respuestas mediante archivo o enlace de entrega.
  9. El docente abre las entregas en OpenWorksheets, comprueba su integridad, revisa las respuestas, ajusta las correcciones manuales si las hay y exporta los resultados a CSV.

Además de este flujo principal, OpenWorksheets permite otras formas de uso:

  • Exportar la ficha como página web autónoma, para publicarla a través de una página web.
  • Integrarla en Moodle u otro LMS mediante SCORM 1.2.
  • Exportarla como IMS Content Package.
  • Embeberla en otra página mediante un iframe.
Cuadro de diálogo para compartir una ficha. Antes se tiene que subir la ficha a un servicio público de almacenamiento como Google Drive.

OpenWorksheets permite crear, compartir y corregir fichas interactivas con un enfoque abierto, portable y respetuoso con la privacidad. La intención es que el profesorado pueda conservar el control sobre sus materiales y utilizarlos en distintos contextos, sin depender de una plataforma cerrada.

Puedes ver una descripción de las posibilidades más completa en la página de las características del programa.

Nota: Este artículo tiene nivel 4 en el marco MIAE.

Utilidades para eXeLearning: EdEX, eXeConvert, Visor Web-ZIP y ELPX Translator Desktop

eXeLearning es un programa de software libre para crear recursos educativos. Nos permite añadir texto, imágenes, audio, vídeo y dispone de un completo conjunto de recursos interactivos. Además, podemos insertar cualquier recurso creado fuera de eXeLearning gracias a su gestor de archivos, capaz de albergar cualquier objeto digital, y a la capacidad que tiene eXeLearning para insertarlos, aunque estén fuera del propio recurso.

Los proyectos (nombre que se da a los archivos creados con eXe, que tienen extensión ELPX) se pueden también exportar como página web (nos dará un archivo ZIP con la web en su interior), SCORM 1.2 (utilizado por programas educativos como Moodle), ePub (para libros electrónicos) y también como página única (todo el proyecto en una única página).

Hemos hecho tres aplicaciones que ofrecen apoyo al programa:

  • EdEX para crear y editar estilos.
  • eXeConvert, para exportar e importar entre diversos formatos (ELP, DOCX, MD, PDF) con el ELPX como centro.
  • Visor Web-ZIP para publicar y compartir fácilmente los proyectos creados con eXeLearning.
  • ELPX Translator Desktop para traducir mediante el uso de la IA los proyectos ELPX.

EdEX

EdEX es un editor de estilos que permite utilizar diversas fuentes:

  • Por defecto, aparece un ejemplo cargado con el estilo base de eXeLearning. Podemos empezar a modificarlo o seleccionar cualquiera del resto de estilos que vienen con eXeLearning.
  • Cargar un estilo en formato ZIP de cualquier versión.
  • Cargar un archivo ELPX y trabajar directamente con él y el estilo que lleva incorporado. Podremos extraer el estilo por separado y volver a guardar el ELPX que lo incorporará.

Una vez que comencemos a modificarlo, podremos hacerlo a través de las pestañas que hay en el panel izquierdo o pulsando el botón para cambiar a modo edición por clic (el botón que hay en la esquina superior derecha).

eXeConvert

eXeConvert permite convertir entre diferentes formatos, donde el ELPX es el formato central.

  • ELP. Es el formato de las versiones anteriores. Cualquier ELP cargado en el programa es automáticamente convertido en ELPX que podremos guardar en el ordenador o convertirlo en DOCX, MD o PDF.
  • DOCX. Podemos exportar el ELPX hacia DOCX, pero también importar el DOCX para generar un ELPX. Los diferentes niveles de encabezados definen las páginas, subpáginas y los iDevices.
    • En el caso ELPX -> DOCX, se crearán los encabezados siguiendo la pauta: Los títulos de las páginas se convertirán en encabezado 1, los de las subpáginas en encabezado 2, las subpáginas de las subpáginas, encabezado 3, etc. Los títulos de los iDevices serán los próximos encabezados no usados (el 2, 3, …). Los encabezados propios que ya lleven los iDevices se adaptan a esta estructura descendente, hasta un máximo de 6 niveles.
    • Para el caso opuesto DOCX -> ELPX se sigue el mismo proceso, pero el usuario decide cuántos niveles de páginas habrá.
  • MD. Corresponde al formato Markdown. Se pueden insertar las imágenes, o no, en el texto, aunque no es aconsejable sin un motivo concreto, ya que se codifican en base64 y el archivo quedará lleno de caracteres no legibles. Exportar en este formato es muy útil para extraer únicamente el texto con un formato bien definido. Se siguen las mismas reglas de importación/exportación con encabezados que en el formato DOCX.
  • PDF. El ELPX se puede guardar en formato PDF.

Cuando exportemos a DOCX, MD o PDF, podremos elegir qué páginas queremos exportar: todas o solo alguna.

Sugerencia: Podemos crear la estructura de un recurso en Markdown utilizando una IA y diciéndole que utilice encabezados para los diferentes niveles del índice. Al convertir en ELPX este archivo, obtendremos la estructura completa de páginas y subpáginas de una forma muy sencilla.

Visor Web-ZIP

Visor Web-ZIP es un programa que nos permite publicar y compartir un ELPX o un proyecto exportado en ZIP (de cualquier versión de eXeLearning) simplemente subiendo a Drive, Dropbox, Nextcloud, Box.com o un sistema similar el archivo.

Visor Web-ZIP en realidad permite publicar cualquier recurso digital y para ello dispone de varios visores. Puedes obtener más información sobre esto último en el artículo: Visor Web-ZIP: Publica y comparte tus recursos educativos desde tu almacenamiento favorito en la nube.

Para publicar un ELPX o un proyecto exportado como página web en ZIP, únicamente necesitamos:

  1. Subir el archivo a un sistema de almacenamiento en la nube y compartirlo para que todos puedan verlo (Google Drive solo permite archivos de unos 25MB, si nuestro recurso ocupa más, habrá que utilizar otro servicio).
  2. Pegar el enlace para compartir que hemos obtenido en la nube en la sección 2 del programa y copiar el enlace que nos proporciona. Con ese enlace cualquiera podrá ver en su navegador nuestro proyecto.

Se pueden poner fechas de apertura y cierre de visualización del recurso. Véase el artículo anterior para saber cómo hacerlo.

En la siguiente presentación se explica con más detalle el proceso, incluyendo los límites de distintos servicios y cómo subir archivos de hasta 2GB para compartir.

Actualización: Actualmente está diposnible eXeViewer, un visor de archivos ELPX y ZIP de eXeLearning que permite publicar los contenidos de forma similar a Visor WebZIP. No obstante, presenta problemas cuando los archivos se alojan en Dropbox o Nextcloud.

ELPX Translator Desktop

A diferencia del resto de programas, este no es una página web, sino una aplicación que debe ser instalada en el ordenador local. El motivo es que, al hacer uso de un modelo de traducción de IA, los requerimientos de cálculo son demasiado exigentes para ser llevados a cabo por un navegador.

Hay dos versiones para Linux (una para derivados de Debian y una AppImage), una para Windows y otra para macOS.

El funcionamiento es bien sencillo. Se indica qué archivo ELPX se quiere traducir, se elige el idioma al que se traducirá y se pulsa el botón Traducir.

Se utilizan modelos de código abierto que se ejecutan en local, por lo tanto, no se envían datos a ningún lado. M2M100 418M de Meta para todos los idiomas, excepto euskera y OPUS-MT, que es de la Universidad de Helsinki (Helsinki-NLP), para euskera.

Más información y descargas en la página web del proyecto ELPX Translator Desktop.

Nota: El texto de este artículo tiene nivel 0 en el Marco para la integración de la IA generativa.

« Entradas anteriores

© 2026 Bilateria

Tema por Anders NorenArriba ↑