Mejora la interactividad de las aplicaciones bancarias usando MongoDB Atlas búsqueda vectorial y grandes modelos de lenguaje.
caso de uso: IA generativa, búsqueda inteligente, gestión de contenidos
Industrias: Servicios Financieros
Productos: MongoDB Atlas, MongoDB Atlas búsqueda vectorial, Voyage IA
Socios: Amazon Bedrock, LangChain
Descripción general de la solución
En esta solución, puedes aprender a aprovechar la inteligencia documental utilizando IA agéntica potenciada por MongoDB. Este enfoque desbloquea perspectivas a partir de datos estructurados, semi-estructurados y no estructurados provenientes de diversas fuentes como repositorios locales, contenedores en la nube y servicios de almacenamiento en la nube.
Las instituciones financieras y los proveedores de FinTech gestionan enormes volúmenes de documentos y datos fragmentados de múltiples fuentes. Las tareas manuales, como recopilar, buscar y analizar esta información, ralentizan las operaciones e incrementan el riesgo de cometer errores.
Esta solución aborda estos desafíos utilizando un sistema de orquestación multiagente. Está impulsado por el modelo orientado a documentos flexible de MongoDB, MongoDB Atlas búsqueda vectorial, y el de VoyageAI voyage-context-3y la IA agente.
Esta solución explora cinco casos de uso de inteligencia documental en servicios financieros:
Calificación de crédito de la empresa
Gestión de excepciones en el procesamiento de pagos
Investigación de inversiones
Onboarding del cliente (KYC)
Originación de préstamos
La siguiente sección explica cómo transformar documentos estáticos en fuentes dinámicas de perspectivas operativas y estratégicas.
Arquitecturas de Referencia
Esta solución se compone de tres componentes modulares principales:
Figura 1. Arquitectura de procesamiento inteligente de documentos con MongoDB.
1. Orquestación Supervisora de Multiagentes
Un Agente supervisor coordina un equipo de agentes especializados. A cada agente se le asignan sus propios avisos y herramientas específicas para realizar tareas específicas:
El Agente de escaneo descubre y cataloga los documentos disponibles desde varias fuentes (archivos locales, AWS S3, Google Drive).
El agente evaluador evalúa la pertinencia de los documentos en función del sector y del contexto del caso de uso.
Extractor Agent utiliza Vision AI (Claude 3.5 Sonnet v2) para interpretar textos y elementos visuales, como gráficas o tablas, y convertirlos en markdown.
El agente de procesamiento divide el contenido en fragmentos semánticamente significativos, genera incrustaciones usando VoyageAI y los almacena en las colecciones de MongoDB Atlas.
Parte 2. Sistema Agentic RAG
Una vez que se ingieren los datos, este flujo de trabajo RAG:
Permite la interacción en tiempo real con un agente de asistencia documental.
Utiliza generación de query, evaluación de documentos y bucles de reescritura de query para refinar automáticamente las respuestas.
Utiliza voyage-context-3 embedding, lo que permite que fragmentos de documentos conserven un contexto más amplio para obtener respuestas precisas y fundamentadas.
Nota
Agentic RAG tiene las siguientes cualidades:
Toma decisiones inteligentes: sabe cuándo es necesaria la recuperación frente a la respuesta directa
Autocorrige: Si los documentos recuperados no son relevantes, reformula la query y lo intenta de nuevo
Mantiene el contexto: Usa el punto de control de MongoDB para conversaciones multiturno
Proporciona transparencia: rastrea los pasos del flujo de trabajo y las decisiones de calificación
Parte 3. Generación de reportes y perspectivas
Este módulo utiliza búsquedas vectoriales dirigidas y generación de contenido basada en LLM para automatizar informes periódicos, realizando las siguientes tareas:
Procesamiento de información para generar informes personalizados.
Compilar hallazgos relevantes y datos contextuales.
Exportar resultados estructurados, como PDF.
Incluir mecanismos de respaldo para garantizar la confiabilidad, incluso en contextos con poca información.
Enfoque de modelo de datos
El modelo de datos de la solución agrupa sus colecciones por función:
Procesamiento de documentos principales:
chunks: almacena segmentos de texto con vectoresvoyage-context-3.documentsalmacena metadatos del documento, que rastrean el estado de procesamiento y la información de origen.assessments: contiene resultados de evaluación de documentos, como puntuaciones de relevancia y decisiones de procesamiento.workflowsalmacena el seguimiento del flujo de trabajo de ingestión, que supervisa el estado de procesamiento multi-agente.
El siguiente documento es un ejemplo de la colección chunks:
{ "_id": { "$oid": "68e7d4cd77c8fbfb9abdf878" }, "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "chunk_index": 2, "chunk_text": "Contacted cardholder to confirm receipt of temporary credit and advise on investigation timeline. Cardholder confirmed satisfaction with temporary resolution...", "embedding": [ 0.02789805270731449, 0.0045435624197125435, -0.06760358065366745, ... ], "has_visual_references": false, "metadata": { "name": "Payment_Investigation_Ticket.pdf", "path": "@s3@.../document-intelligence/fsi/payment_processing_exception/Payment_Investigation_Ticket.pdf", "processed_at": { "$date": "2025-10-09T15:29:17.741Z" }, "chunk_count": 3, "chunk_metadata": { "chunk_index": 2, "total_chunks": 3, "section_start": "Contacted cardholder", "section_end": "ion_ticket.html*\n4/5", "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "contains_images": false } } }
El siguiente documento es un ejemplo de la colección documents:
{ "_id": { "$oid": "68e7d4cb5fc2bb6e17eaedb8" }, "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "document_path": "@s3.../document-intelligence/fsi/payment_processing_exception/Payment_Investigation_Ticket.pdf", "file_extension": "pdf", "file_size_mb": 0.3242454528808594, "source_type": "s3", "source_path": "@s3@fsi/payment_processing_exception", "page_count": 4, "created_at": { "$date": "2025-10-09T15:29:15.041Z" }, "updated_at": { "$date": "2025-10-09T15:29:18.267Z" }, "status": "completed", "chunk_count": 3, "has_visual_references": true, "metadata": { "markdown_length": 5592, "processing_timestamp": { "$date": "2025-10-09T15:29:15.041Z" } } }
El siguiente documento es un ejemplo de la colección assessments:
{ "_id": { "$oid": "68e7d2b35fc2bb6e17eaedb2" }, "document_id": "doc_ef5b1da6", "document_name": "Payment_Investigation_Ticket.pdf", "document_path": "@s3.../document-intelligence/fsi/payment_processing_exception/Payment_Investigation_Ticket.pdf", "file_size_mb": 0.3242454528808594, "assessment": { "main_entity": "Payment Investigation Ticket", "document_category": "Banking Investigation Document", "key_topics": [ "merchant chargeback investigation", "payment dispute resolution", "cardholder dispute handling" ], "relevance_score": 95, "reasoning": "This document is highly relevant to both the financial services industry and exception handling in payment processing. It is an official payment investigation ticket from First National Bank's Payment Investigation Department, specifically dealing with a cardholder dispute and merchant non-response case. The document contains formal banking investigation details, dispute resolution tracking, and payment processing exception handling elements.", "should_process": true }, "assessed_at": { "$date": "2025-10-09T15:20:19.060Z" }, "workflow_id": "fsi_payment_processing_exception_1760023126468" }
El siguiente documento es un ejemplo de la colección workflows:
{ "_id": { "$oid": "68e7d25d5fc2bb6e17eaedad" }, "workflow_id": "fsi_payment_processing_exception_1760023126468", "endpoint": "/api/ingestion/start", "source_paths": [ "@local@/docs/fsi/payment_processing_exception", "@s3@fsi/payment_processing_exception", "@gdrive@fsi/payment_processing_exception" ], "triggered_at": { "$date": "2025-10-09T15:18:53.563Z" } }
Además de las colecciones principales de procesamiento de documentos, la solución incluye otras funciones y sus colecciones correspondientes, como:
Interacción de aviso y memoria:
gradingsincluye calificación de relevancia de documento, como puntuaciones binarias provenientes de evaluaciones de recuperación de preguntas y respuestas.logs_qa: Rastrea los pasos y decisiones del flujo de trabajo agentic RAG, incluidos los registros de sesiones de interacción con prompts.agent_personas: define indicaciones y capacidades por sector, adaptadas a las configuraciones de IA específicas para cada caso de uso.checkpoint_writes_aioGestiona la persistencia asíncrona para el estado de la conversación, específicamente para los guardados del estado de LangGraph.checkpoints_aio: gestiona el historial de diálogos basados en hilos, funcionando como memoria de conversación.
Reportes:
scheduled_reportsrastrea ubicaciones de PDFs y el historial de generación, incluidos los metadatos de los informes generados.report_templates: define secciones y prompts según el caso de uso, sirviendo como plantillas de estructura de reporte.
Este enfoque de modelo de datos crea un diseño intuitivo que simplifica el desarrollo, ya que todos los datos relacionados con una tarea específica se encuentran en la estructura de documentos flexibles de MongoDB.
Compilar la solución
Para la implementación completa y el código, sigue las instrucciones en el README en este repositorio de GitHub.
Esta solución se compila mediante la composición de tres patrones arquitectónicos primarios. A continuación se presentan los pasos sobre cómo se implementa cada componente:
Implementar el sistema multiagente supervisor
Este es el pipeline principal de ingesta que coordina múltiples agentes de IA especializados.
Define agentes especializados: en primer lugar, se define cada agente utilizando un framework LangGraph.
Implementar el agente supervisor: A continuación, se implementa un
supervisor agentque gestiona el flujo de trabajo general. Esto sigue el patrón de supervisor LangGraph.
Compilar el sistema RAG agentico
Este sistema proporciona un flujo de trabajo Agentic RAG autocorregible. Cuenta con un agente de recuperación que decide inteligentemente si recuperar contexto desde MongoDB Atlas búsqueda vectorial o responder directamente al usuario.
Figura 2. Arquitectura Agentic RAG con MongoDB (agente Asistente de documentos).
Crear el índice de búsqueda vectorial: crea un índice de búsqueda vectorial en tu colección
chunks. Esto le permite a la aplicación realizar búsquedas semánticas rápidas en las incrustaciones de documentos.Construye el grafo RAG autocorregible: Construye un grafo cíclico con bordes condicionales usando LangGraph. Este grafo incluye un agente de recuperación, un evaluador de documentos y un re-escritor de queries. El propósito del reescritor de consultas es reintentar si los resultados no son relevantes.
Habilitar la persistencia conversacional: Implementar un sistema de puntos de control de MongoDB para proporcionar memoria conversacional y conversaciones de varios turnos. Esto guarda y carga automáticamente el estado de la conversación desde una colección dedicada de MongoDB, dando a la memoria del agente persistencia.
Cree el generador de informes automatizados
Este módulo automatiza la generación de informes PDF programados.
Almacenar plantillas de informes: Aproveche el esquema flexible de MongoDB para crear una colección
report_templates. Esto almacena la estructura, los títulos de las secciones y los avisos de búsqueda semántica específicos para cada tipo de informe, como los informes de calificación de crédito y de investigación de inversiones.Implementa una generación específica para cada sección: crea un script que recorra cada sección de una plantilla. Este script ejecuta una consulta independiente de Atlas búsqueda vectorial. Utiliza el prompt para esa sección específica y acumula el contenido.
Programar y rastrear las salidas de informes: Este script es ejecutado por un programador. Después de generar el PDF, el script escribe sus metadatos, como la ruta del archivo y la fecha de generación, en una colección
scheduled_reportsen MongoDB para su seguimiento.
Lecciones clave
Usa MongoDB Atlas como tu plataforma unificada de datos para almacenar metadatos estructurados, documentos no estructurados, incrustaciones vectoriales y estados operativos. Esto elimina los silos de datos y reduce la complejidad de la arquitectura.
Implementa un patrón de orquestación multiagente supervisado para gestionar flujos de trabajo complejos y de varios pasos. Este patrón permite dividir las herramientas entre agentes de trabajo especializados para garantizar una experiencia y conocimientos centrados.
Implementa RAG Agentico con mecanismos de autocorrección para mejorar la precisión de las queries. Esto permite a los agentes decidir de forma inteligente cuándo recuperar el contexto, reformular queries y evaluar la relevancia de los documentos.
Implementa los checkpointers de MongoDB para la memoria persistente de agentes y establece un seguimiento robusto de las conversaciones y el flujo de trabajo. Esto garantiza un estado de conversación persistente y un historial de diálogo para interacciones de varios turnos.
Realiza una búsqueda semántica utilizando MongoDB Atlas búsqueda vectorial para la generación de contenidos específicos, como la generación de reportes automatizados. Esto permite que las consultas recuperen contenido por significado, no solo por palabras clave, para una salida más precisa.
Autores
Peyman Parsi, CTO de Campo de Servicios Financieros, MongoDB
Ainhoa Mugica, consultor, soluciones sectoriales, MongoDB
Julian Boronat, especialista sénior, soluciones para la industria, MongoDB
Andrea Alaman Calderón, Especialista Senior, Soluciones de Industria, MongoDB
Obtén más información
Descubre cómo implementar nuestro Marco para la rápida implementación de agentes de IA
Profundiza en la memoria del agente con nuestra guía "¿Qué es la memoria del agente? Una guía para mejorar el aprendizaje y la recordación de la IA
Obtén más información sobre voyage-context-3: Detalles enfocados a nivel de fragmento con contexto global del documento