Como a Ring escalou o suporte global com Amazon Bedrock Knowledge Bases

Desafios do suporte ao cliente na expansão internacional da Ring
A Ring, subsidiária da Amazon especializada em segurança residencial, enfrentava limitações significativas em seu sistema de atendimento ao cliente ao expandir suas operações para múltiplos países. Inicialmente, o suporte era baseado em um chatbot rule-based desenvolvido com Amazon Lex, que apresentava restrições na variedade de interações e demandava manutenção constante. Durante picos de atendimento, 16% das conversas precisavam ser encaminhadas a agentes humanos, e os engenheiros dedicavam cerca de 10% do tempo à manutenção do sistema.
Com a internacionalização, a Ring precisava de uma solução capaz de fornecer suporte contextualizado e preciso para diferentes regiões, considerando não apenas a tradução, mas também informações específicas de cada mercado, como normas e configurações técnicas.
Requisitos para um sistema de suporte baseado em RAG
- Localização global de conteúdo: Atendimento com informações regionais específicas, como voltagem e regulamentações, para 10 países, incluindo Reino Unido e Alemanha.
- Arquitetura serverless gerenciada: Foco da equipe em experiência do cliente, evitando a gestão direta de infraestrutura.
- Gerenciamento escalável de conhecimento: Utilização de tecnologia de busca vetorial para recuperação precisa em um repositório unificado, com pipelines automatizados para ingestão de conteúdo.
- Otimização de desempenho e custos: Latência média de resposta entre 7 e 8 segundos, com arquitetura centralizada para reduzir complexidade e despesas, eliminando a necessidade de infraestrutura por região.
Implementação técnica: arquitetura e workflows da Ring
A Ring adotou uma arquitetura baseada em Retrieval-Augmented Generation (RAG) utilizando Amazon Bedrock Knowledge Bases, AWS Lambda, AWS Step Functions e Amazon S3. A gestão do conteúdo foi dividida em dois fluxos principais:
Fluxo de ingestão e avaliação
- Upload de conteúdo: A equipe de conteúdo da Ring envia documentos de suporte para um bucket Amazon S3, organizados com metadados que indicam a localidade (exemplo: "en-GB" para Reino Unido) e outras propriedades.
- Processamento automático: Eventos do S3 acionam funções Lambda que processam o conteúdo, separando dados brutos e extraindo metadados para armazenamento estruturado.
- Criação diária da base de conhecimento: Orquestrada por AWS Step Functions, que copia dados para buckets específicos, cria versões da base de conhecimento com indexação vetorial e mantém versões independentes para facilitar testes e rollback.
- Avaliação e validação: Consultas de teste avaliam a precisão e qualidade da recuperação, com métricas publicadas em dashboards Tableau. Modelos de linguagem da Anthropic Claude Sonnet 4 são usados para julgar e promover a melhor versão para produção.
Fluxo de promoção e atendimento ao cliente
Na interação com o cliente, o chatbot recebe a consulta, que é processada por uma função Lambda para aplicar filtros baseados em metadados regionais (contentLocale) e realizar buscas na base validada. O conteúdo mais relevante é combinado com a pergunta para formar um prompt enriquecido, enviado a modelos de linguagem no Amazon Bedrock para gerar respostas contextualizadas e locais.
## Exemplo de filtro para conteúdo regional em Lambda
num_results = 10
market = "en-GB"
knowledge_base_id = "A2BCDEFGHI"
user_text = "How can I replace the doorbell battery?"
vector_search_config = {"numberOfResults": num_results}
vector_search_config["filter"] = {
"equals": {
"key": "contentLocale",
"value": market
}
}
response = boto3.client("bedrock-agent-runtime").retrieve(
knowledgeBaseId=knowledge_base_id,
retrievalQuery={"text": user_text},
retrievalConfiguration={
"vectorSearchConfiguration": vector_search_config,
},
)
Benefícios e resultados alcançados
Com essa arquitetura, a Ring eliminou a necessidade de implantar infraestrutura por região, reduzindo o custo de expansão para novos mercados em 21%. A experiência do cliente se manteve consistente em 10 localidades internacionais, com respostas rápidas e contextualizadas. A abordagem serverless permitiu escalabilidade automática e diminuiu o esforço operacional da equipe técnica.
Considerações arquiteturais e operacionais para sistemas RAG em escala
- Escolha da base vetorial: A Ring utiliza Amazon OpenSearch Serverless para busca vetorial, mas Amazon S3 Vectors é uma alternativa mais econômica para casos de uso com buscas mais simples.
- Versionamento: A Ring optou por bases de conhecimento separadas para cada versão, facilitando rollback e avaliação, mas é possível usar múltiplas fontes de dados em uma única base, com trade-offs em complexidade e manutenção.
- Recuperação de desastres: Para alta disponibilidade, recomenda-se implantar recursos em múltiplas regiões AWS, incluindo bases de conhecimento, buckets S3 e funções Lambda, mantendo a sincronização dos dados.
- Escalabilidade do modelo base: Amazon Bedrock oferece cross-Region inference (CRIS) para distribuir a carga de inferência entre regiões, aumentando a capacidade sem alterar a arquitetura da base de conhecimento.
- Modelos de embedding e chunking: A escolha adequada impacta diretamente a precisão das buscas e a qualidade das respostas geradas.
Links úteis para aprofundamento
- Opções de armazenamento de dados do Amazon Bedrock Knowledge Bases
- Documentação oficial do Amazon Bedrock Knowledge Bases
- Notificações de eventos do Amazon S3
- Uso de vetores no Amazon S3 para Bedrock KB
- Busca vetorial no Amazon OpenSearch Service
- Guia prescritivo para escolher banco vetorial em casos RAG