O Desafio do Suporte ao Cliente em Escala
Organizações enfrentam um dilema crescente: clientes exigem respostas ágeis, mas os times de suporte trabalham sobrecarregados. Documentação de produtos e artigos em bases de conhecimento frequentemente exigem que usuários vasculhem centenas de páginas, enquanto agentes de atendimento precisam processar dezenas de consultas diárias para localizar informações específicas.
A AWS demonstra como resolver esse gargalo através da construção de um assistente de website inteligente, combinando Amazon Bedrock com Amazon Bedrock Knowledge Bases. A solução beneficia tanto equipes internas quanto clientes externos, oferecendo:
- Respostas instantâneas e relevantes aos clientes, eliminando buscas manuais por documentação
- Sistema potente de recuperação de informações para agentes de suporte, reduzindo tempo de resolução
- Atendimento automatizado disponível 24 horas por dia, 7 dias por semana
Visão Geral da Solução
A arquitetura emprega Recuperação Aumentada por Geração (Retrieval-Augmented Generation — RAG) para recuperar dados relevantes de uma base de conhecimento e retorná-los ao usuário conforme seu nível de acesso. Os componentes principais são:
Amazon Bedrock Knowledge Bases
O conteúdo do website corporativo é rastreado e armazenado na base de conhecimento. Documentos de um bucket Amazon Simple Storage Service (Amazon S3), como manuais e guias de resolução de problemas, também são indexados. A plataforma permite configurar múltiplas fontes de dados e aplicar filtros para diferenciar informações internas de públicas, protegendo dados sensatos através de controles avançados de segurança.
Modelos de Linguagem Gerenciados do Amazon Bedrock
Um grande modelo de linguagem (LLM) do Amazon Bedrock gera respostas com inteligência artificial para perguntas do usuário.
Arquitetura Serverless Escalável
A solução utiliza Amazon Elastic Container Service (Amazon ECS) para hospedar a interface do usuário, e uma função AWS Lambda para processar solicitações. O fluxo de implementação contínua é automatizado através do AWS Cloud Development Kit (AWS CDK).
Fluxo de Funcionamento
O processo segue estas etapas:
- Amazon Bedrock Knowledge Bases processa documentos enviados para Amazon S3, dividindo-os em segmentos e gerando representações vetoriais (embeddings). O rastreador web integrado acessa websites selecionados para extrair e ingerir conteúdo.
- A aplicação web executa como aplicação ECS. Usuários internos e externos acessam através de navegadores, com balanceamento de carga gerenciado por Elastic Load Balancing (ELB).
- Autenticação ocorre via Amazon Cognito, usando credenciais registradas em um pool de usuários.
- Ao submeter uma pergunta, a aplicação invoca uma função Lambda, que utiliza APIs do Amazon Bedrock para recuperar informações relevantes da base de conhecimento. A função envia também IDs de fonte de dados conforme o tipo de usuário (externo ou interno), garantindo que apenas informações disponíveis sejam recuperadas.
- A Lambda então invoca Amazon Nova Lite para gerar respostas. O modelo de linguagem complementa dados da base de conhecimento, gerando uma resposta que é retornada e exibida ao usuário.
Pré-requisitos
Para implantar a solução, certifique-se de possuir:
- Uma conta AWS
- Acesso a modelos no Amazon Bedrock para Amazon Titan e Amazon Nova Lite
- Usar a mesma região AWS para acesso ao modelo e implantação da solução
- Um bucket S3 na mesma região para armazenar dados internos
Criação da Base de Conhecimento e Ingestão de Dados
Configurar a Base de Conhecimento
Na console do Amazon Bedrock, acesse Knowledge Bases sob Builder tools. Crie uma nova base selecionando a opção de armazenamento vetorial. Escolha Web Crawler como fonte de dados e insira URLs do seu website para rastreamento. Configure o escopo de rastreamento (domínio específico ou subdomínio, se desejado) e defina filtros de regex para incluir ou excluir padrões de URL conforme necessário. Mantenha a estratégia padrão de fragmentação de conteúdo, selecione o modelo Amazon Titan Text Embeddings V2 para gerar embeddings, escolha Amazon OpenSearch Serverless como repositório vetorial e finalize a criação.
Após criação, acesse a página de detalhes da base e selecione a fonte de dados para sincronizá-la, iniciando o rastreamento e ingestão de dados do website.
Adicionar Dados Internos do Amazon S3
Na página de detalhes da base de conhecimento, escolha adicionar uma nova fonte de dados especificando Amazon S3. Selecione o bucket desejado, mantenha a estratégia de análise padrão e finalize. Sincronize a nova fonte para indexar dados dos documentos no bucket.
Fazer Upload de Documentos Internos
Na console do Amazon S3, selecione seu bucket e faça upload dos documentos internos. Retorne à console do Amazon Bedrock, acesse a base de conhecimento e sincronize a fonte de dados interna para indexar os arquivos enviados no repositório vetorial.
Anote os IDs da base de conhecimento e das fontes de dados (externa e interna), pois serão necessários na etapa seguinte.
Implantação da Infraestrutura
Para implantar usando AWS CDK, baixe o repositório de código e navegue até o diretório iac:
cd ./customer-support-ai/iac
Abra o arquivo parameters.json e atualize os IDs capturados anteriormente:
"external_source_id": "Set this to value from Amazon Bedrock Knowledge Base datasource",
"internal_source_id": "Set this to value from Amazon Bedrock Knowledge Base datasource",
"knowledge_base_id": "Set this to value from Amazon Bedrock Knowledge Base"
Siga as instruções de implantação definidas no arquivo customer-support-ai/README.md para configurar a infraestrutura.
Ao concluir, os detalhes de saída incluem a URL do Application Load Balancer (ALB) e credenciais de usuários de teste. Você também pode acessar a console do Amazon EC2, selecionar Load Balancers e copiar o nome de domínio (DNS) do ALB para acessar a interface.
Testando a Solução
Exemplo Prático: Consultas sobre Amazon S3
A solução diferencia classes de usuários, permitindo que o Amazon Bedrock Knowledge Bases gerencie múltiplas fontes (conteúdo web, documentação, tickets de suporte) com controles de filtragem integrados. Usuários internos acessam tanto guias operacionais quanto documentação pública; usuários externos veem apenas conteúdo público.
Abra a URL do ALB em um navegador. Autentique-se com as credenciais de usuário externo fornecidas. Acesse o Support AI Assistant na navegação e formule perguntas sobre Amazon S3. O assistente fornecerá respostas baseadas no guia de primeiros passos do Amazon S3. Se o usuário externo questionar informações restritas a usuários internos, o assistente responderá apenas com dados públicos.
Faça logout, autentique-se novamente como usuário interno e formule as mesmas consultas. O usuário interno acessará informações presentes nos documentos internos.
Limpeza de Recursos
Ao descontinuar a solução, remova os recursos associados. No diretório iac do projeto, execute:
cd iac
./cleanup.sh
Alternativamente, execute manualmente:
cd iac
cdk destroy --all
Na console do Amazon Bedrock, acesse Knowledge Bases, selecione a base criada e escolha Delete. Digite “delete” e confirme. Na console do OpenSearch Service, acesse Collections sob Serverless, selecione a coleção provisionada durante implantação, escolha Delete, digite “confirm” e confirme.
Conclusão
A solução apresentada demonstra como criar assistentes de website alimentados por IA para recuperar informações rapidamente através de rastreamento web e upload de documentos. A mesma abordagem pode ser adaptada para desenvolver outros protótipos e aplicações com IA generativa.
Para aprofundamento em fundamentos de IA generativa e trabalho com modelos de fundação, incluindo técnicas avançadas de prompt engineering, explore o curso Generative AI with LLMs. Este curso sob demanda, com duração de 3 semanas, destina-se a cientistas de dados e engenheiros que desejam construir aplicações de IA generativa com LLMs, oferecendo uma base sólida para desenvolvimento com Amazon Bedrock. Inscreva-se para aprender mais sobre Amazon Bedrock.
Fonte
Build an AI-powered website assistant with Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/build-an-ai-powered-website-assistant-with-amazon-bedrock/)
Leave a Reply