caso 1 · disponibleManual 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 · disponibleContrato 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 · disponibleInforme 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 → genérico frente a curado
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.
de dónde sale esto
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.
el servicio
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.