Um banco de dados vetorial responde a uma pergunta, muito rápido
Dê a ele uma lista de números e ele retorna as listas armazenadas mais próximas dela. Essa é toda a interface.
As listas são embeddings. Um modelo de embedding transforma um trecho, uma descrição de produto ou uma imagem em algumas centenas a alguns milhares de números, posicionados de modo que significados semelhantes fiquem próximos entre si, e o que são embeddings em IA explica como isso funciona. Um banco de dados vetorial é onde essas listas ficam guardadas quando você tem muitas delas. Ele armazena cada uma com um ID e alguns metadados, constrói um índice sobre elas e responde à busca por vizinhos mais próximos: "aqui está um vetor de consulta, me dê os dez mais próximos."
A parte difícil é a palavra rápido. Comparar uma consulta com um milhão de vetores armazenados de 1.536 números cada um exige 1,5 bilhão de multiplicações, e fazer isso a cada tecla digitada não escala. Por isso os bancos de dados vetoriais usam índices aproximados de vizinhos mais próximos, sendo o mais comum o HNSW, uma estrutura em grafo de um artigo de 2016 de Malkov e Yashunin que visita algumas centenas de candidatos em vez do milhão inteiro e retorna a resposta certa quase sempre. Esse "quase" é a troca: um pouco de precisão por um ganho de velocidade de mil vezes.
Seu banco de dados atual encontra palavras; um banco de dados vetorial encontra significado
Um banco de dados relacional encontra linhas cujos valores coincidem: WHERE customer_id = 4127. Um índice de texto completo encontra documentos que contêm palavras: reembolso E política. Um banco de dados vetorial encontra itens cujo significado é próximo: a consulta "como recupero meu dinheiro" retorna o trecho intitulado "Devoluções e reembolsos" mesmo que as duas frases não compartilhem nenhuma palavra.
| Banco de dados relacional | Busca de texto completo | Banco de dados vetorial | |
|---|---|---|---|
| Pergunta | Quais linhas correspondem a este valor? | Quais documentos contêm estas palavras? | Quais itens têm um significado próximo a este? |
| Índice | B-tree sobre colunas | Índice invertido sobre termos | Grafo ou clusterização sobre vetores (HNSW, IVF) |
| Exato? | Sim | Sim | Geralmente aproximado |
| Bom para | IDs, datas, valores, joins | Nomes, códigos, frases exatas | Sinônimos, paráfrases, entre idiomas, imagens |
| Ruim para | Significado | Significado | Strings exatas, contagem, filtro por valor |
| Exemplos | Postgres, MySQL, SQLite | Elasticsearch, Lucene | Pinecone, Weaviate, Qdrant, Milvus, Chroma, pgvector |
A última linha mostra o quanto a categoria é embaçada. O pgvector adiciona colunas vetoriais e um índice HNSW ao Postgres comum, e o Elasticsearch carrega um campo vetorial desde a versão 7.0 em 2019 e busca HNSW desde a 8.0 em 2022. Um "banco de dados vetorial" é muitas vezes um recurso dentro de um banco de dados que você já usa, em vez de um produto novo, e os produtos independentes competem em escala e polimento operacional, não em fazer algo que o Postgres não consiga.
Chat com seus documentos é uma busca vetorial com um modelo no final
A geração aumentada por recuperação, que o que é RAG explica em detalhes, tem uma etapa de busca e uma etapa de escrita. O banco de dados vetorial é a etapa de busca.
- Divida cada documento em trechos de algumas centenas a mil tokens.
- Gere o embedding de cada trecho e armazene os vetores, junto com o texto do trecho e sua origem, no banco de dados vetorial.
- Quando uma pergunta chega, gere seu embedding e peça ao banco de dados os trechos mais próximos.
- Entregue esses trechos ao modelo de linguagem junto com a pergunta, e deixe que ele escreva a resposta.
As etapas 1 e 2 acontecem uma vez, quando os documentos são adicionados. As etapas 3 e 4 acontecem a cada pergunta. O modelo de linguagem nunca vê a coleção inteira; ele vê os cinco ou dez trechos que o banco de dados escolheu. É por isso que a resposta só é tão boa quanto a busca: se o vetor mais próximo for o trecho errado, o modelo responde com confiança à pergunta errada, o que o que é uma alucinação de IA classifica como uma falha de recuperação, não como uma invenção.
Quando você precisa de um, e quando enviar o arquivo inteiro é melhor
A decisão gira em torno do tamanho. Um modelo só consegue considerar sua janela de contexto de uma vez, e cada token dentro dela é pago a cada turno. Um banco de dados vetorial existe para colocar apenas a fatia relevante diante do modelo. Para um único documento que cabe, a recuperação é uma etapa que você pode pular; para uma coleção que não cabe, é a única opção.
Compare o preço dos dois modelos com um relatório de 300.000 tokens, várias centenas de páginas, com dez perguntas feitas, recuperando cinco trechos de 1.000 tokens por pergunta. Enviar o arquivo inteiro toda vez é 3 milhões de tokens de entrada. Recuperar cinco trechos de 1.000 tokens por pergunta é 50.000. Nas tarifas de lista para entrada do índice de custo de modelos de IA, obtidas na OpenRouter em 2026-08-20, a diferença é de 60x em todos os modelos. O cache de prompt, quando o provedor o oferece, cobra uma releitura do mesmo arquivo a um décimo ou metade do preço de lista, o que reduz a diferença para algo entre 6x e 30x. A recuperação ainda vence, por uma margem menor.
O modelo de arquivo inteiro compra algo por esse dinheiro quando o arquivo cabe no orçamento: um contrato de 60 páginas, cerca de 40.000 tokens, permite que o modelo responda perguntas que exigem o documento inteiro de uma vez, como "há algo aqui que contradiz a cláusula 14", pergunta que a recuperação não consegue fazer porque nunca vê a cláusula 14 e a contradição no mesmo lote. A regra que resulta disso: um documento, ou um punhado deles, entra inteiro; uma biblioteca passa por um banco de dados vetorial. Entre os dois, divida o envio por assunto para que o modelo receba a seção de que precisa.
A Whizi envia o próprio texto, até um turno de 40.000 tokens
A Whizi não roda um banco de dados vetorial para o seu chat. Quando você anexa um arquivo, o caminho de upload de documentos extrai o texto e o envia ao modelo como texto do prompt, até um orçamento fixo de 40.000 tokens por turno; um upload maior é cortado, com um aviso e uma marcação na própria mensagem informando isso. Os arquivos de projeto funcionam da mesma forma: o recurso de projetos fixa até 10 arquivos e reconstrói o texto deles no prompt a cada mensagem, com limite de 32.000 caracteres por arquivo e 120.000 para o bloco inteiro do projeto.
Os limites são a borda do design. Um arquivo fixado com mais de 32.000 caracteres é truncado, um anexo além do orçamento de 40.000 tokens do turno é cortado, e um projeto é uma pasta, não uma biblioteca pesquisável. A troca é deliberada: para um contrato ou um artigo que cabe no orçamento do turno, ter o texto presente é melhor do que tê-lo pesquisado, e a verificação que importa, pedir ao modelo que cite o trecho que usou, funciona porque o trecho está ali. Para mil documentos, um banco de dados vetorial é a ferramenta certa e um app de chat é a errada.
Dois hábitos vêm desse mecanismo. Nomeie o arquivo na sua pergunta assim que vários estiverem anexados, porque, do contrário, o modelo escolhe em silêncio. E em qualquer resposta sobre a qual você vá agir, peça a citação. Um sistema de recuperação pode retornar o trecho errado; um sistema de arquivo inteiro pode responder de memória em vez de usar o arquivo. A citação pega os dois casos.
- Envie um único documento inteiro; coloque uma coleção atrás de um banco de dados vetorial
- Divida um upload longo por assunto para que o modelo receba a seção de que a pergunta precisa
- Peça ao modelo que cite o trecho que usou antes de confiar na resposta
- Use busca de texto simples para IDs, códigos e frases exatas; a busca vetorial encontra significado, não caracteres
- Trate uma falha de recuperação como um problema de busca: refaça o embedding com um modelo melhor ou trechos menores antes de culpar o modelo que escreve
Perguntas frequentes
O que é um banco de dados vetorial em termos simples?
Um repositório para as listas de números que um modelo de IA usa para representar significado, criado para encontrar as correspondências mais próximas rapidamente. Você dá a ele o embedding de uma pergunta e ele retorna os embeddings, e o texto por trás deles, que têm um significado semelhante. É a metade de busca do chat com documentos sempre que a coleção é grande demais para enviar inteira.
Preciso de um banco de dados vetorial para usar IA com meus documentos?
Só se os documentos não couberem na janela de contexto do modelo. Um único relatório ou contrato pode ser enviado ao modelo inteiro, que é o que a Whizi faz com anexos e arquivos de projeto fixados. Uma biblioteca com milhares de documentos precisa de recuperação, e a recuperação precisa de um índice vetorial, seja em um produto dedicado ou em uma extensão do Postgres como o pgvector.
Qual é a diferença entre um banco de dados vetorial e um banco de dados comum?
Um banco de dados comum encontra valores que coincidem: este ID, esta data, esta palavra exata. Um banco de dados vetorial encontra significado, retornando os itens armazenados cujos embeddings ficam mais próximos do da consulta. Ele costuma ser aproximado, usando um índice como o HNSW que verifica algumas centenas de candidatos em vez de todos os itens, e é fraco na correspondência exata que um banco de dados comum faz bem.
Quais bancos de dados vetoriais são mais usados?
Pinecone, Weaviate, Qdrant, Milvus e Chroma são os produtos independentes mais comuns, e o pgvector adiciona o mesmo recurso ao Postgres. Elasticsearch e OpenSearch também oferecem busca vetorial. A escolha costuma ser operacional, sobre escala e hospedagem, porque todos implementam a mesma ideia de vizinhos mais próximos aproximados.
Quanto a recuperação economiza em comparação com enviar o arquivo inteiro?
Dez perguntas sobre um relatório de 300.000 tokens custam $6.00 no Claude Sonnet 5 se o arquivo for enviado a cada turno e $0.10 se cinco trechos de 1.000 tokens forem recuperados em vez disso, nas tarifas de lista da OpenRouter obtidas em 2026-08-20. No GPT-5.6 Luna, o mesmo par é $0.60 contra $0.01. A proporção é de 60x em todos os modelos porque os dois modelos pagam a mesma tarifa por token.