Embeddings e busca semântica corporativa: o motor invisível por trás do RAG
Embeddings parecem detalhe técnico — mas a escolha errada degrada qualquer agente IA corporativo. Guia objetivo para CTOs sobre modelos, dimensões, custo e o que realmente importa em produção.
Fabiano Brito
CEO & Founder
text-embedding-005 via Vertex AI) cobre 90% dos casos. Os outros 10% (multilíngue pesado, código, jurídico) merecem escolha consciente. Mais importante que o modelo: chunking, metadados, reranker e hybrid search.
Embedding é o componente mais subestimado do RAG. Times debatem prompt durante semanas, mas usam o embedding default sem comparar. Resultado: motor de busca semântica medíocre, agente que parece estar "alucinando" quando na verdade está recebendo contexto ruim.
Este post é o guia que daríamos a um CTO antes de aprovar a arquitetura.
O que é embedding (em 2 parágrafos)
Modelo de embedding pega um texto ("contrato de prestação de serviços") e devolve vetor de N números (ex.: 768). Textos com significado parecido viram vetores próximos no espaço; textos diferentes ficam distantes.
Busca semântica funciona assim: indexa todos os documentos como vetores. Recebe pergunta, vira vetor, encontra os K vetores mais próximos = top-K documentos relevantes. É o que está por trás de "busca" em qualquer RAG moderno.
Modelos disponíveis no Vertex AI
| Modelo | Dim | Custo (US$/1M tokens) | Uso recomendado |
|---|---|---|---|
text-embedding-005 |
768 | 0.025 | Default geral, multilíngue leve |
text-embedding-large-005 |
3072 | 0.10 | Alta precisão, latência maior |
text-multilingual-embedding-002 |
768 | 0.025 | Multilíngue específico (20+ idiomas) |
| OSS (E5, BGE) | variável | infra própria | Casos com dado ultra-sensível on-prem |
Em Gemini Enterprise + Vertex AI Search, a escolha vem configurada. Para customizar, cria-se Data Store dedicado.
Critérios de decisão práticos
Só PT-BR + inglês ocasional → text-embedding-005. Inclui ES/ZH/AR/JA significativos → text-multilingual-embedding-002.
Negócio geral → default. Jurídico/médico denso → testar versão grande. Código-fonte → embedding de código dedicado (nunca o de texto).
Vetor maior = busca mais lenta + mais storage. Chat conversacional → 768 a menos que recall seja crítico.
Em base 100k+ docs, diferença 768 vs 3072 vira custo real de storage e reindexação periódica.
O que importa MAIS que escolha de modelo
Embedding ruim de chunk bom >> embedding bom de chunk ruim. Prioridade absoluta é chunking semântico, não modelo.
- Chunking semântico: respeitar estrutura do documento. Ver RAG corporativo.
- Pre-summarização: indexar (chunk + resumo) duplica recall em corpus técnico.
- Metadados como filtro: categoria/data/autor reduzem o universo antes da busca semântica.
- Reranking: top-50 do embedding → top-5 do cross-encoder. Vertex AI Search tem nativo.
- Hybrid search: combinação semântica + lexical. Pega sinônimo E termo exato (número de contrato, nome próprio).
Como avaliar a qualidade da sua busca
| Métrica | O que mede | Alvo |
|---|---|---|
| Recall@10 | Documento certo está nos 10 primeiros? | > 90% |
| MRR | Posição média do melhor resultado | > 0.6 |
| nDCG@10 | Qualidade da ordem dos resultados | > 0.7 |
Construa gold set de 100–300 pares (pergunta, documento esperado). Use Vertex AI Evaluation para rodar a cada mudança. Mais em avaliação de agentes em produção.
Erros comuns
Quando construir embedding próprio
Raríssimo. Considere apenas se:
- Domínio extremamente específico (química industrial, patentes farmacêuticas).
- Volume justifica custo de fine-tuning + serving (milhões de queries/mês).
- Time tem ML engineer dedicado.
Em 95% dos projetos corporativos, modelo do Vertex AI default + chunking caprichado supera fine-tuning amador.
Seu RAG performa mediano e você não sabe se o gargalo é o embedding?
Em 2 semanas: gold set + benchmark de 3 modelos + reranker ligado + relatório com plano de ataque. Decisão fica baseada em dados, não em hype.
