Um banco de dados vetorial armazena dados como matrizes de números chamadas vetores e pesquisa nelas usando distância matemática, não comparação de texto. Cada item de conteúdo, seja uma frase, um documento ou uma imagem, é convertido em um vetor que captura seu significado. O banco recupera resultados encontrando vetores próximos ao vetor da consulta em um espaço de alta dimensão.

Um embedding é uma representação numérica de conteúdo. Um modelo de aprendizado de máquina, geralmente baseado em arquitetura transformer, lê um trecho de texto e produz uma lista de números, em geral com várias centenas ou mais de mil valores. Esses números codificam significado: frases de assuntos semelhantes produzem números parecidos, enquanto frases sobre temas sem relação produzem números diferentes. "Avaliação de desempenho" e "conversa sobre desenvolvimento de carreira" produzem embeddings próximos no espaço vetorial. "Avaliação de desempenho" e "receita do jantar de hoje" ficam distantes.

Cada item de conteúdo armazenado passa por um modelo de embeddings antes de entrar no banco. O modelo lê o conteúdo e gera um vetor de comprimento fixo. Duas frases que dizem a mesma coisa com palavras diferentes geram embeddings próximos. Duas frases sobre temas sem relação geram embeddings distantes. Essa etapa acontece uma vez por documento, no momento da ingestão, e os embeddings são guardados ao lado do conteúdo original.

Todo o processo se parece com o trabalho de uma bibliotecária experiente que lê um livro e o coloca em uma seção pelo assunto, em vez de apenas ordená-lo pelo título. O modelo de embeddings lê em busca de significado.

Armazenar milhões de embeddings é simples. Encontrar os mais próximos de uma consulta em milissegundos exige um índice. Bancos vetoriais usam algoritmos de vizinho aproximado mais próximo, ou ANN, como HNSW, grafos hierárquicos navegáveis de mundo pequeno, para organizar o espaço vetorial de modo que vetores semelhantes fiquem agrupados. Segundo a visão técnica da Weaviate sobre embeddings, essas estruturas de indexação trocam uma pequena parcela de precisão de recuperação por ganho expressivo de velocidade. Para a maioria das aplicações práticas, resultados aproximados bastam e o benefício de desempenho é grande.

O que é armazenado

  • Banco tradicional: linhas e colunas estruturadas, ou texto indexado por seus caracteres exatos.
  • Banco vetorial: embeddings numéricos que representam o significado de conteúdo não estruturado.

Como a busca funciona

  • Banco tradicional: procura valores exatos ou correspondências de padrão, linha por linha ou por índice de palavras-chave.
  • Banco vetorial: calcula a distância entre o embedding da consulta e embeddings armazenados, devolvendo correspondências aproximadas ordenadas.

Para que é otimizado

  • Banco tradicional: consultas precisas, filtragem, transações e agregações sobre dados estruturados.
  • Banco vetorial: encontrar conteúdo conceitualmente relacionado a uma consulta, mesmo sem palavras em comum.

Melhor adequação

  • Banco tradicional: dados estruturados com esquemas conhecidos, em que respostas exatas são necessárias. Registros de usuários, transações financeiras, sistemas de inventário.
  • Banco vetorial: conteúdo não estruturado, documentos, notas, transcrições de áudio e imagens, em que significado e contexto importam mais do que texto exato.

Bases de conhecimento e ferramentas de suporte com IA. Plataformas de atendimento ao cliente incorporam documentação e tíquetes anteriores em um banco vetorial. Quando um usuário envia uma solicitação, o sistema recupera as seções de documentação semanticamente mais próximas e as apresenta ao agente ou diretamente à pessoa usuária, antes que um humano precise intervir.

Gestão pessoal de conhecimento. Pessoas que capturam notas, recortes da web e documentos durante meses ou anos acumulam conteúdo demais para pesquisar de forma confiável por palavras-chave. Uma camada de recuperação sustentada por vetores permite que o sistema encontre entradas que respondam a uma pergunta mesmo quando a pessoa não lembra o que escreveu nem quando escreveu.

Leituras relacionadas
Fontes

Explorar diretório de ferramentas →