Procesamiento dinámico de documentos con pipelines on‑demand y batch en Amazon Bedrock
Presentamos una arquitectura que combina inferencia inmediata y por lotes en Amazon Bedrock para extraer información de documentos escaneados. La solución permite seleccionar modelo y prompt por documento, optimizando tiempo y costo según la urgencia.
Introducción
Muchas organizaciones en América Latina acumulan grandes volúmenes de documentos en papel o PDF escaneados que contienen inteligencia de negocio poco aprovechada: contratos, escrituras, concesiones o arrendamientos de tierras, entre otros. Con los avances en modelos de lenguaje y capacidades multimodales, es posible automatizar la extracción y estandarización de datos de estos documentos. En este artículo describimos una solución que combina pipelines de inferencia on‑demand y por batch sobre Amazon Bedrock, permitiendo flexibilidad en tiempos de respuesta y en costos, además de la capacidad de seleccionar dinámicamente el modelo y el prompt por documento.
Visión general de la solución
La arquitectura propone dos pipelines de inferencia y un mecanismo para invocarlos de forma dinámica: uno orientado a respuestas inmediatas (on‑demand) y otro optimizado para procesamiento en lote (batch). Ambos usan Amazon Bedrock para invocar modelos de lenguaje y emplean Amazon Bedrock Prompt Management para almacenar y versionar los prompts que guían la extracción de datos.
El flujo general es: el sistema recibe una solicitud de extracción que incluye el identificador del documento, el modelo a usar y el ID/version de prompt; según la prioridad o el costo deseado, la solicitud se dirige al pipeline on‑demand o al pipeline batch. Los resultados estandarizados se guardan en una base de datos para su posterior uso.
Por qué combinar on‑demand y batch
- On‑demand: ideal para solicitudes sensibles al tiempo. Procesa documentos uno por uno y devuelve resultados en segundos. Útil para agentes de atención, verificaciones puntuales o revisiones legales urgentes.
- Batch: orientado a eficiencia de costo cuando hay grandes volúmenes. Agrupa múltiples documentos en un único trabajo asíncrono de Amazon Bedrock y procesa las invocaciones sin requisito de latencia baja.
Esta dualidad permite a equipos y tomadores de decisión en la región balancear coste y servicio según necesidades operativas.
Pipeline on‑demand — componentes y flujo
El pipeline on‑demand utiliza una cola FIFO de Amazon SQS para orquestar solicitudes y garantizar entrega y orden estricto de mensajes:
-
SQS FIFO: cada mensaje incluye atributos como identificador del documento (s3_location o doc_id), ID del modelo LLM, ID y versión del prompt, y el ID/version del system prompt si aplica. Se recomienda usar Message Group ID para mantener orden en grupos relacionados. La cola asegura entrega exacta una sola vez (exactly once) y procesamiento en orden.
-
AWS Lambda: al llegar el mensaje, una función Lambda ejecuta el procesamiento:
- Descarga el archivo desde Amazon S3 usando la ruta indicada.
- Si el PDF está escaneado (imagen), convierte las páginas a imágenes PNG para permitir la comprensión multimodal del modelo.
- Debido a limitaciones de algunos modelos multimodales (por ejemplo, el modelo Claude 4 Sonnet permite hasta 20 imágenes por invocación), la función divide documentos largos en chunks de hasta 20 páginas. Para cada chunk se registra doc_id, chunk_count y chunk_id.
- Recupera el prompt y la versión correspondiente desde Amazon Bedrock Prompt Management. Cada prompt está versionado y se identifica por un ID.
- Conforma el mensaje para la llamada al LLM concatenando el prompt y las imágenes, y envía la petición a Amazon Bedrock (por ejemplo usando la API Converse).
- Procesa la respuesta, que usualmente llega como un JSON con los campos extraídos.
- Persiste los resultados y métricas de desempeño en una tabla de Amazon DynamoDB; al finalizar, elimina el mensaje de la cola.
-
Almacenamiento: DynamoDB contiene campos como doc_id, chunk_count, chunk_id y los atributos extraídos estandarizados, junto con métricas de invocación para seguimiento.
Notas operativas: la creación de mensajes en SQS puede hacerse con AWS CLI o SDKs; los mensajes deben incluir los atributos requeridos por la Lambda para ejecutar la inferencia y recuperar prompts.
Pipeline batch — cómo funciona y cuándo usarlo
El pipeline por lotes envía múltiples solicitudes en un único trabajo de inferencia asíncrono a Amazon Bedrock. En lugar de invocar el modelo por cada documento, agrupa entradas y procesa la inferencia en backend, reduciendo el costo por unidad cuando se trata de altos volúmenes acumulados.
El enfoque batch es apropiado para procesar atrasos (backlogs) masivos, por ejemplo cientos de miles o millones de contratos escaneados que no requieren respuesta inmediata. Aunque la latencia es mayor, el costo por documento suele ser considerablemente menor.
Al igual que en on‑demand, cada solicitud batch puede especificar el ID y la versión del prompt; Bedrock recupera el texto del prompt desde Prompt Management durante el job.
Gestión de prompts y selección dinámica de modelos
Un punto clave de la solución es la capacidad de seleccionar modelo y prompt a nivel de documento. Dado que documentos del mismo rubro pueden variar mucho —listas numeradas, tablas, dibujos o planos— resulta estratégico tener diferentes prompts optimizados por formato. Estas son las consideraciones principales:
- Amazon Bedrock Prompt Management centraliza prompts y versiones. Cada prompt tiene un ID y versiones; la solicitud indica cuál usar.
- Limites de servicio: existe un tope de prompts por región y versiones por prompt (por ejemplo, 50 prompts por región y hasta 10 versiones por prompt), por lo que la gobernanza de prompts es necesaria.
- Selección dinámica: las solicitudes (tanto on‑demand como batch) incluyen el prompt ID/version y el modelo LLM a usar, permitiendo tratar distintos tipos de documentos con el mismo pipeline.
Almacenamiento de resultados y seguimiento
Los resultados procesados se guardan en DynamoDB con metadatos del documento y del proceso (doc_id, chunk_count, chunk_id, atributos extraídos y métricas de modelo). Esto facilita auditoría, reconciliación y re‑procesos si se ajustan prompts o modelos.
Consideraciones prácticas para América Latina
En la región hay grandes volúmenes de documentación heredada en formatos escaneados: escrituras públicas, contratos de concesión, documentos notariales o legajos administrativos. Implementar una solución híbrida on‑demand/batch permite manejar tanto excepciones que requieren respuesta inmediata como grandes migraciones históricas a un costo controlado.
Además, la gestión centralizada de prompts ayuda a mantener consistencia entre equipos legales, catastros o cumplimiento, mientras que la trazabilidad en DynamoDB apoya auditorías y requerimientos regulatorios.
Conclusión
Combinar pipelines on‑demand y batch sobre Amazon Bedrock ofrece una solución flexible para extraer y estandarizar datos desde documentos escaneados. La capacidad de seleccionar dinámicamente modelos y prompts por documento —sumada a prácticas de gobernanza de prompts y manejo de chunks para límites multimodales— permite escalar procesos de extracción sin sacrificar control ni trazabilidad. Para organizaciones latinoamericanas con grandes reservas documentales, este enfoque facilita transformar archivos históricos en activos de datos útiles y accionables.
Fuente original: AWS ML Blog