A Geração Aumentada por Recuperação (RAG) está transformando a forma como desenvolvedores criam sistemas de busca e perguntas e respostas baseados em Inteligência Artificial. O Elasticsearch, um padrão da indústria para busca de texto completo, evoluiu para um banco de dados vetorial de primeira linha.
Ele oferece busca kNN, vetores esparsos e recuperação híbrida poderosa diretamente. Aqui no Brasil Vibe Coding, vamos detalhar como construir um pipeline RAG de nível de produção usando Elasticsearch como vetor store, integrado com embeddings da OpenAI e GPT-4o.
Por que Escolher Elasticsearch para RAG?
Antes de escrevermos qualquer linha de código, é importante entender por que o Elasticsearch se destaca como seu banco de dados vetorial. Existem muitas opções especializadas, como Pinecone, Weaviate, Qdrant e Chroma, cada uma com seus pontos fortes.
No entanto, o Elasticsearch oferece uma combinação única de recursos que são difíceis de igualar. Ele integra busca densa de vetor kNN e busca de texto completo BM25 simultaneamente, unidas através de Reciprocal Rank Fusion (RRF), sem necessidade de orquestração externa.
Ferramentas operacionais maduras são outro grande benefício, incluindo monitoramento via Kibana, segurança com controle de acesso baseado em função e escalabilidade horizontal comprovada em batalha. Além disso, seus metadados estruturados e embeddings vetoriais residem juntos em um único plano de dados, tornando a busca vetorial filtrada um construtor de consulta nativo.
O Elasticsearch utiliza grafos HNSW (Hierarchical Navigable Small World) — o padrão ouro para algoritmos de vizinho mais próximo aproximado. Isso garante recuperação em menos de 100ms em escala. Sua natureza open-source também evita o aprisionamento tecnológico, dando a você controle total sobre sua infraestrutura.
Arquitetura do Sistema RAG
O pipeline RAG desenvolvido serve como um sistema inteligente de perguntas e respostas sobre documentos. Este sistema é ideal para lidar com um corpus de documentos legais, como contratos, NDAs e políticas de conformidade.

Cada pergunta do usuário é primeiro convertida em um vetor denso de 1.536 dimensões, utilizando o modelo text-embedding-3-small da OpenAI. Este vetor é então enviado ao Elasticsearch, que executa uma consulta híbrida de kNN e BM25.
O objetivo é recuperar os principais blocos de documentos mais relevantes. Esses blocos são injetados no prompt do LLM (Large Language Model) como contexto, e o GPT-4o gera uma resposta fundamentada e com citações.
Configurando o Elasticsearch para Vetores
A base de todo o sistema reside no mapeamento do índice. Acertar isso desde o início evita a necessidade de reindexação dolorosa mais tarde. O mapeamento abaixo foi utilizado para o índice /legal-docs:
PUT /legal-docs
{
"mappings": {
"properties": {
"doc_id": { "type": "keyword" },
"title": { "type": "text", "analyzer": "english" },
"content": { "type": "text", "analyzer": "english" },
"category": { "type": "keyword" },
"created_at":{ "type": "date" },
"embedding": {
"type": "dense_vector",
"dims": 1536,
"index": true,
"similarity": "cosine"
}
}
}
}Decisão Chave de Design: Por que similaridade de cosseno?
Os embeddings da OpenAI já são normalizados, o que significa que a similaridade de cosseno e o produto escalar produzem classificações idênticas. No entanto, a similaridade de cosseno é mais robusta caso você troque de provedor de embedding ou use vetores não normalizados. Definindo-a corretamente uma vez, você nunca precisará reindexar devido a uma mudança de similaridade.
A estratégia de chunking (divisão em blocos) é, muitas vezes, a decisão mais subestimada em qualquer pipeline RAG. Uma boa chunking garante que o contexto fornecido ao LLM seja relevante e conciso, otimizando a qualidade da resposta gerada.
Conclusão
Construir um pipeline RAG com Elasticsearch é uma abordagem poderosa para sistemas de busca e QA baseados em IA. A combinação de capacidades de busca de texto completo e vetorial do Elasticsearch, juntamente com a inteligência de modelos como o GPT-4o, permite criar soluções robustas e eficientes. Continue acompanhando o Brasil Vibe Coding para mais novidades e guias práticos sobre o universo da programação e Inteligência Artificial.