Educação financeira · artigo prático
Embeddings e bancos de dados vetoriais na prática
Embeddings transformam texto ou outros dados em vetores numéricos que capturam significado; bancos vetoriais como pgvector, Pinecone e Qdrant permitem buscar por similaridade em escala.
Um embedding é uma representação numérica de um texto (ou imagem, áudio) na forma de um vetor de várias dimensões, posicionado de forma que itens com significado semelhante fiquem próximos nesse espaço. É a peça que permite a um sistema comparar 'significado' em vez de apenas comparar caracteres.
Guardar e buscar esses vetores em escala — milhões ou bilhões deles — exige um banco de dados desenhado para isso. É o papel de um banco de dados vetorial, categoria que inclui desde extensões de bancos relacionais já existentes até bancos dedicados construídos especificamente para busca por similaridade.
O que um banco vetorial faz de diferente
Um banco relacional tradicional é otimizado para buscas exatas ou por intervalo. Um banco vetorial é otimizado para busca por similaridade: dado um vetor de consulta, ele encontra os K vetores mais próximos usando métricas como distância de cosseno ou euclidiana, geralmente com estruturas de indexação aproximada (como HNSW). Exemplos comuns incluem pgvector, extensão do PostgreSQL documentada junto ao restante do banco, além de bancos dedicados como Pinecone e Qdrant. A escolha entre manter tudo em SQL com essa extensão ou usar um banco separado é discutida em bancos de dados para IA: SQL vs. vetorial.
- pgvector: bom ponto de partida quando os dados já vivem em Postgres
- Pinecone / Qdrant: bancos dedicados, mais recursos de filtro combinado e escala
- Métrica de similaridade muda o resultado e deve ser escolhida conforme o modelo
- Índices aproximados trocam precisão por velocidade em bases com milhões de vetores
Escolhendo o modelo de embedding certo
A escolha do modelo que gera os embeddings é tão importante quanto a escolha do banco que os armazena. Modelos diferentes produzem espaços vetoriais diferentes, com dimensionalidade e comportamento próprios — e não são intercambiáveis. Nem todo embedding serve para toda tarefa. Modelos são treinados com objetivos diferentes, e dimensionalidade, idioma e domínio afetam a qualidade da busca. Um erro comum é misturar embeddings de modelos diferentes no mesmo índice. Esse mesmo cuidado — decidir o que indexar e como recuperar — é a base técnica de qualquer sistema de RAG, e ganha peso extra em aplicações voltadas a documentos, onde a base de conhecimento muda com frequência.
Ferramenta interativa