arXiv ScienceSearch

arXiv · 2504.01553

Bhakti: A Lightweight Vector Database Management System for Endowing Large Language Models with Semantic Search Capabilities and Memory

Abstract

With the rapid development of big data and artificial intelligence technologies, the demand for effective processing and retrieval of vector data is growing. Against this backdrop, I have developed the Bhakti vector database, aiming to provide a lightweight and easy-to-deploy solution to meet the storage and semantic search needs of small and medium-sized datasets. Bhakti supports a variety of similarity calculation methods and a domain-specific language (DSL) for document-based pattern matching pre-filtering, facilitating migration of data with its portable data files, flexible data management and seamless integration with Python3. Furthermore, I propose a memory-enhanced large language model dialogue solution based on the Bhakti database, which can assign different weights to the question and answer in dialogue history, achieving fine-grained control over the semantic importance of each segment in a single dialogue history. Through experimental validation, my method shows significant performance in the application of semantic search and question-answering systems. Although there are limitations in processing large datasets, such as not supporting approximate calculation methods like HNSW, the lightweight nature of Bhakti gives it a clear advantage in scenarios involving small and medium-sized datasets.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Zihao Wu. 2025-04-07. Bhakti: A Lightweight Vector Database Management System for Endowing Large Language Models with Semantic Search Capabilities and Memory. https://arxiv.org/abs/2504.01553

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Access Paths for Efficient Ordering with Large Language Models

In this work, we present the \texttt{LLM ORDER BY} semantic operator as a logical abstraction and conduct a systematic study of its physical implementations. First, we propose several improvements to existing semantic sorting algorithms and introduce a semantic-aware external merge sort algorithm. Our extensive evaluation reveals that no single implementation offers universal optimality on all datasets. From our evaluations, we observe a general scaling relationship between sorting cost and the ordering quality for comparison-based algorithms. Building on these insights, we design a budget-aware optimizer that utilizes heuristic rules, LLM-as-Judge evaluation, and consensus aggregation to dynamically select the near-optimal access path for LLM ORDER BY. In our extensive evaluations, our optimizer consistently achieves ranking accuracy on par with or superior to the best static methods across all benchmarks. We believe that this work provides foundational insights into the principled optimization of semantic operators essential for building robust, large-scale LLM-powered analytic systems.

cs.DB

Expressive Power of Property Graph Constraint Languages

We present the first principled and systematic study of the expressive power of property graph constraint languages, focused on the recent PG-Keys language, set to inform the upcoming revision of the GQL standard. To this end, we position PG-Keys within the broader landscape of existing formalisms. In particular, we compare PG-Keys with two core property graph constraint languages: Graph Functional Dependencies (GFD) and Graph Generating Dependencies (GGD). One hurdle is that these formalisms allow different kinds of graph pattern languages and data predicates. To make a fair comparison, based on their structural differences only, we first present a unifying framework. Within this framework, we consider conjunctive regular path queries (CRPQ) as graph patterns with equality and inequality predicates. We then identify well-behaved fragments, establish expressiveness inclusion, and prove separation results, yielding a complete and strict hierarchy of expressive power. The results identify precisely when PG-Keys provide strictly greater expressive power, clarifying their place among state-of-the-art property graph constraint formalisms.

cs.DB

Answering Conjunctive Queries with Aggregations under Updates

Dynamic query processing keeps query answers up to date during insertions and deletions. For conjunctive queries (CQs) under set semantics, the classes maintainable in constant amortized time are known exactly: the $q$-hierarchical CQs under arbitrary updates, and the free-connex CQs under insertion-only updates. Many analytics tasks, including \textsf{SUM}/\textsf{COUNT} aggregations, provenance, and access control, are captured by evaluating a CQ over a positive commutative semiring. We thus ask whether aggregation changes what can be maintained efficiently, and if so, when. Under \emph{insertion-only} updates, it does: the boundary retreats from free-connex to a new class we call \emph{strong-connex}, with $q\text{-hierarchical} \subsetneq \text{strong-connex} \subsetneq \text{free-connex} \subsetneq \text{acyclic}$. For every \emph{strictly monotone} semiring, including the sum-product and tropical semirings, no free-connex but non-strong-connex CQ is maintainable in $O(|D|^{1/2-ε})$ time under the OuMv and OMv conjectures, whereas every strong-connex CQ is maintainable in $O(1)$ amortized time over every semiring. Under \emph{arbitrary} updates, the boundary stays at the $q$-hierarchical CQs for every semiring with $O(1)$-deletable aggregates, and maintenance over any semiring is at least as hard as over the Boolean semiring. We further strengthen the lower bounds to semirings that fall outside the class and to query with different \emph{height} and \emph{dimension}, under the combinatorial $k$-clique and generalized OuMv conjectures. All upper bounds come from a single framework, obtained by adapting CROWN to annotated relations; together with the lower bounds, they yield dichotomies parameterized by both the query and the semiring, recovering the Boolean results as a special case.

cs.DB