O Que E Um Vetor - O que são vetores? - Brasil Escola
O que são vetores? - Brasil Escola

O que são vetores na prática

Vetores são simplesmente listas ordenadas de números. Em machine learning, eles representam dados de qualquer tipo como uma sequência de valores numéricos. Um texto vira um vetor de 768 ou 1536 dimensões. Uma imagem, outro vetor. Áudio, também. A ideia básica é que cada posição no vetor carrega um aspecto diferente do que você está representando. Não é mágica, é álgebra linear aplicada. O modelo aprende quais posições correspondem a quais características durante o treinamento.

o que e um vetor

Quando eu comecei a trabalhar com embeddings, eu achava que vetor era só uma lista qualquer de números. Tinha razão e estava errado. A parte que ninguém explica direito é que a relação entre as posições importa tanto quanto os valores em si. Dois vetores parecidos matematicamente representam conceitos parecidos semanticamente. Eu perdi duas semanas debugando um sistema de recomendação porque não entendi isso na época. Os embeddings do meu modelo estavam normalizados de forma inconsistente — uns com norma 1, outros com norma 10. A similaridade por cosseno dava resultados estranhos porque a magnitude estava desbalanceada. A solução foi aplicar L2 normalization em todos os vetores antes de calcular similaridade. Levou dez minutos para corrigir.

O que as pessoas não entendem é que vetor não é o dado em si. É uma representação aproximada. Você perde informação sempre. Um embedding de 768 dimensões tentando capturar o significado de um parágrafo inteiro de texto já nasce com limitações. Ele pega o essencial e joga fora o resto. O que sobra precisa ser suficiente para a sua tarefa.

Como vetores funcionam no dia a dia

Você passa texto por um modelo de linguagem. Ele devolve um vetor. Esse vetor é calculado de forma que textos com significado parecido fiquem próximos no espaço vetorial. Distância euclidiana, similaridade por cosseno — essas métricas determinam o quão parecidos dois vetores são. No caso de bancos vetoriais, você faz uma query que também vira um vetor e busca os vetores mais próximos no banco. Isso é tudo que um sistema de recuperação semântica faz. Não tem outro segredo.

Eu trabalho com vetores de descrição de produtos há anos. Um problema que vejo sempre é gente passando strings cruas pro embedding model sem tratar os dados primeiro. Modelos como o text-embedding-ada-002 da OpenAI foram treinados principalmente em inglês e em texto bem estruturado. Se você passar um nome de produto em português com emojis, acentos errados e caracteres especiais, o vetor vai ser mediocre. Limpar o texto antes — remover emojis, normalizar acentos, padronizar maiúsculas e minúsculas — melhora consistentemente a qualidade do embedding em torno de 15 a 20 por cento na precisão de busca.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Pegadinhas que ninguém conta

A primeira pegadinha é achar que mais dimensões é sempre melhor. Vetores de 1536 dimensões do Ada não são automaticamente melhores que vetores de 768 do text-embedding-3-small para todas as tarefas. O modelo menor às vezes performa melhor em buscas semânticas porque o espaço vetorial é mais denso e as distances relativas são mais discriminativas. Teste ambos no seu dataset específico. A segunda pegadinha é ignorar o custo computacional. Vetores maiores gastam mais memória e CPU na hora da busca. Num banco com milhões de registros, a diferença entre usar vetores de 384 dimensões e 1536 pode significar de 4x a 8x mais uso de memória RAM e tempo de query significativamente maior, especialmente se você não estiver usando índices aproximados como HNSW ou IVF.

Um problema real que eu enfrentei: clientes enviavam vetores com precisão float32 quando o modelo era treinado com float16. A diferença de precisão causava pequenas variações que se acumulavam na busca por similaridade. Vetores que deveriam ser idênticos ficavam ligeiramente diferentes. A solução foi castear todos os vetores para o mesmo tipo antes de salvar no banco e reavaliar os thresholds de similaridade após a mudança.

Quando vetores falham

Vetores não resolvem tudo. Se você precisa de exatidão absoluta — tipo busca por ID, preço exato, data específica — vetores são a ferramenta errada. Use banco relacional nesses casos. Vetores são bons para fuzzy matching, similaridade conceitual, recuperação semântica. Eles são aproximativos por natureza. Também tem o problema de drift. Modelos de embedding mudam com o tempo. Um vetor que você calculou hoje pode não ter a mesma relação com outros vetores daqui a seis meses se o modelo base for atualizado. Se você usa embeddings gerados por modelos externos, mantenha um versionamento dos modelos e regenere os vetores quando houver atualização significativa.

Para projetos pequenos com menos de mil itens, muitas vezes um índice bruteforce é suficiente e mais simples de manter do que configurar um indexador HNSW complexo. A diferença de performance é irrelevante nesse escala. Não adianta overengineer algo que vai crescer devagar. O que importa é entender que vetor é uma ferramenta, não uma solução completa. Ele transforma dados em algo que máquinas conseguem comparar, mas a qualidade do resultado depende diretamente de como você prepara os dados, qual modelo usa e como calibra os thresholds de similaridade para o seu caso específico.