Um banco de dados vetorial é qualquer banco de dados que permite armazenar, indexar e consultar embeddings vetoriais ou representações numéricas de dados não estruturados, como texto, imagens ou áudio.
O Google Cloud integra esses recursos de nível empresarial diretamente aos serviços gerenciados, incluindo o AlloyDB para PostgreSQL, o Spanner e o BigQuery, ajudando você a criar aplicativos inteligentes sem gerenciar uma infraestrutura separada.
Embeddings de vetor são representações numéricas de dados, normalmente definidas como matrizes de números de ponto flutuante. Eles traduzem dados complexos e não estruturados, como texto, imagens ou áudio, em um formato que os modelos de machine learning podem processar.
Ao mapear esses dados em um espaço vetorial, os embeddings capturam o significado semântico. Itens semelhantes são posicionados mais próximos, enquanto itens diferentes ficam mais distantes. Essa relação espacial ajuda os sistemas a identificar conexões entre pontos de dados com base no contexto e no significado, em vez de apenas correspondências de palavras-chave.
Enquanto alguns bancos de dados especializados só aceitam embeddings vetoriais, outros aceitam muitos tipos de dados e consulta, além de embeddings vetoriais. Isso é fundamental para criar aplicativos de IA generativa com base em dados avançados e reais. À medida que os benefícios da consulta semântica usando embeddings de vetores se tornarem claros, a maioria dos bancos de dados adicionará suporte a vetores. No futuro, acreditamos que todo banco de dados será um banco de dados de vetores.
Saiba como a pesquisa de vetor da Vertex AI auxilia na criação de aplicativos de IA generativa de alto desempenho. A pesquisa de vetor da Vertex AI é baseada na Pesquisa de Vizinho Mais Próximo Escalonável (ScaNN, na sigla em inglês), uma tecnologia de pesquisa de vetor escalonável e eficiente desenvolvida pela Google Research, o que a torna ideal para lidar com grandes conjuntos de dados e requisitos de pesquisa em tempo real. Saiba mais sobre pesquisa de vetor e embeddings no vídeo abaixo e comece com este guia de início rápido.
A consulta eficiente de um grande conjunto de vetores requer indexação especializada e estratégias de pesquisa diferentes dos campos de texto ou numéricos tradicionais. Como os vetores não têm uma única ordenação lógica, os bancos de dados vetoriais dependem dos seguintes mecanismos para recuperar dados:
Os embeddings de vetor capturam o significado semântico de dados complexos. Quando combinados com bancos de dados vetoriais, que fornecem indexação e recuperação eficientes, os desenvolvedores podem criar uma ampla variedade de aplicativos inteligentes e ferramentas de processamento de dados.
Os desenvolvedores podem usar bancos de dados vetoriais como uma base de conhecimento externa para modelos de linguagem grandes (LLMs). Ao recuperar o contexto relevante e proprietário antes de enviar um comando ao modelo, os aplicativos podem reduzir as alucinações e fornecer respostas factualmente precisas e específicas do domínio. Isso é essencial para criar agentes de suporte com tecnologia de IA, analisadores de documentos jurídicos e sistemas internos de gerenciamento de conhecimento.
Os bancos de dados vetoriais permitem que os desenvolvedores criem sistemas de personalização que vão além da filtragem colaborativa. Ao representar o comportamento do usuário e os atributos do produto como vetores, os aplicativos podem identificar itens semelhantes ou combinar usuários com conteúdo que se adapta às suas preferências em tempo real. Essa arquitetura é compatível com sugestões de produtos de e-commerce, feeds de conteúdo e recomendações de streaming de mídia.
Ao contrário da pesquisa tradicional por palavras-chave, os bancos de dados vetoriais permitem aplicativos de pesquisa semântica que entendem a intenção do usuário. Os desenvolvedores podem criar experiências de pesquisa que permitem aos usuários consultar por conceito em vez de usar frases exatas. Além disso, como os vetores podem representar diferentes tipos de dados no mesmo espaço, você pode criar ferramentas de pesquisa multimodal, permitindo que os usuários pesquisem imagens usando descrições de texto ou encontrem documentos relacionados usando uma imagem de entrada.
Os bancos de dados vetoriais podem ajudar a identificar padrões irregulares em conjuntos de dados enormes. Ao estabelecer um espaço vetorial que representa o comportamento ou as transações "normais", os desenvolvedores podem detectar programaticamente os outliers que ficam muito longe dos clusters estabelecidos. Esse recurso é essencial para criar sistemas de detecção de fraudes financeiras, ferramentas de monitoramento de segurança de rede e verificações de integridade da infraestrutura de TI.
Nos fluxos de trabalho de engenharia de dados, os bancos de dados vetoriais podem ajudar a limpar e unificar conjuntos de dados diferentes. Ao comparar embeddings de registros de clientes ou listagens de produtos, os sistemas podem identificar entradas duplicadas mesmo quando o texto varia um pouco (por exemplo, "R. Principal" vs. "Rua Principal"). Isso ajuda as organizações a manter uma visão única e precisa dos dados.
O AlloyDB para PostgreSQL combina a compatibilidade do PostgreSQL com a infraestrutura escalonável do Google. Ele inclui compatibilidade integrada com embeddings vetoriais usando a extensão pgvector padrão e a aprimora com o índice ScaNN do Google. Isso permite consultas vetoriais mais rápidas e ativa o "filtro em linha", que pode ajudar a otimizar as pesquisas híbridas avaliando a similaridade vetorial e os filtros de metadados simultaneamente para melhorar o desempenho.
Exemplo: pesquisa híbrida de imóveis
Um app imobiliário em que os usuários querem encontrar casas com base em "estilo" (por exemplo, "moderno de meados do século com luz natural") e que atendam a restrições rígidas (por exemplo, "3 quartos", "menos de US$ 800 mil", "no distrito escolar A").
O Google Cloud integra recursos de pesquisa vetorial diretamente aos serviços de banco de dados principais, ajudando você a operacionalizar a IA generativa usando seus dados e fluxos de trabalho atuais.
O Spanner, o banco de dados distribuído globalmente do Google, é compatível com a pesquisa vetorial para aplicativos transacionais. Ele pode fornecer uma pesquisa de vetores altamente disponível e escalonável usando algoritmos de vizinho mais próximo exato e aproximado. Isso permite que aplicativos globais implementem recursos como recomendações em tempo real ou pesquisa semântica, mantendo a consistência e a confiabilidade rigorosas.
Exemplo: recomendações em tempo real para e-commerce
Uma plataforma global de e-commerce quer criar um mecanismo de recomendação que lide com pesquisas vagas de usuários, como "melhores botas de caminhada para clima chuvoso", garantindo a disponibilidade imediata do produto.
O BigQuery permite realizar análises vetoriais em conjuntos de dados massivos sem mover os dados do data warehouse. Com a função VECTOR_SEARCH, você pode executar pesquisas de similaridade usando o SQL padrão. Isso é particularmente útil para casos de uso analíticos, como agrupar clientes com base no comportamento ou identificar tendências de produtos semelhantes em bilhões de linhas de dados.
Exemplo: detecção de ameaças de cibersegurança em escala
Uma equipe de segurança precisa analisar petabytes de registros de servidor para identificar atividades maliciosas. Os invasores costumam modificar um pouco o código para evitar pesquisas de palavras-chave de correspondência exata.
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.