En agosto de 2026 empezamos a transcribir audio y extraer texto de documentos en un equipo propio. Hasta entonces, el flujo de lectura de documentos que analizamos dependía de un proveedor externo. En las semanas siguientes, el equipo local asumió cerca de cuatro de cada cinco páginas de ese flujo.
El cambio empezó con tareas concretas: convertir una intervención en texto que se pueda seguir junto a la grabación y leer una página sin perder nombres, cifras o referencias. Para hacerlo, probamos modelos abiertos con material legislativo, los reunimos en una misma máquina y conservamos una alternativa externa para el trabajo que no pudiera terminar allí.
Probar con el material que usamos
Un discurso puede contener nombres propios, interrupciones y silencios. Un documento puede mezclar párrafos con tablas o llegar como una imagen escaneada. Esas diferencias importan al elegir un modelo: recuperar muchas palabras no basta si cambia una cifra o desaparece la relación entre dos columnas.
Las pruebas de audio reunieron unos 170 fragmentos de siete grupos lingüísticos, con distinta cobertura según el modelo. Para documentos, usamos 60 páginas de diez fuentes oficiales. Tomamos las transcripciones de referencia y el texto incluido en los PDF como punto de comparación para detectar palabras perdidas o cambiadas.
Del material original al texto
Volver al momento de una intervención
La transcripción necesita conservar la relación entre cada palabra y la grabación. Whisper large v3 turbo entrega el texto con sus tiempos de inicio y fin. Así, una frase puede conducir al momento en que se pronunció. Este proceso se conoce como reconocimiento automático de voz, o ASR.
Elegimos Whisper por su cobertura de idiomas y porque permite vincular cada palabra con la grabación. En las configuraciones que probamos, Granite NAR repitió texto durante un silencio y Parakeet introdujo palabras en inglés en un fragmento en español.
Conservar lo que dice una página
Cuando el texto está dentro de una imagen, OvisOCR2 lo extrae mediante reconocimiento óptico de caracteres, u OCR. El objetivo es recuperar el contenido de la página y las relaciones que permiten leerlo: qué cifra corresponde a una fila, dónde empieza un apartado o cómo continúa una frase.
En las 59 páginas que evaluamos, Ovis obtuvo resultados cercanos al servicio externo al comparar las palabras recuperadas. Lo elegimos frente a PaddleOCR, que utilizaba menos memoria, porque conservó mejor el texto en esa prueba. Excluimos una portada cuyo PDF no contenía una referencia textual completa.
Seleccionar qué merece un análisis
Más adelante incorporamos Qwen3.5 9B para comparar el tema de una audiencia con un interés que se quiere seguir. Por ejemplo, una materia sobre abastecimiento de agua puede ser relevante para un seguimiento de recursos hídricos. El modelo de lenguaje, o LLM, identifica una posible relación para que continúe el análisis del contenido.
Esta etapa hace una primera selección. La coincidencia todavía debe pasar por el resto del proceso que prepara las alertas. Incorporamos esta etapa después del período analizado.
Tres tareas en una misma máquina
Las primeras pruebas se hicieron en un equipo con 8 GB de memoria de video. El equipo actual cuenta con 16 GB.
La memoria disponible determina cómo repartimos el trabajo. El audio se procesa por fragmentos y los documentos, página por página. Los modelos permanecen cargados entre trabajos para evitar repetir el arranque. Qwen utiliza llama.cpp y combina la memoria de la tarjeta gráfica con la memoria principal. Así reunimos las tres tareas sin exigir que todos los modelos quepan íntegros en la GPU.
El paso al procesamiento local
Del 1 al 16 de agosto, el proveedor externo procesó las cerca de 26.000 páginas registradas en el flujo de OCR. Del 17 de agosto al 5 de octubre, más de 50.000 páginas se procesaron en el servidor propio: alrededor del 80 % del total de ese período. El resto siguió utilizando el servicio externo.
Fuente: registros agregados de OCR. Cada barra representa el 100 % de las páginas de su período. Corte: 6 de octubre de 2026, 00:00 UTC.
En ese segundo período también se completaron localmente unos 33.000 trabajos de audio, que sumaron cerca de 2.700 horas de fragmentos procesados. Son duraciones acumuladas de los fragmentos, no horas únicas de sesiones. Otros 390 trabajos de audio se derivaron al respaldo.
Los registros permiten seguir cómo se repartió el trabajo entre el equipo propio y el proveedor. Como cada período abarca materiales y duraciones diferentes, comparamos la proporción de páginas procesadas por cada uno.
Mantener una alternativa disponible
Trasladar el procesamiento también implica hacerse cargo de las interrupciones. Si el equipo no está disponible o un trabajo no termina después de los reintentos, el sistema puede recurrir al proveedor externo. Ambas rutas entregan el resultado al mismo flujo de trabajo.
También ajustamos el sistema para manejar las demoras y cancelaciones del trabajo diario. El sistema reconoce que una descarga sigue activa aunque tarde más. Si se cancela un documento, se detiene la lectura de las páginas restantes.
Con ambas rutas disponibles, la incorporación de un modelo puede ser gradual: primero se prueba con nuestras fuentes y después se decide qué trabajo asumirá.
Al empezar, queríamos saber cuánto de nuestro trabajo podíamos resolver en un equipo propio. Hoy, ese equipo forma parte de la operación diaria. Haber recorrido ese camino nos da una base concreta para decidir qué más podemos construir por nuestra cuenta.