Discover / RAG & Knowledge
Weaviate
by weaviateGo
Open-source vector database with hybrid search and modules.
Maturity: stable because 10y old, v1.38.8 released 5d ago. Derived from release and commit history, not a rating.
- Stars
- 17k
- Forks
- 1.4k
- Downloads / mo
- —
- Last commit
- 2026-08-01
- License
- BSD-3-Clause
- Open issues
- 620
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceSemantic search needs both embeddings and structured filters, which usually means running two systems.
Use it when
Use it when you want one query interface for vector search, keyword filtering, RAG and reranking at production scale.
Not the right pick when
The getting started path assumes Docker or Kubernetes, so it is not an embedded database for a single process.
Capabilities
- automatic vectorization at import using integrated model providers
- direct import of pre-computed vector embeddings
- multi-tenancy, replication and RBAC authorization
- REST, gRPC and GraphQL APIs
- client libraries for Python, JavaScript/TypeScript, Java, Go and C#
- semantic searches over billions of vectors in milliseconds
Requirements
- Docker or Kubernetes to run the server
Cost: Open source with a paid cloud option
Video walkthroughs
The Best Way to Build a RAG System with Python - Verba from Weaviate - Quick Tutorial
Tutorial: Build AI-Supercharged RAG Apps with a Vector Database - JP Hwang, Weaviate
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v1.38.8
Published 2026-07-29
Breaking Changes
none
New Features
none
Fixes
- Remove support for restoring old backup formats by @dirkkul in https://github.com/weaviate/weaviate/pull/12338
- tokenizer: fix KagomeJa custom-dict throttle release without acquire by @aliszka in https://github.com/weaviate/weaviate/pull/12341
- Route shard access through Index.withShardOrRemote by @dirkkul in https://github.com/weaviate/weaviate/pull/12366
- Allocate per-tenant vector cache memory lazily and proportionally to tenant size by @asdine in https://github.com/weaviate/weaviate/pull/12116
- fix(replication): unify the loading-shard readiness check and fix FetchObjects by @moogacs in https://github.com/weaviate/weaviate/pull/12370
- Add retry to module base client by @dirkkul in https://github.com/weaviate/weaviate/pull/12377
- fix(queue): fix data race in TestPartialChunkRecovery by @asdine in https://github.com/weaviate/weaviate/pull/12383
- Return first letters of API keys for admins on namespaced clusters by @dirkkul in https://github.com/weaviate/weaviate/pull/12316
- feat: add support for cross-property AND matching in BM25 search by @amourao in https://github.com/weaviate/weaviate/pull/11929
- tokenizer: add AnalyzeBatch with resolve-once dispatch and metrics at dispatch by @aliszka in https://github.com/weaviate/weaviate/pull/12342
- lsmkv/roaringset: cut per-read allocations on the roaringset read path by @aliszka in https://github.com/weaviate/weaviate/pull/12343
- test: pin the nearObject anchor in the unlimited vector search tests by @etiennedi in https://github.com/weaviate/weaviate/pull/12376
- chore(deps): bump x/net and x/text in all three modules (CVE-2026-46600, CVE-2026-56852) by @etiennedi in https://github.com/weaviate/weaviate/pull/12371
- fix(grpc): stop truncating UUIDs in id_as_bytes and batch-delete uuid by @etiennedi in https://github.com/weaviate/weaviate/pull/12348
- log: put actionable error text in msg on the boot and exit paths by @etiennedi in https://github.com/weaviate/weaviate/pull/12354
- lsmkv/roaringset: storage-side support for batched Contains resolution by @aliszka in https://github.com/weaviate/weaviate/pull/12388
- Reduce HNSW snapshot allocations by @dirkkul in https://github.com/weaviate/weaviate/pull/12387
- inverted: batch flat ContainsAny/ContainsAll/ContainsNone under one consistent view by @aliszka in https://github.com/weaviate/weaviate/pull/12395
- fix(lsmkv): require every Bucket to carry a logger by @etiennedi in https://github.com/weaviate/weaviate/pull/12404
- fix(backup): reset the inactivity deadline on a successful halt by @etiennedi in https://github.com/weaviate/weaviate/pull/12403
- fix disposable_created size label off-by-one by @etiennedi in https://github.com/weaviate/weaviate/pull/12373
- feat(backup-s3): introduce new auth broker credentials by @gkampitakis in https://github.com/weaviate/weaviate/pull/11880
- fix(cyclemanager): roll back shouldAbort when ctx expires while callback runs by @etiennedi in https://github.com/weaviate/weaviate/pull/12265
- config, inverted: make batched Contains opt-in via runtime-overridable gate by @aliszka in https://github.com/weaviate/weaviate/pull/12410
- fix(cyclemanager): roll back abort when ctx expires while callback runs by @aliszka in https://github.com/weaviate/weaviate/pull/12411
- Add nested object filtering support to usage module by @dirkkul in https://github.com/weaviate/weaviate/pull/12409
Full Changelog: https://github.com/weaviate/weaviate/compare/v1.38.7...v1.38.8
Tags
README
Weaviate <img alt='Weaviate logo' src='https://weaviate.io/img/site/weaviate-logo-light.png' width='148' align='right' />
Weaviate is an open-source, cloud-native vector database that stores both objects and vectors, enabling semantic search at scale. It combines vector similarity search with keyword filtering, retrieval-augmented generation (RAG), and reranking in a single query interface. Common use cases include RAG systems, semantic and image search, recommendation engines, chatbots, and content classification.
Weaviate supports two approaches to store vectors: automatic vectorization at import using integrated models (OpenAI, Cohere, HuggingFace, and others) or direct import of pre-computed vector embeddings. Production deployments benefit from built-in multi-tenancy, replication, RBAC authorization, and many other features.
To get started quickly, have a look at one of these tutorials:
Installation
Weaviate offers multiple installation and deployment options:
See the installation docs for more deployment options, such as AWS and GCP.
Getting started
You can easily start Weaviate and a local vector embedding model with Docker.
Create a docker-compose.yml file:
services:
weaviate:
image: cr.weaviate.io/semitechnologies/weaviate:1.36.0
ports:
- "8080:8080"
- "50051:50051"
environment:
ENABLE_MODULES: text2vec-model2vec
MODEL2VEC_INFERENCE_API: http://text2vec-model2vec:8080
# A lightweight embedding model that will generate vectors from objects during import
text2vec-model2vec:
image: cr.weaviate.io/semitechnologies/model2vec-inference:minishlab-potion-base-32M
Start Weaviate and the embedding service with:
docker compose up -d
Install the Python client (or use another client library):
pip install -U weaviate-client
The following Python example shows how easy it is to populate a Weaviate database with data, create vector embeddings and perform semantic search:
import weaviate
from weaviate.classes.config import Configure, DataType, Property
# Connect to Weaviate
client = weaviate.connect_to_local()
# Create a collection
client.collections.create(
name="Article",
properties=[Property(name="content", data_type=DataType.TEXT)],
vector_config=Configure.Vectors.text2vec_model2vec(), # Use a vectorizer to generate embeddings during import
# vector_config=Configure.Vectors.self_provided() # If you want to import your own pre-generated embeddings
)
# Insert objects and generate embeddings
articles = client.collections.get("Article")
articles.data.insert_many(
[
{"content": "Vector databases enable semantic search"},
{"content": "Machine learning models generate embeddings"},
{"content": "Weaviate supports hybrid search capabilities"},
]
)
# Perform semantic search
results = articles.query.near_text(query="Search objects by meaning", limit=1)
print(results.objects[0])
client.close()
This example uses the Model2Vec vectorizer, but you can choose any other embedding model provider or bring your own pre-generated vectors.
Client libraries and APIs
Weaviate provides client libraries for several programming languages:
There are also additional community-maintained libraries.
Weaviate exposes REST API, gRPC API, and GraphQL API to communicate with the database server.
Weaviate features
These features enable you to build AI-powered applications:
- ⚡ Fast Search Performance: Perform complex semantic searches over billions of vectors in milliseconds. Weaviate's architecture is built in Go for speed and reliability, ensuring your AI applications are highly responsive even under heavy load. See our ANN benchmarks for more info.
- 🔌 Flexible Vectorization: Seamlessly vectorize data at import time with integrated vectorizers from OpenAI, Cohere, HuggingFace, Google, and more. Or you can import your own vector embeddings.
- 🔍 Advanced Hybrid & Image Search: Combine the power of semantic search with traditional keyword (BM25) search, image search and advanced filtering to get the best results with a single API call.
- 🤖 Integrated RAG & Reranking: Go beyond simple retrieval with built-in generative search (RAG) and reranking capabilities. Power sophisticated Q&A systems, chatbots, and summarizers directly from your database without additional tooling.
- 📈 Production-Ready & Scalable: Weaviate is built for mission-critical applications. Go from rapid prototyping to production at scale with native support for horizontal scaling, multi-tenancy, replication, and fine-grained role-based access control (RBAC).
- 💰 Cost-Efficient Operations: Radically lower resource consumption and operational costs with built-in vector compression. Vector quantization and multi-vector encoding reduce memory usage with minimal impact on search performance.
- ⏱️ Object TTL: Automatically expire and remove stale data with configurable time-to-live settings per collection, with full RBAC and multi-tenancy support.
For a complete list of all functionalities, visit the official Weaviate documentation.
Useful resources
AI Agent Skills
Weaviate Agent Skills is a collection of skills for AI coding agents (Claude Code, Cursor, GitHub Copilot, and others) that enable them to work with Weaviate more accurately and efficiently. Skills cover searching, querying, collection management, data import, and full application blueprints (RAG, agentic RAG, chatbots, and more).
Install with:
npx skills add weaviate/agent-skills
Demo projects & recipes
These demos are working applications that highlight some of Weaviate's capabilities. Their source code is available on GitHub.
- Elysia (GitHub): Elysia is a decision tree based agentic system which intelligently decides what tools to use, what results have been obtained, whether it should continue the process or whether its goal has been completed.
- Verba (GitHub): A community-driven open-source application designed to offer an end-to-end, streamlined, and user-friendly interface for Retrieval-Augmented Generation (RAG) out of the box.
- Healthsearch (GitHub): An open-source project aimed at showcasing the potential of leveraging user-written reviews and queries to retrieve supplement products based on specific health effects.
- Awesome-Moviate (GitHub): A movie search and recommendation engine that allows keyword-based (BM25), semantic, and hybrid searches.
We also maintain extensive repositories of Jupyter Notebooks and TypeScript code snippets that cover how to use Weaviate features and integrations:
Blog posts
- What is a Vector Database
- What is Vector Search
- What is Hybrid Search
- How to Choose an Embedding Model
- What is RAG
- RAG Evaluation
- Advanced RAG Techniques
- What is Multimodal RAG
- What is Agentic RAG
- What is Graph RAG
- Overview of Late Interaction Models
Integrations
Weaviate integrates with many external services:
| Category | Description | Integrations |
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cloud Hyperscalers | Large-scale computing and storage | AWS, Google
Truncated. Read the full README on GitHub ↗