Amazon Bedrock e OpenSearch lançam busca inteligente híbrida com IA generativa para soluções RAG

Amazon Bedrock e OpenSearch: inovação em busca híbrida para assistentes com IA generativa
A Amazon Web Services (AWS) apresentou uma solução inovadora que combina Amazon Bedrock, Amazon Bedrock AgentCore, Strands Agents e Amazon OpenSearch para criar assistentes inteligentes baseados em IA generativa capazes de realizar buscas híbridas. Essa tecnologia é voltada para empresas que buscam respostas precisas e contextuais, integrando buscas semânticas e textuais em tempo real, ampliando as possibilidades das soluções Retrieval-Augmented Generation (RAG).
O que é a busca híbrida e qual o diferencial da solução?
Tradicionalmente, buscas baseadas em IA generativa utilizam modelos de linguagem para interpretar consultas e gerar respostas. Porém, apenas a busca semântica pode falhar quando é necessário combinar entendimento conceitual com filtros precisos, como localização ou datas. Por exemplo, ao buscar um "hotel de luxo com vista para o mar em Miami", a busca semântica pode retornar hotéis em outras localidades costeiras, pois prioriza o significado conceitual em vez de atributos exatos.
A solução híbrida apresentada pela AWS une:
- Busca semântica via vetores de embeddings que capturam o significado do texto;
- Busca textual com filtros rigorosos para atributos estruturados, como cidade, país e datas.
Assim, o sistema consegue entregar resultados que são simultaneamente semanticamente relevantes e rigorosamente filtrados conforme os critérios do usuário.
Como funciona a arquitetura da solução?
A arquitetura é baseada em uma estrutura serverless que integra os seguintes componentes:
- Amazon API Gateway: ponto de entrada seguro e escalável para as requisições dos usuários.
- Amazon Bedrock AgentCore: orquestra o ciclo de raciocínio, ação e observação do agente, analisando as consultas, decidindo quais ferramentas usar, executando buscas híbridas e gerando respostas.
- Amazon OpenSearch Serverless: armazena vetores de embeddings para busca semântica e campos estruturados para filtros textuais, executando consultas híbridas.
- Strands Agents: framework open-source que facilita a criação e integração de ferramentas, como a função de busca híbrida, que o agente invoca dinamicamente conforme a consulta.
Essa combinação permite respostas rápidas, escalabilidade automática, custo sob demanda e segurança integrada, com monitoramento via Amazon CloudWatch e controle de acesso pelo AWS IAM.
Quem pode utilizar e como acessar?
Empresas e desenvolvedores que desejam construir assistentes conversacionais avançados com IA generativa podem se beneficiar dessa solução. É especialmente indicado para setores que demandam consultas complexas a bases de dados dinâmicas, como turismo, e-commerce, atendimento ao cliente e business intelligence.
Para começar, é necessário criar uma conta AWS (link para criação de conta). A integração com Amazon Bedrock AgentCore e Strands permite o desenvolvimento e implantação segura dos agentes. A documentação oficial e os tutoriais estão disponíveis para facilitar o uso:
Aspectos práticos e impacto para o usuário final
O agente generativo inteligente adapta sua estratégia de busca conforme a consulta do usuário, seja privilegiando buscas conceituais, filtros exatos ou ambos. Por exemplo, ele pode encontrar hotéis "aconchegantes" com base em descrições semânticas ou localizar hotéis em uma cidade específica com filtros rigorosos, tudo em tempo real.
Essa flexibilidade supera limitações das implementações RAG tradicionais, que possuem fluxos fixos e não se adaptam dinamicamente às necessidades variáveis dos usuários. O resultado é uma experiência mais natural, precisa e eficiente, que pode ser aplicada em múltiplos cenários empresariais.
Como funciona o desenvolvimento da busca híbrida com Strands e Bedrock AgentCore
O código da ferramenta de busca híbrida é definido como uma função que gera embeddings para a busca semântica e aplica filtros textuais para localização, integrando-se ao agente via Strands. Exemplo simplificado da função em Python:
from strands import tool
@tool
def hybrid_search(query_text: str, country: str = None, city: str = None):
"""Realiza busca híbrida combinando entendimento semântico e filtros de localização."""
vector = generate_embeddings(query_text)
query = {
"bool": {
"must": [{"knn": {"embedding_field": {"vector": vector, "k": 10}}}],
"filter": []
}
}
if country:
query["bool"]["filter"].append({"term": {"country": country}})
if city:
query["bool"]["filter"].append({"term": {"city": city}})
response = opensearch_client.search(index="hotels", body=query)
return format_results(response)
Essa função é orquestrada pelo Amazon Bedrock AgentCore, que decide quando e como utilizá-la conforme a consulta do usuário, garantindo respostas contextuais e precisas.