Qué hace de verdad un modelo local con tus documentos, y por qué lo hace

En /ia-local te digo qué modelo cabe en tu máquina. Aquí puedes ponerlo a trabajar con un documento de verdad y comprobar si lo que responde está en el papel o se lo ha inventado. Cada caso es una página independiente: documento a la izquierda, asistente a la derecha, y una batería de preguntas con su respuesta escrita en el propio documento.

Lo importante: esto no lo hace una herramienta general. Un modelo de 2 GB con un «chat con tu PDF» cualquiera confunde la fianza con la garantía, se salta la fila de la tabla que tocaba y se inventa el precio que el informe no da. Lo que ves en estos casos funciona porque cada documento está troceado como hay que trocearlo, el buscador entiende sus códigos, sus cifras y su vocabulario, el prompt está escrito para ese documento y un comprobador veta lo inventado. Ese trabajo se llama curado, es lo que te monto con tus documentos, y en cada caso puedes medirlo: el mismo modelo con un montaje genérico está a un clic.

caso 1 · disponible

Manual de lavadora (PDF de 15 páginas)

31 códigos de error, 16 programas, tabla de mantenimiento. «Me ha dado F11» y el asistente te dice qué mirar, en qué orden y de qué página lo ha sacado. Lo que se curó: filas de tabla con su cabecera, códigos que pesan triple, un prompt que prohíbe inventar causas. 18 preguntas medidas con tres tamaños de modelo.

Abrir el caso →
caso 2 · disponible

Contrato de arrendamiento (cláusulas y cifras)

Fianza 925 €, garantía 1.850 €, total a la firma 3.700 €: cifras vecinas hechas para confundir. «¿Puedo irme a los cinco meses?» cruza la cláusula de permanencia con la tabla de indemnizaciones. Lo que se curó: sinónimos del inquilino («gato» → «animales», «irme» → «desistimiento»), una regla de prompt contra las cifras parecidas, y una pregunta cuyo dato no existe. 17 preguntas.

Abrir el caso →
caso 3 · disponible

Informe técnico largo (resumir y extraer sin inventar)

Una auditoría energética que el modelo nunca ve entera: hay que resumir las conclusiones, sacar cifras a JSON sin equivocarse de columna, cruzar la tabla de medidas con los escenarios, y decir «no lo dice» cuando piden el precio de 2027 o los meses de obra. Lo que se curó: identificadores M1-M8 con peso, reglas de JSON en el prompt, conclusiones que el buscador encuentra. 16 preguntas.

Abrir el caso →

Qué cambia entre una herramienta general y un caso curado

Cada caso tiene un selector de montaje. «Genérico» es lo que hace cualquier chat con documentos antes de que alguien lo cure; «curado» es lo que se hizo para ese documento. Mismo modelo, mismo presupuesto de contexto, misma batería: la diferencia se mide en la pestaña «Batería», no se afirma.

  • Troceado. Genérico: bloques fijos de 900 caracteres, sin respetar títulos ni filas de tabla. Curado: párrafos y filas de tabla con su cabecera y su apartado, para que «Rápido 30 · 2,0 kg · 0 h 30 min» llegue entero y con nombre de columna.
  • Búsqueda. Genérico: cuántas palabras de la pregunta aparecen en cada trozo. Curado: BM25 con los códigos y los identificadores pesando triple, una pregunta de dos partes repartida entre dos apartados, el fragmento vecino cuando hace falta, y una tabla de sinónimos propia de cada documento («gato» → «animales», «placas» → «fotovoltaica»).
  • Prompt. Genérico: «Eres un asistente útil. Responde usando el documento». Curado: escrito para ese documento, con las reglas que fallaron sin ellas: cita la página, no inventes causas, no confundas la fianza con la garantía, si piden JSON devuelve solo JSON, si el dato no está dilo.
  • Comprobación. Genérico: ninguna. Curado: una segunda pasada del mismo modelo solo cuando el borrador da señal de problema, vetada por un comprobador determinista si añade, poda o cita de más. Y una batería de preguntas con respuesta escrita en el documento, que es lo que convierte una demo en una prueba.

Dónde corre cada modelo y cómo se midió cada número

  • Dentro del navegador (WebGPU + transformers.js). Los pesos se guardan en la caché del propio sitio, que es por origen: si ya descargaste un modelo en /ia-local, aquí no se vuelve a descargar ni un byte. Los documentos se convierten a texto en tu máquina y no se suben a ningún sitio.
  • Los modelos grandes se midieron aparte, no desde la web: la batería se pasa con tools/bateria-llama.mjs contra un llama-server local, en los dos montajes, y el resultado se guarda en assets/ejemplos/results/<caso>.json con modelo, flags, equipo, temperatura y pasadas. Ese JSON es una imagen estática de una medición, no una conexión. Si un caso todavía no tiene JSON, su página lo dice.
  • Se midió el camino completo, no el modelo solo: pdf2md + búsqueda + prompt + comprobador son los mismos módulos en Node y en el navegador, así que si un día cambia el buscador o el prompt, la referencia caduca y el test lo pisa (compara el hash del PDF y la versión del prompt). Una comparación que cambia las reglas entre medias no es una comparación.
  • Las baterías que pases tú se quedan guardadas en tu navegador y se exportan en JSON. Si mañana pruebas otro modelo, o el mismo en el otro montaje, la matriz se rellena con otra columna y la comparación es sobre las mismas preguntas, no sobre impresiones.

Los tres documentos son de marcas, partes y edificios inventados, escritos para este sitio: se pueden distribuir, y sobre todo se puede comprobar cada respuesta contra el texto.

Esto es un escaparate: el curado de tus documentos es el producto

Estos tres documentos los curé yo para poder enseñarlos. Los tuyos serán manuales de 200 páginas, contratos por cientos o informes con tablas que tu gente necesita sacar a una hoja de cálculo. Lo que te monto es lo mismo que ves aquí, hecho para tus documentos y en tu máquina:

  • Tus documentos, troceados como hay que trocearlos: tablas por filas con su cabecera, apartados con su título, pies de página fuera, y OCR para el papel escaneado que aquí no entra.
  • Un buscador que habla tu idioma: tus códigos de error, tus referencias de repuesto, tus identificadores de medida, y la tabla de sinónimos entre lo que pregunta tu gente y lo que escriben tus documentos. Sin embeddings ni segundo modelo si no hacen falta: determinista y explicable.
  • Un prompt escrito para tu caso, con el formato de salida que necesitas (texto con citas, JSON para tu hoja de cálculo, resumen para el que no lee) y las reglas que salen de tus fallos, no de una plantilla.
  • Una batería de preguntas de aceptación con respuesta comprobable, escrita contigo, que se pasa con cada modelo candidato y cada vez que algo cambia. El modelo se elige por lo que mide esa batería en tu máquina, no por catálogo. Y te llevas la matriz: qué acierta, qué falla y por qué.
  • Todo en tu máquina o en un servidor de la oficina, con interfaz, arranque automático y copias: ningún documento sale de tu red. Más el diagnóstico previo de qué equipo hace falta y la formación para el equipo que se queda con ello.

Si después de ver tus documentos y tu máquina un modelo pequeño no da para lo que pides, te lo digo con la batería delante y no te monto nada. Sale más barato.