Construindo Aplicações Baseadas em RAG Multimodal: Usando Amazon Bedrock Data Automation e Amazon Bedrock Knowledge Bases
Atualmente, as organizações lidam com um volume imenso de dados não estruturados em diversos formatos, incluindo documentos, imagens, arquivos de áudio e vídeo. Antes, extrair insights significativos desses dados, com formatos variados, exigia processos complexos e um esforço de desenvolvimento considerável. No entanto, tecnologias de inteligência artificial generativa estão revolucionando esse campo, fornecendo capacidades poderosas para automatizar o processamento, a análise e a extração de insights desses diversos formatos de documentos, reduzindo drasticamente o trabalho manual e, ao mesmo tempo, aumentando a precisão e a escalabilidade.
Com o Amazon Bedrock Data Automation e o Amazon Bedrock Knowledge Bases, agora você pode facilmente construir aplicações RAG multimodais robustas. Juntos, eles capacitam as organizações a processar, organizar e recuperar informações de forma eficiente a partir de seu conteúdo multimodal, transformando a forma como gerenciam e utilizam dados não estruturados.
Este artigo irá guiá-lo através da construção de uma aplicação full-stack que utiliza o Amazon Bedrock Data Automation para processar conteúdo multimodal, armazena as informações extraídas no Amazon Bedrock Knowledge Bases e permite consultas em linguagem natural através de uma interface de perguntas e respostas baseada em RAG.
Casos de Uso Práticos
A integração do Amazon Bedrock Data Automation e do Amazon Bedrock Knowledge Bases oferece uma solução poderosa para lidar com grandes volumes de dados não estruturados em vários setores, como:
- Na área da saúde, as organizações precisam processar grandes quantidades de registros de pacientes, incluindo formulários médicos, imagens de diagnóstico e gravações de consultas. O Amazon Bedrock Data Automation pode extrair e estruturar essas informações automaticamente, enquanto o Amazon Bedrock Knowledge Bases permite que os profissionais de saúde utilizem consultas em linguagem natural, como “Qual foi a última leitura de pressão arterial do paciente?” ou “Mostrar o histórico de tratamento para pacientes com diabetes”.
- Instituições financeiras lidam diariamente com milhares de documentos, desde pedidos de empréstimo até demonstrações financeiras. O Amazon Bedrock Data Automation pode extrair indicadores financeiros importantes e informações de conformidade, enquanto o Amazon Bedrock Knowledge Bases permite que os analistas façam perguntas como: “Quais fatores de risco foram mencionados no último relatório trimestral?” ou “Mostrar todos os pedidos de empréstimo com altas pontuações de crédito”.
- Escritórios de advocacia precisam lidar com grandes volumes de arquivos de casos, que contêm documentos judiciais, fotos de evidências e depoimentos de testemunhas. O Amazon Bedrock Data Automation pode processar essas diversas fontes, enquanto o Amazon Bedrock Knowledge Bases permite que os advogados consultem “Quais evidências foram apresentadas sobre o incidente de 15 de março?” ou “Encontrar todas as declarações de testemunhas que mencionam o réu”.
- Empresas de mídia podem usar essa integração para habilitar a veiculação de anúncios contextuais inteligentes. O Amazon Bedrock Data Automation processa conteúdo de vídeo, legendas e áudio para entender o contexto da cena, diálogo e emoções, ao mesmo tempo em que analisa ativos de anúncios e requisitos de campanha. Em seguida, o Amazon Bedrock Knowledge Bases permite consultas complexas para combinar anúncios com os momentos de conteúdo apropriados, como “Localizar cenas de atividades ao ar livre positivas contendo anúncios de equipamentos esportivos” ou “Identificar segmentos de anúncios de turismo que discutem a indústria de viagens”. Essa correspondência contextual inteligente oferece veiculação de anúncios mais relevante e eficaz, mantendo a segurança da marca.
Esses exemplos demonstram como os recursos de extração do Amazon Bedrock Data Automation, combinados com as consultas em linguagem natural do Amazon Bedrock Knowledge Bases, podem transformar a maneira como as organizações interagem com seus dados não estruturados.
Visão geral da solução
Esta solução abrangente demonstra as capacidades avançadas do Amazon Bedrock no processamento e análise de conteúdo multimodal (documentos, imagens, arquivos de áudio e vídeo). Ela é habilitada através de três componentes principais: Amazon Bedrock Data Automation, Amazon Bedrock Knowledge Bases e modelos de fundação fornecidos pelo Amazon Bedrock. Os usuários podem fazer o upload de vários tipos de conteúdo, incluindo arquivos de áudio, imagens, vídeos ou PDFs, para processamento e análise automatizados.
Quando você carrega o conteúdo, o Amazon Bedrock Data Automation o processa usando blueprints padrão ou personalizados para extrair insights valiosos. As informações extraídas são armazenadas em formato JSON em um bucket do Amazon Simple Storage Service (Amazon S3), enquanto o status do trabalho é rastreado via Amazon EventBridge e persistido no Amazon DynamoDB. A solução executa o parsing personalizado do JSON extraído para criar documentos compatíveis com o Knowledge Base, que são então armazenados e indexados no Amazon Bedrock Knowledge Bases.
Através de uma interface de usuário intuitiva, a solução apresenta o conteúdo carregado e as informações extraídas lado a lado. Os usuários podem interagir com os dados processados por meio de um sistema de perguntas e respostas baseado em Retrieval Augmented Generation (RAG), alimentado por modelos de fundação do Amazon Bedrock. Essa abordagem integrada permite que as organizações processem, analisem e obtenham insights de forma eficiente a partir de uma variedade de formatos de conteúdo, utilizando uma infraestrutura robusta e escalável implantada usando o AWS Cloud Development Kit (AWS CDK).
Arquitetura
O diagrama de arquitetura a seguir ilustra o fluxo da solução:
- Os usuários interagem com a aplicação frontal, autenticando-se através do Amazon Cognito.
- As requisições da API são processadas pelo Amazon API Gateway e pelas funções AWS Lambda.
- Os arquivos são carregados em um bucket S3 para processamento.
- O Amazon Bedrock Data Automation processa os arquivos e extrai informações.
- O EventBridge gerencia o status do trabalho e aciona o pós-processamento.
- O status do trabalho é armazenado no DynamoDB, e o conteúdo processado é armazenado no Amazon S3.
- As funções Lambda analisam o conteúdo processado e o indexam no Amazon Bedrock Knowledge Bases.
- O sistema de perguntas e respostas baseado em RAG usa modelos de base do Amazon Bedrock para responder às consultas do usuário.
Pré-requisitos
Backend
Para o backend, você precisa dos seguintes pré-requisitos:
- Uma conta AWS.
- Python 3.11 ou superior.
- Docker.
- GitHub (se estiver usando o repositório de código).
- AWS CDK. Para mais detalhes e pré-requisitos, consulte o Getting Started With the AWS CDK.
- Acesso habilitado aos modelos de fundação no Amazon Bedrock:
- Claude 3.5 Sonnet v2.0 da Anthropic
- Amazon Nova Pro v1.0
- Claude 3.7 Sonnet v1.0 da Anthropic
Frontend
Para o frontend, você precisa dos seguintes pré-requisitos:
- Node/npm: v18.12.1
- Backend implantado.
- Pelo menos um usuário adicionado ao pool de usuários do Amazon Cognito correspondente (necessário para chamadas de API autenticadas).
Tudo que você precisa está disponível como código open-source em nosso repositório GitHub.
Guia de implantação
Este código base do aplicativo de exemplo é organizado nas seguintes pastas principais: