O que é o Weaviate?
O Weaviate é um banco de dados vetorial open-core que armazena juntos os objetos de dados e seus embeddings vetoriais, permitindo buscar por significado, por palavra-chave, ou pelos dois ao mesmo tempo. A própria descrição no GitHub o define como "um banco de dados vetorial de código aberto e nativo de nuvem que armazena tanto objetos quanto vetores". Diferente de um índice vetorial adicionado depois a um banco de dados já existente, o Weaviate foi construído desde o início como um armazenamento nativamente vetorial, com esquema estruturado, filtragem e multi-tenancy integrados.
- Função principal: um banco de dados que indexa embeddings vetoriais junto com dados de objetos estruturados, consultável via REST, GraphQL ou gRPC
- Modos de busca: busca vetorial pura (vizinhos mais próximos), busca por palavras-chave BM25, e busca híbrida que combina as duas em uma única consulta
- Vetorização: módulos de integração embutidos para modelos de embedding da OpenAI, Cohere, HuggingFace, Google e Ollama, ou você pode fornecer diretamente seus próprios vetores já calculados
- Implantação: Docker, Docker Compose, Kubernetes/Helm, um cliente Python embutido para prototipagem local, ou o serviço gerenciado Weaviate Cloud
- Desenvolvedor: Weaviate B.V., empresa sediada em Amsterdã, Países Baixos
- Repositório canônico: github.com/weaviate/weaviate — a fonte do histórico de versões, dos arquivos de licença e das notas de lançamento usadas nesta análise
Histórico do projeto e marcos de versão do Weaviate
O Weaviate está em desenvolvimento ativo há vários anos e agora lança versões pontuais com frequência, muitas vezes com várias versões menores no mesmo mês. O projeto cresceu de um simples motor de busca vetorial para uma plataforma mais ampla que também inclui busca generativa (RAG), reranking, um Query Agent em linguagem natural e recursos corporativos como controle de acesso baseado em papéis e multi-tenancy.
- 1v1.19 — Busca híbrida disponível de forma geral
Why it matters: Combinou a busca por palavras-chave BM25 e a busca vetorial em um único tipo de consulta, um recurso que continua central no posicionamento do Weaviate frente a bancos de dados puramente vetoriais. - 2v1.24 — Vetores nomeados
Why it matters: Permitiu que um único objeto contivesse múltiplas representações vetoriais (por exemplo, uma por modelo de embedding ou uma por propriedade), útil para configurações RAG multimodelo. - 3v1.25–v1.26 — Melhorias de multi-tenancy e replicação
Why it matters: Reforçou o isolamento entre inquilinos e a durabilidade dos dados para implantações de produção com múltiplos clientes. - 4v1.27–v1.28 — Melhorias na compressão de vetores (RQ/PQ)
Why it matters: Reduziu o uso de memória em implantações de larga escala ao comprimir os vetores armazenados, uma alavanca direta de custo para clusters auto-hospedados. - 5v1.29–v1.30 — Controle de acesso baseado em papéis (RBAC)
Why it matters: Adicionou permissões granulares, um requisito para muitas implantações corporativas e regulamentadas que rodam o Weaviate na própria infraestrutura. - 6v1.38 — versão pontual
Why it matters: Deu continuidade ao ritmo acelerado do projeto com trabalho de performance em filtragem e métricas de módulos, segundo a [página oficial de releases no GitHub](https://github.com/weaviate/weaviate/releases). - 7v1.39
Why it matters: Adicionou um novo módulo generative-meta e mais melhorias de performance no índice HNSW e em consultas de agregação, segundo a [página oficial de releases no GitHub](https://github.com/weaviate/weaviate/releases). - 8v1.40 — Namespaces disponíveis para todos
Why it matters: Os Namespaces isolam os recursos e os dados dos usuários em um cluster compartilhado, uma peça para implantações com várias equipes, segundo a [página oficial de releases no GitHub](https://github.com/weaviate/weaviate/releases).
O que dá para fazer com o Weaviate?
O conjunto de recursos do Weaviate se concentra em armazenar e consultar vetores em escala, mantendo ao mesmo tempo a filtragem estruturada e a busca por palavras-chave disponíveis na mesma consulta. Veja o que cada parte realmente faz, segundo o próprio README no GitHub e a documentação do Weaviate.
- Busca vetorial — busca de vizinhos mais próximos sobre embeddings de alta dimensão, apoiada por um índice HNSW, para encontrar objetos semanticamente semelhantes
- Busca híbrida — combina similaridade vetorial com pontuação de palavras-chave BM25 em uma única consulta, útil quando nem a busca puramente semântica nem a puramente por palavras-chave sozinhas entregam os melhores resultados
- Filtragem estruturada — filtra resultados de busca vetorial por propriedades do objeto (datas, números, strings, coordenadas geográficas) na mesma consulta, em vez de processar os resultados depois no código da aplicação
- Busca generativa (RAG) — passa os objetos recuperados diretamente para um provedor de LLM conectado para gerar uma resposta, um resumo ou uma transformação dos resultados, sem uma camada de orquestração separada
- Query Agent — traduz automaticamente perguntas em linguagem natural em consultas Weaviate otimizadas, segundo as próprias páginas de produto do Weaviate
- Módulos de vetorização — integrações embutidas para gerar embeddings via OpenAI, Cohere, HuggingFace, Google e Ollama, ou você pode indexar vetores calculados por você mesmo
- Multi-tenancy e RBAC — isola dados por inquilino e controla o acesso com permissões baseadas em papéis, voltado para implantações de produção, multi-cliente ou regulamentadas
- Escalonamento horizontal e replicação — fragmenta e replica dados entre nós para conjuntos de dados maiores e maior disponibilidade em clusters auto-hospedados
Exemplos de uso: três formas de usar o Weaviate
Estes são fluxos de trabalho concretos construídos a partir dos recursos documentados do Weaviate acima — não são casos de uso hipotéticos.
Rodar um pipeline RAG totalmente local com o Ollama
Inicie o Weaviate via Docker Compose, configure o módulo text2vec-ollama para apontar para uma instância local do Ollama para os embeddings, e conecte um LLM local via Ollama para a busca generativa. Cada requisição — embedding, armazenamento, recuperação e geração — permanece na sua própria máquina ou rede, sem chamadas de API externas.
Combinar busca por palavras-chave e semântica para busca de produtos ou documentos
Indexe um catálogo de produtos ou um conjunto de documentos com propriedades de texto e embeddings vetoriais ao mesmo tempo, e então faça uma única consulta de busca híbrida que combine a correspondência por palavras-chave BM25 (boa para termos exatos, SKUs ou nomes) com a similaridade vetorial (boa para resultados conceitualmente relacionados), ajustando o parâmetro alpha para dar mais peso a um dos modos.
Filtrar resultados de busca semântica por metadados estruturados
Buscar objetos semanticamente semelhantes a uma frase de busca, filtrando ao mesmo tempo apenas os que têm um publishDate posterior a uma data específica ou uma category que corresponda a um valor específico — combinando similaridade vetorial e filtragem estruturada em uma única requisição, em vez de filtrar do lado do cliente depois da recuperação.
Instalar o Weaviate: Docker, Kubernetes e modo embutido
O Weaviate não é um aplicativo de desktop para baixar — é um servidor de banco de dados que você mesmo opera, ou que você consome como serviço gerenciado na nuvem. Os caminhos de instalação abaixo vêm do README oficial no GitHub e da documentação — sempre verifique essas páginas diretamente, já que as tags de versão exatas mudam entre lançamentos.
Método | Comando / Link |
|---|---|
| Docker (contêiner único, teste rápido) | docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.40.3 |
| Docker Compose | Gere um docker-compose.yml pelo configurador oficial, depois rode docker compose up -d |
| Kubernetes / Helm | Chart oficial do Helm, segundo o guia de instalação do Kubernetes |
| Embutido (cliente Python) | Instância local embutida via weaviate-client, para prototipagem — veja a documentação oficial |
| Weaviate Cloud (gerenciado, opcional) | console.weaviate.cloud — sem necessidade de auto-hospedagem, preços baseados em uso com nível gratuito |
Por padrão, o Weaviate expõe HTTP na porta 8080 e gRPC na porta 50051; verifique se a instância está ativa com curl http://localhost:8080/v1/meta. O Weaviate em si não tem um requisito mínimo fixo de hardware além de rodar Docker ou Kubernetes, mas o desempenho utilizável em escala depende do tamanho do conjunto de dados, do tipo de índice escolhido e de você ativar ou não a compressão de vetores — uma coleção pequena roda tranquilamente em um notebook, enquanto um índice de produção grande precisa de um servidor dimensionado para sua quantidade de vetores e dimensionalidade.
Preços e licenciamento do Weaviate
Auto-hospedar o núcleo BSD-3-Clause é gratuito; um conjunto definido de recursos bloqueados e o serviço gerenciado Weaviate Cloud são pagos. Este é um modelo genuinamente dividido, não um simples "open core com upsell corporativo" — verifique os termos exatos no arquivo LICENSE para sua própria análise de conformidade.
Auto-hospedado (núcleo BSD-3-Clause)
- Quanto custa:
- Gratuito
- O que cobre:
- O motor completo do banco de dados vetorial fora do diretório
wl/— busca vetorial, busca híbrida, filtragem, a maioria das integrações de módulos e escalonamento autogerenciado
Auto-hospedado, recursos bloqueados de wl/
- Quanto custa:
- Exige uma chave de Weaviate License paga (variável de ambiente
LICENSE_KEY) - O que cobre:
- Um subconjunto definido de recursos dentro do diretório
wl/do repositório — consulte o arquivo LICENSE para o escopo atual, já que quais recursos ficam bloqueados pode mudar entre lançamentos
Weaviate Cloud (gerenciado)
- Quanto custa:
- Preços baseados em uso com nível gratuito, segundo weaviate.io
- O que cobre:
- Um cluster totalmente gerenciado sem necessidade de auto-hospedagem ou gerenciamento de chave de licença; separado do modelo de licenciamento auto-hospedado acima
O próprio diretório de software da PromptQuorum antes listava a licença do Weaviate simplesmente como código aberto. Com base em uma leitura direta dos arquivos LICENSE e LICENSE-BSD no repositório GitHub do Weaviate no momento desta análise, isso subestima a divisão: os próprios metadados do repositório no GitHub reportam a licença como "Other" justamente porque o código principal (BSD-3-Clause) e o código do diretório wl/ (Weaviate License proprietária, bloqueada por chave) têm licenças diferentes. Leia você mesmo os arquivos LICENSE antes de basear uma decisão jurídica nessa distinção — o escopo da licença pode mudar entre lançamentos.
Weaviate vs. Qdrant
O Weaviate e o Qdrant estão entre os bancos de dados vetoriais auto-hospedáveis mais usados, e costumam ser comparados porque ambos oferecem um núcleo gratuito e auto-hospedado, além de um nível opcional de nuvem gerenciada. As diferenças mais claras estão no modelo de consulta, na estrutura de licenciamento e na superfície de API.
Licença do núcleo
- Weaviate:
- BSD-3-Clause, mais uma licença proprietária separada para recursos do diretório
wl/ - Qdrant:
- Apache-2.0 para o motor principal — veja a análise do Qdrant para os detalhes da sua própria licença
APIs de consulta
- Weaviate:
- REST, GraphQL e gRPC
- Qdrant:
- REST e gRPC (sem GraphQL)
Busca híbrida
- Weaviate:
- Integrada, combinando busca vetorial e por palavras-chave BM25 em uma consulta
- Qdrant:
- Suportada via fusão de vetores sparse+dense
Busca generativa / auxílios de RAG
- Weaviate:
- Módulo de busca generativa integrado que chama diretamente um provedor de LLM conectado
- Qdrant:
- Não é um recurso central integrado; normalmente combinado com uma camada de orquestração externa
Modelo de dados
- Weaviate:
- Objetos baseados em esquema com propriedades e vetores nomeados
- Qdrant:
- Points com payloads (JSON flexível) e vetores
Opção de nuvem gerenciada
- Weaviate:
- Weaviate Cloud, baseado em uso com nível gratuito
- Qdrant:
- Qdrant Cloud, baseado em uso com nível gratuito
Se a sua prioridade é um banco de dados que também cuide da etapa de recuperação até geração em uma única consulta (busca generativa), junto com suporte a GraphQL, o conjunto de recursos do Weaviate já cobre mais de fábrica. Se a sua prioridade é um núcleo mais simples, uniformemente licenciado sob Apache-2.0 e sem bloqueio de recursos para acompanhar, avalie o Qdrant diretamente. Ambos são mantidos ativamente; verifique os detalhes atuais de recursos e preços no site de cada projeto antes de decidir.
Quem deveria usar o Weaviate?
O Weaviate ser ou não a escolha certa depende de você querer um banco de dados vetorial baseado em esquema com busca híbrida e generativa integradas, e de o licenciamento dividido entre BSD e proprietário funcionar para a sua organização.
Use o Weaviate se
- Você quer um banco de dados vetorial auto-hospedável com busca híbrida integrada (vetor + palavras-chave BM25) em uma única consulta, em vez de combinar você mesmo dois sistemas separados
- Você quer que a busca generativa (RAG) seja tratada dentro da própria consulta ao banco de dados, sem montar uma camada de orquestração separada para casos de uso simples
- Você precisa de GraphQL como opção de consulta ao lado de REST e gRPC
- Você quer a flexibilidade de rodar gratuitamente uma implantação pequena somente com BSD-3-Clause, e pagar por uma chave de licença apenas se precisar especificamente de um recurso bloqueado de
wl/ - Você quer ter disponível mais tarde uma opção oficial de nuvem gerenciada (Weaviate Cloud) sem trocar de banco de dados, caso a auto-hospedagem deixe de ser suficiente
Espere, ou procure outra opção, se
- Você precisa que cada recurso do produto seja coberto por uma única licença de código aberto não modificada, para um requisito jurídico ou de compras — o modelo dividido BSD-3-Clause/proprietário do Weaviate pode não atender a isso como está; leia diretamente os arquivos LICENSE para o seu caso específico
- Você quer o armazenamento puramente vetorial mais simples possível, sem modelagem de esquema — uma opção embutida mais leve como o Chroma pode ser mais adequada para projetos pequenos em fase de protótipo
- Você já é padronizado em infraestrutura licenciada sob Apache-2.0 e quer evitar acompanhar um segundo tipo de licença — veja a comparação Weaviate vs. Qdrant acima
- Você precisa de suporte corporativo oficial com SLAs contratuais em vez de suporte via comunidade/issue tracker para o nível auto-hospedado gratuito — esse nível de suporte geralmente está atrelado a uma implantação Weaviate Cloud ou licenciada
Weaviate vs. outros bancos de dados vetoriais
O Weaviate é um dos vários bancos de dados vetoriais auto-hospedáveis construídos para RAG e busca semântica. Veja como ele se posiciona ao lado de outras opções nesse espaço — consulte o Local LLM Software Directory para o catálogo completo, e a comparação dedicada Weaviate vs. Qdrant acima para o confronto mais direto.
- Qdrant — um banco de dados vetorial licenciado sob Apache-2.0 com APIs REST e gRPC e forte suporte a busca híbrida sparse+dense; veja a seção de comparação dedicada acima e a análise completa do Qdrant.
- Milvus — um banco de dados vetorial licenciado sob Apache-2.0 construído para implantações em escala muito grande, com um conjunto mais amplo de tipos de índice do que a maioria das alternativas; veja a análise do Milvus para todos os detalhes.
- Chroma — um banco de dados vetorial mais leve, focado em embeddings, popular para prototipagem e projetos RAG menores graças a uma configuração mínima; veja a análise do Chroma.
- txtai — uma biblioteca embutida tudo-em-um de busca semântica e RAG que incorpora a indexação vetorial diretamente em uma aplicação Python em vez de rodar como um servidor separado; veja a análise do txtai se uma abordagem embutida de processo único se encaixar melhor no seu projeto do que um servidor de banco de dados independente.
- Pinecone — um banco de dados vetorial totalmente gerenciado e de código fechado, sem nenhuma opção de auto-hospedagem, útil como caso de contraste se você quiser especificamente comparar um fornecedor somente em nuvem com opções auto-hospedáveis como o Weaviate; veja a comparação Pinecone vs. Weaviate vs. Qdrant vs. Chroma para uma análise direta entre quatro opções.
Erros comuns ao avaliar o Weaviate
A maior parte da confusão sobre o Weaviate vem da sua estrutura de licenciamento, da suposição de que ele exige o serviço em nuvem, ou de confundi-lo com uma simples biblioteca embutida.
Erro 1: supor que o Weaviate é totalmente open source, sem restrições
O núcleo do Weaviate é BSD-3-Clause, mas um conjunto definido de recursos dentro do diretório wl/ do repositório exige uma chave de licença paga para ser ativado, sob uma Weaviate License proprietária separada. Os próprios metadados do repositório no GitHub reportam a licença geral como "Other" justamente por isso. Leia diretamente o arquivo LICENSE antes de basear uma decisão jurídica ou de compras nessa distinção.
Erro 2: supor que é preciso usar o Weaviate Cloud para rodar o Weaviate
O Weaviate Cloud é um serviço gerenciado opcional e separado. O núcleo BSD-3-Clause roda inteiramente na sua própria infraestrutura via Docker, Docker Compose ou Kubernetes, sem exigência de criar uma conta no Weaviate Cloud.
Erro 3: tratar o Weaviate como uma simples biblioteca embutida, tipo o Chroma
O Weaviate até oferece um cliente Python embutido para prototipagem local, mas seu modelo de implantação principal é um servidor de banco de dados independente com esquema, multi-tenancy, RBAC e escalonamento horizontal — mais próximo em escopo de um banco de dados de produção do que de um armazenamento vetorial embutido leve.
Erro 4: supor que os módulos de vetorização mantêm os dados totalmente locais por padrão
Se você configurar um módulo de vetorização para um provedor de embedding na nuvem, como OpenAI ou Cohere, essas requisições específicas de embedding saem da sua infraestrutura. Para um pipeline totalmente local, aponte o módulo de vetorização para um motor hospedado localmente, como o Ollama.
Perguntas frequentes
O que é o Weaviate?
O Weaviate (weaviate.io, código-fonte em github.com/weaviate/weaviate) é um banco de dados vetorial open-core que armazena tanto objetos estruturados quanto seus embeddings vetoriais, suportando busca vetorial, busca por palavras-chave BM25, busca híbrida e busca generativa (RAG) integrada.
O Weaviate é gratuito?
O núcleo licenciado sob BSD-3-Clause é gratuito para auto-hospedar. Um conjunto definido de recursos dentro do diretório wl/ do repositório exige uma chave de Weaviate License paga para ser ativado. O Weaviate Cloud, a opção de hospedagem gerenciada, é um serviço separado baseado em uso com nível gratuito.
O Weaviate é open source? Qual licença ele usa?
Parcialmente. O núcleo do Weaviate é licenciado sob BSD-3-Clause. Um conjunto definido de recursos dentro do diretório wl/ do repositório é coberto por uma Weaviate License proprietária separada, que só é ativada com uma chave de licença paga. Os metadados do repositório no GitHub classificam a licença geral como "Other" por causa dessa divisão, em vez de uma única licença aprovada pela OSI cobrindo toda a base de código.
O Weaviate pode rodar totalmente offline ou isolado da rede?
Sim, para o banco de dados principal em si — ele roda inteiramente na sua própria infraestrutura sem exigir chamadas externas. Se você configurar um módulo de vetorização ou de busca generativa para um provedor em nuvem (OpenAI, Cohere e outros), essas chamadas específicas precisam de acesso à internet; aponte esses módulos para um motor hospedado localmente, como o Ollama, para um pipeline totalmente offline.
O Weaviate suporta busca híbrida?
Sim. O Weaviate combina busca por similaridade vetorial com busca por palavras-chave BM25 em uma única consulta híbrida, com um parâmetro alpha ajustável para dar mais peso a um dos modos.
O Weaviate tem uma API GraphQL?
Sim. O Weaviate expõe APIs REST, GraphQL e gRPC, com bibliotecas cliente oficiais para Python, TypeScript/JavaScript, Go, Java e C#/.NET.
Como instalar o Weaviate?
O caminho mais rápido é um único comando Docker (docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:<version>). Para produção, use Docker Compose ou o chart oficial de Kubernetes/Helm; para prototipagem local em Python, use o cliente embutido. Veja a tabela de instalação acima para mais detalhes.
O que é o Weaviate Cloud?
O Weaviate Cloud é o serviço de hospedagem opcional e totalmente gerenciado da Weaviate B.V., com preços baseados em uso e nível gratuito. Ele é separado do modelo de licenciamento auto-hospedado — você pode auto-hospedar o núcleo BSD-3-Clause indefinidamente sem nunca usar o Weaviate Cloud.
Quem desenvolve o Weaviate?
O Weaviate é desenvolvido pela Weaviate B.V., empresa sediada em Amsterdã, Países Baixos, com um repositório open source ativo em github.com/weaviate/weaviate.
Quantas estrelas o Weaviate tem no GitHub?
O repositório do Weaviate no GitHub mostra cerca de 16.900 estrelas e cerca de 1.400 forks — confira o repositório ao vivo para o número atual, já que ele muda continuamente.