Ai Docs
Conceitos

Bancos de Dados Vetoriais

Sistemas de armazenamento especializados em gerenciar e consultar dados representados como vetores multidimensionais.

Bancos de Dados Vetoriais

Bancos de dados vetoriais são sistemas de armazenamento especializados em gerenciar e consultar dados representados como vetores multidimensionais (embeddings).

O que são Bancos de Dados Vetoriais?

Bancos de dados vetoriais são projetados para armazenar e consultar vetores numéricos de alta dimensão, permitindo buscas por similaridade em vez de correspondência exata.

Principais Características

  • Busca por Similaridade: Encontra vetores mais próximos usando métricas como similaridade de cosseno
  • Alto Desempenho: Otimizado para consultas em espaços de alta dimensão
  • Escalabilidade: Capacidade de lidar com bilhões de vetores

Opções Populares

BancoTipoMelhor ParaConsiderações
MongoDB AtlasCloud/HíbridoIntegração com dados existentesRequer MongoDB Atlas
PostgreSQL (pgvector)Self-hostedSolução completa com SQLRequer configuração
PineconeCloudSimplicidade, escalaCusto mais alto
WeaviateSelf-hosted/CloudFlexibilidadeMais complexo
ChromaSelf-hostedIniciar rapidamenteMenos recursos
// Definir schema do documento
interface DocumentWithEmbedding {
  content: string;
  embedding: number[];
  metadata: Record<string, any>;
}

// Criar índice vetorial no MongoDB
db.collection.createIndex(
  { embedding: "vector" },
  {
    name: "vector_index",
    vectorSize: 1536,  // Para embeddings OpenAI
    vectorSearchOptions: {
      similarityMetric: "cosine"
    }
  }
);

// Consulta de similaridade
db.collection.aggregate([
  {
    $vectorSearch: {
      queryVector: [0.1, 0.15, ...],
      path: "embedding",
      numCandidates: 100,
      limit: 10
    }
  }
]);

Quando Usar

Bancos de dados vetoriais são essenciais para:

  • Sistemas de recomendação
  • Busca semântica
  • Sistemas RAG (Retrieval-Augmented Generation)
  • Detecção de similaridade de conteúdo