Practical overview
When it fits
Use Bhakti when a Python application needs a lightweight vector store for small or medium-sized datasets and its searches benefit from combining similarity ranking with document-field pre-filtering.
Who it is for
- Developers building semantic-search or question-answering systems.
- Teams adding vector retrieval to knowledge and RAG applications with small or medium-sized datasets.
- Python developers who want to combine vector similarity with document-field filters.
Documented uses
- Store vector embeddings alongside document fields.
- Retrieve records by vector similarity using supported metrics.
- Narrow document matches with indexed fields and filter expressions.
- Add a vector-retrieval component to a semantic-search or RAG workflow.
Requirements & limits
The repository is public and identifies the project as open source under GPL-3.0.
- Vector dimension must match the dimension configured for the server; the README's server example uses 1,024.
- The README documents a Python client requiring Python 3.10 or later.
- Bhakti supports multiple similarity calculations and DSL-based document pre-filtering.
- The project states that it lacks approximate methods such as HNSW and has limitations with large datasets.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up Bhakti and query indexed document vectors
Install Bhakti, start its server and use the Python client to store a vector and retrieve similar records with document-field filters.
Before you start
- Python 3.10 or later for the documented client.
- A local directory for the database files.
- Vectors and server configuration using the same dimension; the server example uses 1,024.
Steps
Install Bhakti from PyPI with the command below.
pip install bhaktiCreate a database directory and configure the server with a vector dimension and DB_PATH; the README also documents optional server settings in YAML.
Start the server with
bhakti ./bhakti.yaml.Use the Python client to create a vector with document fields, create indexes for the fields, and call
find_documents_by_vector_indexedwith a filter expression, similarity metric and top-k value.
Expected outcome
A running Bhakti server and a client query that combines vector similarity with indexed document-field filtering.
Guide limitations
- The documented client requires Python 3.10 or later.
- The server only accepts vectors matching its configured dimension; the example uses 1,024.
- The project notes that it does not support approximate methods such as HNSW and has limitations with large datasets.
Compare options for Vector search
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- vortezwohl/Bhakti · Official homepage title · retained in its source language

