Fernando Paz
Fernando Paz @_ferpaz

Workshop

Cómo construir un RAG bancario útil sobre AWS

Este workshop toma el MVP actual de ai-agent y lo organiza como un recorrido reproducible: documentos bancarios ingresan por una ruta operable, se transforman en conocimiento recuperable y terminan en contratos API con grounding verificable.

3 subproyectos visibles en la ruta del workshop
5 etapas activas del MVP documentadas en `ai-agent-rag`
AWS S3, Lambda, Batch, OpenSearch, Bedrock y Terraform
NDJSON stream tipado hacia el frontend para hacer visible el flujo

Referencias críticas

El workshop depende de estos artefactos públicos

Estas referencias no son material accesorio. Son la evidencia pública del sistema, la base para seguir el código fuente y la forma más rápida de validar que el recorrido descrito en el workshop existe de verdad.

Qué resuelve

Un recorrido concreto para construir una capacidad útil

Este workshop toma un caso concreto, define un source set acotado, establece una política clara de generación y muestra cómo AWS puede componer cada etapa de forma trazable.

El resultado es un flujo capaz de producir una primera propuesta de contrato API fundamentada en documentación bancaria real.

Arquitectura

La vista consolidada a nivel C2 del sistema completo

01

Persona y canal

El usuario interactúa con una sola superficie: ai-agent-chat, la UI Angular que muestra streaming y bloques de código.

02

`ai-agent-chat`

El frontend se ocupa de la interacción. Envía { message } al endpoint público y consume la respuesta progresiva.

03

`ai-agent-rag`

La capa RAG expone el Function URL, orquesta translation, classifier, retrieval y generation, y devuelve NDJSON tipado.

04

`ai-agent-data`

La capa de datos prepara el conocimiento upstream: procesa documentos, produce rag_context e indexa chunks en OpenSearch.

Diagrama C2 consolidado

flowchart LR
    USER[Usuario]

    subgraph Chat["ai-agent-chat"]
        UI[Angular chat UI
stream rendering] end subgraph Rag["ai-agent-rag"] URL[Lambda Function URL] API[Node.js API handler] ORCH[LangGraph orchestrator
translation -> classifier -> retrieval -> generation] CTX[(S3 context responses)] URL --> API --> ORCH --> CTX end subgraph Data["ai-agent-data"] SRC[S3 source bucket] BATCH[AWS Batch processor] RAGJSON[processed/rag_context JSON] ING[OpenSearch ingestor] OS[(OpenSearch index)] SRC --> BATCH --> RAGJSON --> ING --> OS end USER --> UI UI --> URL ORCH --> OS ORCH -->|NDJSON tipado| UI

Este diagrama presenta el sistema ai-agent como una composición de containers con responsabilidades claras, y deja el detalle interno para ai-agent-data, ai-agent-rag y ai-agent-chat.

AWS Fit

Por qué esta arquitectura resulta pertinente para una audiencia de AWS

Entrada

Amazon S3

S3 como frontera limpia

Los documentos ingresan por S3, lo que facilita disparo por eventos, trazabilidad y almacenamiento de artefactos intermedios.

Proceso

AWS Lambda

Lambda y Batch sin forzarlos

Las Lambdas cubren la parte reactiva. El procesamiento documental de mayor peso se resuelve en AWS Batch.

Conocimiento

Amazon OpenSearch Service

OpenSearch como retrieval operable

OpenSearch mantiene el retrieval observable, trazable y más fácil de ajustar que un enfoque basado en prompts extensos.

MVP Hardening

Qué quedó más sólido antes de enseñar este flujo

Fixture

Demo reproducible

El workshop trabaja sobre un source set canónico, prompts definidos y resultados esperados, lo que facilita repetibilidad y revisión técnica.

Contrato

Metadata explícita

El contrato mínimo de rag_context quedó definido y forma parte explícita de la explicación técnica.

UX

Contrato de streaming más claro

El cliente consume un protocolo de stream tipado, con una separación más clara entre contenido, metadata y estados de ejecución.

Decisiones clave

Detalles de implementación que sí agregan valor al workshop

Bedrock

Amazon Bedrock

Modelos diferenciados por fase

La clasificación usa Amazon Nova Micro para resolver dominio e intención con baja latencia y salida JSON. La generación usa por defecto Amazon Nova Pro, con soporte configurable para Claude y Llama en la capa final.

Language bridge

Amazon Translate

Translate antes de retrieval

El query del usuario suele llegar en español, pero buena parte de la documentación de estándares y del material indexado está en inglés. Traducir primero mejora el alineamiento léxico para clasificación y búsqueda.

Payload limits

Amazon S3

S3 como puente entre Lambdas

El retrieval persiste el hit set en S3 y devuelve una s3_reference. Esa decisión evita límites de tamaño en Lambda y desacopla retrieval de generation sin perder grounding.

Classification

Clasificación con señales combinadas

La intención final no depende de una sola técnica. El sistema combina keywords y clasificación LLM para reducir errores tempranos y mantener una ruta de ejecución más estable.

Contract

Metadata explícita para retrieval

domain, document_type, standard, source_format y content_type forman parte del contrato que vuelve el retrieval más gobernable que un prompt monolítico.

Operations

Rutas operativas documentadas

Los tres subproyectos incluyen rutas operativas para infraestructura, build y deploy. Eso le da al workshop una transición razonable hacia operación continua.

Servicios

Las piezas que sostienen la historia técnica

Amazon S3 Amazon S3 documentos fuente y artefactos intermedios
AWS Lambda AWS Lambda dispatch, clasificación, retrieval y orquestación
AWS Batch AWS Batch procesamiento documental con Docling
Amazon OpenSearch Service OpenSearch + Bedrock retrieval operable y generación final
Amazon Translate Amazon Translate puente lingüístico entre prompts en español y documentación indexada en inglés
Amazon Bedrock Amazon Bedrock clasificación y generación final sobre modelos administrados

Recorrido

Qué construye realmente el lector

01

Levanta la capa de datos

Provisiona bucket, dispatcher, Batch, ingestor y OpenSearch con Terraform desde ai-agent-data.

02

Prepara conocimiento útil

Sube el source set canónico, dispara el procesamiento y verifica Markdown, rag_context e indexación.

03

Conecta la capa RAG

Despliega ai-agent-rag, consume el estado remoto de datos y valida el stream NDJSON tipado.

04

Prueba la interfaz

Levanta ai-agent-chat, ejecuta prompts canónicos y observa el flujo completo con grounding visible.

Canon

Los prompts que ordenan la demo

Prompt principal

Necesito un contrato OpenAPI para iniciar pagos basado en ISO 20022. Quiero request y response en application/json y una propuesta inicial en YAML.

Debe devolver YAML OpenAPI 3.0.3, en español y con justificación breve.

Prompt explicativo

Explicame la estructura de un mensaje de estado de pagos en ISO 20022 y los campos principales que deberia considerar.

Debe explicar estructura y campos, no forzar generación contractual.

Prompt de borde

Genera un contrato API completo basado en BIAN para customer onboarding y devuelvelo en OpenAPI.

Debe marcar el cambio de alcance o reenmarcar la respuesta dentro del dominio cubierto.