OpenViSTAI · Agents · Blockchain · Crypto
Menu
RAG & Knowledge Systems

Bhakti

Bhakti is a lightweight Python-connected vector database that stores vector data and supports semantic search through similarity calculations. It also provides a domain-specific language for pre-filtering document matches and portable data files for managing stored data.

Independent OpenViST project profile, based on linked sources.

Bhakti — OpenViST project profile in RAG & Knowledge Systems.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Install Bhakti from PyPI with the command below.

    Documented command
    pip install bhakti
  2. Create a database directory and configure the server with a vector dimension and DB_PATH; the README also documents optional server settings in YAML.

  3. Start the server with bhakti ./bhakti.yaml.

  4. Use the Python client to create a vector with document fields, create indexes for the fields, and call find_documents_by_vector_indexed with 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

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.

ProjectDocumented purposePlatformAccess and requirements
BhaktiStore vector embeddings alongside document fields.The repository is public and identifies the project as open source under GPL-3.0.
MettisIndex text documents through an HTTP endpoint.Linux, Self-hosted, Server
Evidence and transparency

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