El procesamiento inteligente de documentos (IDP) transforma la forma en que las organizaciones manejan datos de documentos no estructurados, permitiendo la extracción automática de información valiosa de facturas, contratos e informes. Hoy, exploramos cómo crear mediante programación una solución IDP que utiliza Strands SDK, Amazon Bedrock AgentCore, Amazon Bedrock Knowledge Base y Bedrock Data Automation (BDA). Esta solución se proporciona a través de un cuaderno Jupyter que permite a los usuarios cargar documentos comerciales multimodales y extraer información utilizando BDA como analizador para recuperar fragmentos relevantes y aumentar un mensaje a un modelo fundamental (FM). En este caso de uso, nuestra solución recupera el contexto relevante para los distritos escolares públicos a partir del Informe Nacional del Departamento de Educación de EE. UU.
Amazon Bedrock Data Automation se puede utilizar como característica independiente o como analizador al configurar una base de conocimientos para flujos de trabajo de generación aumentada de recuperación (RAG). BDA se puede utilizar para generar información valiosa a partir de contenido multimodal no estructurado, como documentos, imágenes, videos y audio. Con BDA, puede crear flujos de trabajo IDP y RAG automatizados de forma rápida y rentable. Al crear su flujo de trabajo RAG, puede utilizar Amazon OpenSearch Service para almacenar las incrustaciones vectoriales de los documentos necesarios. En esta publicación, Bedrock AgentCore utiliza BDA a través de herramientas para realizar RAG multimodal para la solución IDP.
Amazon Bedrock AgentCore es un servicio totalmente administrado que le permite crear y configurar agentes autónomos. Los desarrolladores pueden crear e implementar agentes utilizando marcos populares y un conjunto de modelos que incluyen los de Amazon Bedrock, Anthropic, Google y OpenAI, todo sin administrar la infraestructura subyacente ni escribir código personalizado.
Strands Agents SDK es un sofisticado conjunto de herramientas de código abierto que revoluciona el desarrollo de agentes de inteligencia artificial (IA) a través de un enfoque basado en modelos. Los desarrolladores pueden crear un agente de Strands con un mensaje (que define el comportamiento del agente) y una lista de herramientas. Un modelo de lenguaje grande (LLM) realiza el razonamiento, decidiendo de forma autónoma las acciones óptimas y cuándo utilizar herramientas en función del contexto y la tarea. Este flujo de trabajo admite sistemas complejos, minimizando el código que normalmente se necesita para orquestar la colaboración entre múltiples agentes. Strands SDK se utiliza para crear el agente y definir las herramientas necesarias para realizar el procesamiento inteligente de documentos.
Siga los siguientes requisitos previos e implementaciones paso a paso para implementar la solución en su propio entorno de AWS.
Requisitos previos
Para seguir los casos de uso de ejemplo, configure los siguientes requisitos previos:
Arquitectura
La solución utiliza los siguientes servicios de AWS:
Amazon S3 para capacidades de carga y almacenamiento de documentos Bedrock Knowledge Bases para convertir objetos almacenados en S3 en un flujo de trabajo listo para RAG Amazon OpenSearch para incrustaciones de vectores Amazon Bedrock AgentCore para el flujo de trabajo IDP Strands Agent SDK para el marco de código abierto de definición de herramientas para realizar IDP Bedrock Data Automation (BDA) para extraer información estructurada de sus documentos
Siga estos pasos para comenzar:
Cargue documentos relevantes en Amazon S3. Cree la base de conocimientos de Amazon Bedrock y analice la fuente de datos de S3 mediante Amazon Bedrock Data Automation. Los fragmentos de documentos almacenados como incrustaciones de vectores en Amazon OpenSearch Strands Agent implementado en Amazon Bedrock AgentCore Runtime realizan RAG para responder las preguntas de los usuarios. El usuario final recibe respuesta
Configurar la CLI de AWS
Utilice el siguiente comando para configurar la interfaz de línea de comandos de AWS (AWS CLI) con las credenciales de AWS para su cuenta de Amazon y su región de AWS. Antes de comenzar, consulte AWS Bedrock Data Automation para conocer la disponibilidad y los precios de la región:
Clonar y construir el repositorio de GitHub localmente
Abra el cuaderno Jupyter llamado:
Instrucciones de Bedrock Data Automation con AgentCore Notebook:
Este cuaderno demuestra cómo crear una solución IDP utilizando BDA con Amazon Bedrock AgentCore Runtime. En lugar de los agentes Bedrock tradicionales, implementaremos un agente Strands a través de AgentCore, brindando capacidades de nivel empresarial con flexibilidad de marco. Se incluyen instrucciones más específicas en el cuaderno de Jupyter. A continuación se ofrece una descripción general de cómo puede configurar Bedrock Knowledge Bases con automatización de datos como un analizador con Bedrock AgentCore.
Pasos:
Importar bibliotecas y configurar capacidades de AgentCore Crear la base de conocimientos para Amazon Bedrock con BDA Cargar el conjunto de datos de informes académicos en Amazon S3 Implementar el agente Strands mediante AgentCore Runtime Probar el agente alojado en AgentCore Limpiar todos los recursos
Consideraciones de seguridad
La implementación utiliza varias barreras de seguridad como:
Manejo seguro de carga de archivos Control de acceso basado en roles de Gestión de acceso e identidad (IAM) Validación de entradas y manejo de errores
Nota: Esta implementación es para fines de demostración. Se requieren controles de seguridad, pruebas y revisiones de arquitectura adicionales antes de implementarlo en un entorno de producción.
Beneficios y casos de uso
Esta solución es particularmente valiosa para:
Flujos de trabajo de procesamiento de documentos automatizados Análisis inteligente de documentos en conjuntos de datos a gran escala Sistemas de respuesta a preguntas basados en el contenido del documento Procesamiento de contenido multimodal
Conclusión
Esta solución demuestra cómo utilizar las capacidades de Amazon Bedrock AgentCore para crear aplicaciones inteligentes de procesamiento de documentos. Al crear Strands Agents para respaldar Amazon Bedrock Data Automation, podemos crear aplicaciones potentes que comprendan e interactúen con el contenido de documentos multimodal mediante herramientas. Con Amazon Bedrock Data Automation, podemos mejorar la experiencia RAG para formatos de datos más complejos, incluidos documentos, imágenes, audios y videos con gran riqueza visual.
Recursos adicionales
Para obtener más información, visite Amazon Bedrock.
Guías de usuario del servicio:
Muestras relevantes:
Sobre los autores
Raian Osman es gerente técnico de cuentas en AWS y trabaja en estrecha colaboración con clientes de tecnología educativa ubicados fuera de América del Norte. Ha estado en AWS durante más de 3 años y comenzó su andadura trabajando como arquitecto de soluciones. Raian trabaja en estrecha colaboración con organizaciones para optimizar y proteger las cargas de trabajo en AWS, mientras explora casos de uso innovadores para la IA generativa.
Andy Orlosky es arquitecto de soluciones de búsqueda estratégica en Amazon Web Services (AWS) con sede en Austin, Texas. Ha estado en AWS durante aproximadamente 2 años, pero ha trabajado en estrecha colaboración con clientes de educación en todo el sector público. Como líder en la comunidad de campo técnico de IA/ML, Andy continúa profundizando con sus clientes para diseñar y escalar soluciones de IA generativa. Tiene 7 certificaciones de AWS y le gusta pasar tiempo con su familia, practicar deportes con amigos y animar a sus equipos deportivos favoritos en su tiempo libre.
Spencer Harrison es arquitecto de soluciones asociado en Amazon Web Services (AWS), donde ayuda a las organizaciones del sector público a utilizar la tecnología de la nube para centrarse en los resultados comerciales. Le apasiona utilizar la tecnología para mejorar procesos y flujos de trabajo. Los intereses de Spencer fuera del trabajo incluyen la lectura, el pickleball y las finanzas personales.