मैं विश्वविद्यालय के पहले वर्ष का छात्र हूँ, और यह जानना चाहता था कि database engine वास्तव में कैसे काम करता है, इसलिए 4 महीने पहले मैंने इसे खुद बनाना शुरू किया। शुरुआत में यह सीखने के लिए बनाया गया LSM-tree key-value store था, लेकिन vector layer जोड़ने और उस पर HNSW index रखने के बाद यह एक on-device vector database बन गया।

यह पूरी तरह C में लिखा गया है और इसकी कोई external dependency नहीं है। यह server के बिना app में link होकर डिवाइस के अंदर सीधे चलने वाली embedded library है, इसलिए इसका लक्ष्य on-device RAG और semantic search है।

मुख्य घटक:

  • LSM-tree storage (WAL + memtable + SST + compaction)
  • HNSW vector index (approximate nearest neighbor search)
  • ARM NEON SIMD distance kernel (float32 / int8, L2 / dot)
  • string-आधारित query API (filter के साथ vector search, FFI binding आसान)

फिलहाल इसमें बुनियादी CRUD और query फ़ीचर मौजूद हैं।

अभी यह v1 है, इसलिए optimization और कुछ हिस्से अभी बाकी हैं (x86 support, concurrency, mobile binding आदि), और इसकी सीमाएँ तथा roadmap README में लिखी गई हैं।

इसका नाम livero है (libero, इतालवी में "स्वतंत्र" + vector)। इसका मतलब है ऐसा vector store जो server से, dependencies से मुक्त हो और डिवाइस पर स्वतंत्र रूप से चल सके :)

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.