Aaron Ricadela | Redator Sênior | 18 de março de 2025
Assim como a IA generativa está reformulando a forma como os usuários interagem com os computadores, ela está colocando novas demandas nos bancos de dados que armazenam e recuperam informações subjacentes às respostas dos sistemas. Bancos de dados vetoriais, projetados para desenvolvedores que trabalham com grandes conjuntos de dados não estruturados ou semiestruturados, armazenam as incorporações ou posições em espaço matemático de potencialmente bilhões de vetores calculados a partir dos dados brutos. Os bancos de dados podem retornar respostas que melhoram o conhecimento dos modelos de IA, computando rapidamente as relações entre os vetores.
Ao contrário dos bancos de dados tradicionais, que se destacam em encontrar correspondências de consultas exatas, bancos de dados vetoriais, como o Weaviate (bem como Milvus, Pinecone, Chroma e Qdrant), representam similaridade entre objetos armazenados por sua distância um do outro em um espaço vetorial multidimensional. Os bancos de dados podem encontrar informações relacionadas rapidamente e retornar respostas com base no que os modelos presumem que um usuário significa, mesmo que estejam aproximadamente próximos e não sejam uma correspondência exata para uma consulta.
Isso torna o Weaviate e outros bancos de dados vetoriais poderosas ferramentas de processamento de linguagem natural para aplicativos como recomendações para serviços de ecommerce e streaming, pesquisas semânticas ou de similaridade, detecção de fraude e geração aumentada de recuperação (RAG).
Weaviate, de propriedade da startup holandesa de mesmo nome, é um banco de dados vetorial especializado que se destaca em pesquisas rápidas em bilhões de vetores. Sua arquitetura de pesquisa usa o sharding de banco de dados, uma técnica que espalha informações em muitos servidores, para aumentar a escalabilidade e o desempenho.
O Weaviate usa diferentes tipos de índices de banco de dados para melhorar o desempenho, dependendo do tamanho do conjunto de dados. Seu índice plano armazena localizações vetoriais e é adequado para pequenos conjuntos de dados. Seu índice HNSW (hierarchical navigable small world) é mais lento para construir, mas um ajuste melhor para grandes conjuntos de dados.
Weaviate enfatiza a produtividade do desenvolvedor, oferecendo uma variedade de ferramentas e interfaces, incluindo bibliotecas clientes em Python, JavaScript, Go e Java, e uma API para a linguagem de consulta GraphQL. O banco de dados é distribuído sob a licença de código aberto BSD-3-Clause. Sua força é a pesquisa aproximada de vizinhos (ANN) mais próximos, cujos resultados melhoram as consultas de IA generativa.
Os clientes podem executar o Weaviate em seus próprios computadores, em um serviço de nuvem pública em um modelo sem servidor ou por meio do serviço de nuvem gerenciada da empresa com hardware dedicado.
O Oracle Database 23ai também fornece a pesquisa vetorial de IA, que permite armazenar e pesquisar vetores como o Weaviate faz, com tempos de resposta de subsegundos. No entanto, em vez de armazenar e recuperar dados de um banco de dados vetorial de finalidade única, as equipes de desenvolvimento que usam o Oracle Database 23ai podem armazenar e pesquisar dados relacionais, gráficos, espaciais, JSON e Internet das Coisas, juntamente com a pesquisa vetorial. Com o Oracle Database, os grupos de TI não precisam gerenciar vários bancos de dados e cópias de dados, levando a menos complexidade.
Embora o Weaviate suporte clusterização para maior disponibilidade do banco de dados, o Oracle Database 23ai oferece uma gama maior de opções de alta disponibilidade, incluindo o Oracle Real Application Clusters, que permitem que instâncias de banco de dados sejam executadas em servidores separados para tolerância a falhas e balanceamento de carga; o Oracle Active Data Guard, para replicação imediata para um banco de dados stand-by, de modo que nenhum dado seja perdido durante uma interrupção não planejada; e o Oracle GoldenGate, para consistência de dados em vários locais. Para escalabilidade, o Oracle Globally Distributed Database suporta sharding para pesquisas de vetores; roteamento de consultas; e operações de atualização, inserção e exclusão para os shards.
Os bancos de dados vetoriais especializados podem contar com atualizações em lote periódicas para dados em rápida mudança, o que pode levar a conjuntos de dados inconsistentes. Com o Oracle Database 23ai, o pipeline de RAG e as origens de dados subjacentes permanecem em sincronia. Quando se trata de consultas, o Oracle Autonomous Database Select AI transforma consultas em linguagem natural em comandos SQL, usando LLMs da Anthropic, Cohere, Google, Meta, Microsoft e OpenAI. O Oracle Database 23ai também permite que os desenvolvedores utilizem serviços de IA de outros grandes provedores de nuvem, incluindo os modelos Gemini do Google, os serviços de IA do Azure da Microsoft e os LLMs da OpenAI, para uso com dados corporativos armazenados na Oracle.
Veja como a pesquisa vetorial do Oracle Database 23ai pode funcionar com a sua aplicação.
Como o Weaviate lida com pesquisa semântica e vetorial?
O banco de dados Weaviate permite pesquisas de baixa latência de incorporações vetoriais construídas a partir de dados não estruturados para uma variedade de aplicações. Isso inclui mecanismos de recomendação e RAG, bem como pesquisas híbridas que combinam a compreensão semântica das relações entre texto, imagens, áudio e vídeo com a pesquisa de palavras-chave convencional.
Qual é a diferença entre Pinecone e Weaviate?
O Weaviate vem com uma licença BSD-3-Clause e pode ser executado on-premises ou em um serviço de nuvem pública. Pinecone é distribuído sob uma licença proprietária e é executado na nuvem (bem como por meio de um link para uma nuvem privada da AWS). O Pinecone suporta uma ampla gama de tipos de dados, enquanto o Weaviate pode ser personalizado por causa de sua licença de código aberto.
O Weaviate pode ser usado com modelos NLP?
Sim, o Weaviate permite que os usuários executem e dimensionem seus próprios modelos de processamento de linguagem natural, além de usar modelos que são fornecidos com o software.
O que diferencia o Weaviate de outros bancos de dados vetoriais?
O Weaviate se concentra em atrair desenvolvedores para seu produto por meio do suporte a uma variedade de linguagens de programação e ferramentas de IA. Sua arquitetura é criada para escalabilidade horizontal por meio de sharding de dados.