O que é um banco de dados de vetores?

As informações vêm de várias formas. Algumas não são estruturadas, como documentos de texto, mídia avançada e áudio, enquanto outras são estruturadas, como logs de aplicações, tabelas e gráficos. Inovações em inteligência artificial e machine learning (IA/ML) nos permitiram criar um tipo de modelo de ML: modelos de incorporação. Incorporações codificam todos os tipos de dados em vetores que capturam o significado e o contexto de um ativo. Isso nos permite encontrar ativos semelhantes pesquisando pontos de dados vizinhos. Os métodos de pesquisa de vetores permitem experiências exclusivas, como tirar uma fotografia com seu smartphone e pesquisar imagens semelhantes. 

Os bancos de dados de vetores oferecem a capacidade de armazenar e recuperar vetores como pontos de alta dimensão. Eles adicionam outros recursos para uma pesquisa rápida e eficiente dos vizinhos mais próximos no espaço N-dimensional. Em geral, são alimentados por índices k-Nearest Neighbor (k-NN) e construídos com algoritmos como Hierarchical Navigable Small World (HNSW) e Inverted File Index (IVF). Os bancos de dados de vetores fornecem recursos adicionais, como gerenciamento de dados, tolerância a falhas, autenticação e controle de acesso, bem como um mecanismo de consulta. 

Por que os bancos de dados de vetores são importantes?

Seus desenvolvedores podem indexar vetores gerados por incorporações em um banco de dados de vetores. Isso permite que eles encontrem ativos semelhantes consultando vetores vizinhos.

Bancos de dados de vetores fornecem um método para operacionalizar modelos de incorporação. O desenvolvimento de aplicações é mais produtivo com recursos de banco de dados, como gerenciamento de recursos, controles de segurança, escalabilidade, tolerância a falhas e recuperação eficiente de informações por meio de linguagens de consulta sofisticadas.

Em última análise, os bancos de dados de vetores capacitam os desenvolvedores a criar experiências de aplicações exclusivas. Por exemplo, seus usuários podem tirar fotos em seus smartphones para procurar imagens semelhantes. 

Os desenvolvedores podem usar outros tipos de modelos de machine learning para automatizar a extração de metadados de determinados tipos de conteúdo, como imagens e documentos digitalizados. Eles podem indexar metadados junto com vetores para permitir a pesquisa híbrida em palavras-chave e vetores. Também podem combinar a compreensão semântica na classificação de relevância para melhorar os resultados das pesquisas.

Inovações em inteligência artificial generativa (IA) introduziram novos tipos de modelos, como o ChatGPT, que podem gerar texto e gerenciar conversas complexas com humanos. Alguns podem operar em várias modalidades; por exemplo, alguns modelos permitem que os usuários descrevam uma paisagem e gerem uma imagem que se encaixe na descrição.

Porém, os modelos generativos são propensos a alucinações, que podem, por exemplo, fazer com que um chatbot engane os usuários. Os bancos de dados de vetores podem complementar os modelos generativos de IA. Eles podem fornecer uma base de conhecimento externa para chatbots generativos de IA e ajudar a garantir que estes últimos forneçam informações confiáveis. 

Como os bancos de dados de vetores são usados?

Os bancos de dados de vetores geralmente são usados para potencializar casos de uso de pesquisa de vetores, como pesquisa visual, semântica e multimodal. Mais recentemente, eles foram combinados com modelos de texto de inteligência artificial (IA) generativa para criar agentes inteligentes que fornecem experiências de pesquisa de conversação. Eles também podem evitar que modelos generativos de IA tenham alucinações, o que pode fazer com que os chatbots forneçam respostas não factuais, mas confiáveis.

O processo de desenvolvimento começa com a criação de um modelo de incorporação projetado para codificar um corpus, como imagens de produtos, em vetores. O processo de importação de dados também é chamado de hidratação de dados. O desenvolvedor da aplicação agora pode usar o banco de dados para pesquisar produtos semelhantes, codificando uma imagem do produto e usando o vetor para consultar imagens semelhantes.

Dentro do modelo, os índices k-Nearest Neighbor (k-NN) fornecem recuperação eficiente de vetores e aplicam uma função de distância como cosseno para classificar os resultados por similaridade. 

Quem usa bancos de dados de vetores?

Bancos de dados de vetores são para desenvolvedores que desejam criar experiências baseadas em pesquisa de vetores. Um desenvolvedor de aplicações pode usar modelos de código aberto, ferramentas automatizadas de machine learning (ML) e serviços de modelos fundamentais para gerar incorporações e hidratar um banco de dados de vetores. Isso requer um mínimo de experiência em ML.

Uma equipe de cientistas e engenheiros de dados pode criar incorporações habilmente ajustadas e operacionalizá-las por meio de um banco de dados de vetores. Isso pode ajudá-los a fornecer soluções de inteligência artificial (IA) com mais rapidez.

As equipes de operações se beneficiam com o gerenciamento de soluções como workloads de banco de dados familiares. Elas podem usar ferramentas e manuais existentes.

Quais são os benefícios dos bancos de dados de vetores?

Bancos de dados de vetores permitem que os desenvolvedores inovem e criem experiências exclusivas com base na pesquisa de vetores. Eles podem acelerar o desenvolvimento de aplicações de inteligência artificial (IA) e simplificar a operacionalização de workloads de aplicações alimentadas por IA.

Os bancos de dados de vetores oferecem uma alternativa à construção com base em índices simples do algoritmo k-Nearest Neighbor. Esse tipo de índice exige uma grande quantidade de conhecimento e engenharia adicionais para ser usado, ajustado e operacionalizado.

Um bom banco de dados de vetores fornece às aplicações uma base por meio de recursos como gerenciamento de dados, tolerância a falhas, recursos críticos de segurança e um mecanismo de consulta. Esses recursos permitem que os usuários operacionalizem suas workloads para simplificar a escalabilidade, manter a alta escalabilidade e dar suporte a requisitos de segurança.

Recursos como o mecanismo de consulta e os SDKs simplificam o desenvolvimento de aplicações. Eles também permitem que os desenvolvedores realizem consultas mais avançadas (como pesquisar e filtrar) em metadados como parte de uma pesquisa k-NN. Eles também têm a opção de usar modelos híbridos de pontuação de relevância que combinam modelos tradicionais de frequência de termos, como o BM25, com pontuações de vetores para aprimorar a recuperação de informações.

Como a AWS pode oferecer suporte aos seus requisitos de banco de dados de vetores?

A Amazon Web Services (AWS) oferece muitos serviços para seus requisitos de banco de dados de vetores:

Comece a usar bancos de dados de vetores na AWS criando uma conta hoje mesmo.

Quais são os desafios dos bancos de dados de vetores?

Os bancos de dados de vetores compartilham muitos dos mesmos desafios enfrentados por outras tecnologias de banco de dados. Haverá um esforço contínuo para melhorar a escalabilidade, a precisão da aproximação, a performance da latência e a economia.

Como uma tecnologia relativamente nova, muitos bancos de dados de vetores precisam amadurecer em termos das principais competências de bancos de dados, como segurança, resiliência, suporte operacional e diversificação do suporte a workloads. Isso será importante à medida que as aplicações de inteligência artificial (IA) amadurecerem e exigirem mais do que apenas pesquisa de vetores. 

Próximas etapas com a AWS

Confira recursos adicionais relacionados a produtos
Veja ofertas gratuitas de serviços de bancos de dados na nuvem 
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS.

Cadastre-se 
Comece a criar no console

Comece a criar no Console de Gerenciamento da AWS.

Faça login