Gere apresentações automaticamente com o Amazon Bedrock AgentCore

O problema: criar apresentações consome tempo demais

Equipes de serviços financeiros costumam gastar horas toda semana produzindo apresentações PowerPoint para clientes — lendo relatórios trimestrais, documentos de conformidade e análises de mercado, extraindo dados relevantes, estruturando slides e gerando visuais de apoio. É um trabalho repetitivo, demorado e suscetível a erros humanos.

A AWS publicou um guia técnico detalhado mostrando como automatizar esse fluxo de trabalho com um sistema de agentes de IA usando o Amazon Bedrock AgentCore. Em testes internos, a solução completa o processo em menos de 90 segundos — desde a consulta ao documento até a entrega da apresentação pronta.

Visão geral da solução

A arquitetura centraliza tudo em um único agente supervisor implantado no runtime do Amazon Bedrock AgentCore. Esse agente decide, com base na solicitação do usuário, qual ferramenta acionar: geração de documento ou sumarização de conteúdo.

O pipeline de Geração Aumentada por Recuperação (RAG) usa o Amazon OpenSearch Serverless para armazenamento vetorial e busca semântica em conteúdo multimodal. A solução também inclui uma API REST construída com .NET 8 minimal APIs, permitindo integração com sistemas corporativos existentes via chamadas HTTP padrão.

Os principais serviços e modelos utilizados são:

  • Anthropic Claude Sonnet 4.6 (disponível no Amazon Bedrock): geração de conteúdo textual
  • Amazon Titan Text Embeddings v2: busca vetorial semântica
  • Stability AI Stable Image Inpaint (disponível no Amazon Bedrock): geração de imagens para os slides
  • Strands Agents: framework open source de orquestração do agente supervisor

A segurança é garantida com isolamento via Amazon Virtual Private Cloud (Amazon VPC), criptografia com AWS Key Management Service (AWS KMS) e controle de acesso com privilégio mínimo via AWS Identity and Access Management (IAM).

Conceitos-chave da arquitetura

Orquestração com Amazon Bedrock AgentCore

Um único agente de IA que precisa gerar documentos a partir de grandes bases de conhecimento tem responsabilidades concorrentes: recuperar conteúdo, estruturar roteiros, gerar texto, criar imagens e montar arquivos. Em vez de concentrar tudo em uma função monolítica, a solução adota uma arquitetura baseada em ferramentas, onde o agente supervisor roteia cada tarefa para a ferramenta especializada correta.

O Amazon Bedrock AgentCore runtime fornece a plataforma para construir, conectar e otimizar agentes em escala, com suporte a qualquer framework ou modelo. O código do agente roda em um contêiner isolado com gerenciamento de sessão, identidade integrada e observabilidade nativa.

O agente supervisor expõe duas ferramentas:

  • generate_pptx: cria apresentações PowerPoint acionando uma função Lambda containerizada (PPTX Generator), que recupera conteúdo da base de conhecimento, gera o roteiro dos slides, cria imagens com IA e monta o documento final.
  • generate_summary: extrai e sintetiza informações da base de conhecimento via RAG para entregar respostas precisas e fundamentadas nos documentos-fonte.

Novas capacidades podem ser adicionadas simplesmente definindo novas ferramentas no código do agente, sem modificar as existentes.

RAG para conhecimento corporativo

O RAG resolve um desafio fundamental em sistemas de IA: entregar informações precisas e atualizadas com base nos dados da empresa, em vez de depender apenas do conhecimento de treinamento do modelo. A implementação usa o Amazon Bedrock Knowledge Bases, que combina busca vetorial com grandes modelos de linguagem (LLMs) para recuperar contexto relevante antes de gerar respostas.

O pipeline de RAG funciona da seguinte forma:

  1. Os documentos corporativos são enviados para o Amazon Simple Storage Service (Amazon S3).
  2. O sistema fragmenta e analisa os documentos, com tratamento especial para conteúdo multimodal (tabelas, gráficos e imagens).
  3. O Amazon Titan Text Embeddings v2 converte cada fragmento em vetores de alta dimensão que capturam o significado semântico.
  4. O Amazon OpenSearch Serverless armazena os vetores, criando um banco de dados vetorial pesquisável.
  5. No momento da consulta, a solicitação do usuário é convertida em um embedding e uma busca por similaridade recupera os fragmentos mais relevantes.
  6. Os fragmentos recuperados fornecem contexto ao modelo de linguagem, que gera respostas fundamentadas no material-fonte.

Nota importante: a coleção do Amazon OpenSearch Serverless precisa permanecer acessível publicamente no plano de dados, pois o Amazon Bedrock Knowledge Bases a acessa a partir de infraestrutura gerenciada pela AWS — e não por endpoints de VPC do cliente. As políticas de acesso a dados do IAM protegem a coleção, e o acesso ao painel do OpenSearch Serverless fica restrito à VPC.

Amazon Bedrock Guardrails para segurança de conteúdo

Aplicações de IA corporativas precisam de moderação de conteúdo para atender a padrões organizacionais e requisitos de conformidade. O Amazon Bedrock Guardrails oferece filtragem de conteúdo e mecanismos de segurança integrados ao longo de todo o pipeline de geração de documentos.

Os guardrails atuam em múltiplos estágios: no processamento da entrada (filtrando solicitações para evitar injeções e conteúdo inadequado), na geração de saída (monitorando respostas do modelo) e no tratamento de Informações de Identificação Pessoal (PII), detectando e anonimizando ou bloqueando dados sensíveis.

A implementação cria guardrails personalizados via AWS Cloud Development Kit (AWS CDK), configurados com políticas específicas para criação de documentos corporativos. O agente aplica os guardrails no nível de invocação do modelo, garantindo segurança de conteúdo consistente sem exigir configuração manual a cada implantação.

Arquitetura e fluxo de dados

O fluxo de dados começa com solicitações dos usuários chegando pelo Amazon API Gateway, que as encaminha para uma Chat API baseada em .NET rodando no AWS Lambda. A API mantém o estado da conversa no Amazon DynamoDB e aciona o agente supervisor hospedado no Amazon Bedrock AgentCore runtime.

O agente analisa a solicitação e seleciona a ferramenta adequada. Para geração de documentos, aciona o PPTX Generator Lambda (uma função Python containerizada). Para sumarização, aciona o Summary Generator Lambda, que consulta a base de conhecimento via API retrieve_and_generate.

Os documentos armazenados no Amazon S3 são processados, fragmentados e transformados em embeddings com o Amazon Titan Text Embeddings v2. O Amazon OpenSearch Serverless indexa os embeddings para busca semântica rápida. Quando as ferramentas consultam a base de conhecimento, os fragmentos relevantes são recuperados e fornecidos como contexto ao Anthropic Claude Sonnet 4.6 para gerar respostas fundamentadas nos documentos-fonte.

Os documentos gerados são armazenados no Amazon S3 e retornados ao usuário como URLs pré-assinadas para download seguro.

As medidas de segurança da solução incluem:

  • AWS WAF com conjuntos de regras gerenciadas e limitação de taxa por IP no Amazon API Gateway
  • Amazon Cognito com plano Plus e modo de segurança avançada para proteção contra ameaças
  • Amazon Bedrock Guardrails provisionados via AWS CDK para filtragem consistente de conteúdo
  • Amazon DynamoDB com recuperação point-in-time, proteção contra exclusão e criptografia gerenciada pelo cliente via AWS KMS
  • Buckets do Amazon S3 com versionamento, registro de acesso e bloqueio de acesso público
  • AWS X-Ray para rastreamento distribuído nas funções Lambda
  • Validação de entrada com verificação de IDs de tenant e sessão por regex
  • Isolamento de tenant via assunção de função do AWS Security Token Service (AWS STS) por tenant

Pré-requisitos para implantação

Antes de implantar a solução, é necessário ter configurado no ambiente:

  • Uma conta AWS ativa com permissões para implantação de infraestrutura, AWS CLI configurado com credenciais e uma função IAM com políticas de acesso adequadas
  • .NET SDK 8 com Amazon.Lambda.Tools instalado globalmente
  • Python 3.12 ou superior para AWS CDK e funções Lambda
  • Node.js e AWS CDK CLI para implantação de infraestrutura
  • Docker ou Finch para construção de imagens de contêiner (suporte ARM64 obrigatório)
  • Acesso habilitado ao Amazon Bedrock para os modelos Anthropic Claude Sonnet 4.6, Amazon Titan Text Embeddings v2 e Stability AI Stable Image Inpaint. Confira a disponibilidade dos modelos por região no Amazon Bedrock
  • Amazon Bedrock AgentCore habilitado na conta
  • Timeout de integração do Amazon API Gateway Regional REST API configurado para pelo menos 300 segundos (o padrão é 29 segundos — veja as cotas do API Gateway)
  • Uma Amazon VPC existente com sub-redes privadas e um bucket S3 para artefatos de implantação

Configuração e implantação

O processo de configuração envolve clonar o repositório, criar o arquivo de parâmetros e inicializar o ambiente AWS CDK.

Clone o repositório e navegue até o diretório do projeto:

git clone https://github.com/aws-samples/sample-generating-powerpoint-presentations-with-amazon-bedrock.git

Crie o arquivo de configuração pipeline-params.ini na raiz do repositório:

environment=dev
awscliprofile=
ContainerRegistry=lambda-pptx-gen
AgentContainerRegistry=agentcore-supervisor
BucketDev=<amzn-s3-demo-bucket>
VpcId=<your-vpc-id>
ParsingInferenceProfileId=us.anthropic.claude-haiku-4-5-20251001-v1:0
AgentInferenceProfileId=us.anthropic.claude-sonnet-4-6
EmbeddingModelId=amazon.titan-embed-text-v2:0
ImageGenerationModelId=stability.stable-image-inpaint-v1:0
PPTXGenImageTag=latest
AgentImageTag=latest

Inicialize o AWS CDK (uma vez por conta e região):

cdk bootstrap

Torne os scripts executáveis:

chmod +x ./pipeline-build.sh
chmod +x ./pipeline-deploy.sh
chmod +x ./deploy-agentcore.sh

Fases de build e implantação

A implantação ocorre em três fases: build dos artefatos, implantação da infraestrutura e implantação do agente no AgentCore runtime.

Fase de build: execute o script de build para compilar os projetos .NET, empacotar as funções Lambda, construir a imagem de contêiner do PPTX Generator e enviá-la ao Amazon Elastic Container Registry (Amazon ECR):

./pipeline-build.sh

Fase de infraestrutura: execute o script de implantação, que criará quatro stacks do AWS CloudFormation em ordem de dependência:

./pipeline-deploy.sh
  • VPCEndpointsStack: configura endpoints de VPC para serviços AWS, incluindo o Amazon Bedrock AgentCore
  • OpensearchStack: provisiona a coleção do Amazon OpenSearch Serverless para armazenamento vetorial
  • AgentCoreStack: cria guardrails, funções Lambda, funções IAM e armazena configurações no AWS Systems Manager Parameter Store
  • ChatApiStack: implanta o Amazon API Gateway e a Chat API Lambda

Implantação do agente no AgentCore runtime: após as stacks de infraestrutura estarem implantadas, execute:

./deploy-agentcore.sh

Esse script constrói o contêiner do agente supervisor (ARM64), envia para o Amazon ECR, cria o runtime e o endpoint do AgentCore, e atualiza o parâmetro no Systems Manager com o ARN do endpoint. A Chat API usa esse ARN para rotear as solicitações ao agente.

Configurações personalizáveis

A solução oferece alguns pontos de configuração relevantes:

  • Instruções do agente: edite agent/app.py para modificar o prompt de sistema e o comportamento do agente supervisor
  • Seleção de modelos: ajuste os identificadores de modelo no pipeline-params.ini — o Anthropic Claude Haiku 4.5 é recomendado para parsing (melhor custo-benefício) e o Claude Sonnet 4.6 para raciocínio do agente
  • Configuração das funções Lambda: Chat API (128 MB, timeout de 29s, concorrência reservada de 100), PPTX Generator (900 MB, timeout de 300s, concorrência de 50) e Summary Generator (512 MB, timeout de 300s, concorrência de 50)

O uso de perfis de inferência em vez de IDs de modelo diretos permite que as solicitações utilizem um pool de capacidade multi-região mais amplo, aumentando o throughput e mantendo desempenho consistente sob carga.

Resultados dos testes internos

Em testes internos com o Relatório Anual da Amazon 2024 em PDF de 90 páginas, a solução apresentou os seguintes resultados:

  • Tempo de geração da apresentação: 70 a 90 segundos de ponta a ponta (incluindo recuperação da base de conhecimento, geração de conteúdo, criação de imagens e montagem do arquivo)
  • Número de slides: seis slides com formatos de título, pontos de destaque, imagem+texto, somente imagem e conclusões
  • Geração de imagens: duas imagens geradas por IA por apresentação usando o Stability AI Stable Image Inpaint
  • Custo por geração: aproximadamente US$ 0,04 em custos de invocação de modelos no momento da publicação em us-east-1 (geração de texto e imagem, sendo a geração de imagem responsável pela maior parte do custo)
  • Ingestão na base de conhecimento: menos de 2 minutos para um único PDF de 1,3 MB

As apresentações geradas incluem slides de título com identidade visual personalizável, slides de conteúdo com pontos estruturados, slides com imagens geradas por IA, notas do apresentador e formatação consistente baseada em templates corporativos.

Sobre as respostas da API: como a geração de apresentações leva de 70 a 90 segundos (excedendo o timeout padrão de 29 segundos do Amazon API Gateway), a Chat API usa um padrão de invocação assíncrona. Use streaming ou polling para receber o resultado final, em vez de aguardar em uma chamada REST síncrona.

Limpeza dos recursos

Para evitar cobranças contínuas, exclua os recursos implantados seguindo esta ordem:

Exclua o runtime e o endpoint do AgentCore:

aws bedrock-agentcore-control delete-agent-runtime-endpoint \
  --agent-runtime-id <runtime-id> \
  --agent-runtime-endpoint-id <endpoint-id>

aws bedrock-agentcore-control delete-agent-runtime \
  --agent-runtime-id <runtime-id>

Desative a proteção contra exclusão do Amazon DynamoDB (obrigatório antes de excluir as stacks):

aws dynamodb update-table --table-name chat-sessions-dev --no-deletion-protection-enabled
aws dynamodb update-table --table-name tenant-table-dev --no-deletion-protection-enabled

Exclua as stacks do AWS CloudFormation em ordem reversa de dependência:

aws cloudformation delete-stack --stack-name ChatApiStack
aws cloudformation delete-stack --stack-name AgentCoreStack
aws cloudformation delete-stack --stack-name OpensearchStack
aws cloudformation delete-stack --stack-name VPCEndpointsStack

Esvazie os buckets do Amazon S3 antes da exclusão (o AWS CloudFormation não consegue excluir buckets não vazios):

aws s3 rm s3://amzn-s3-demo-bucket --recursive

Exclua os repositórios do Amazon ECR com as imagens de contêiner:

aws ecr delete-repository --repository-name lambda-pptx-gen --force
aws ecr delete-repository --repository-name agentcore-supervisor --force

Exclua também as sub-stacks da base de conhecimento criadas pelo provisionador de tenants:

aws cloudformation delete-stack --stack-name bedrock-kb-<tenant-id>

Considerações de segurança

A solução usa variáveis de ambiente do Lambda para valores de configuração como IDs de modelo, nomes de buckets S3 e IDs de guardrail — que são identificadores de recursos, não segredos. Para implantações em produção, recomenda-se usar o AWS Secrets Manager para valores de configuração sensíveis, como chaves de API e credenciais de banco de dados.

O agente no AgentCore runtime roda em um contêiner isolado com isolamento por sessão. Cada sessão de usuário opera em um ambiente dedicado, ajudando a evitar contaminação de dados entre sessões.

Conclusão

A solução demonstra como o Amazon Bedrock AgentCore pode automatizar a geração de documentos corporativos de forma eficiente e segura. O agente supervisor implantado no AgentCore runtime roteia solicitações para ferramentas especializadas de criação de documentos e sumarização, reduzindo a criação de apresentações para cerca de 90 segundos em testes internos. O pipeline de RAG fundamenta o conteúdo gerado nos documentos-fonte, e o Amazon Bedrock Guardrails garante a conformidade do conteúdo.

Essa arquitetura pode ser adaptada para geração automatizada de relatórios em serviços financeiros, documentação técnica para equipes de engenharia ou criação de propostas para equipes de vendas. Para começar, clone o repositório no GitHub e siga as instruções de configuração. Para mais informações sobre os serviços utilizados, consulte a documentação do Amazon Bedrock AgentCore, o SDK do Strands Agents e o Guia do Desenvolvedor do AWS CDK.

Fonte

Generate presentations with Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/machine-learning/generate-presentations-with-amazon-bedrock-agentcore/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *