{"repo":"gusye1234/nano-vectordb","free":true,"listed":false,"github":"https://github.com/gusye1234/nano-vectordb","clone":"git clone https://github.com/gusye1234/nano-vectordb.git","description":"A simple, easy-to-hack Vector Database","language":"Python","stars":207,"topics":["embedding","rag","vector","vector-database"],"license":"MIT","category":"databases-storage","readme_excerpt":"nano-VectorDB A simple, easy-to-hack Vector Database =3.9.11-blue\" 🌬️ A vector database implementation with single-dependency ( numpy ). 🎁 It can handle a query from 100,000 vectors and return in 100 milliseconds. 🏃 It's okay for your prototypes, maybe even more. 🏃 Support naive multi-tenancy. Install Install from PyPi Install from source Quick Start Faking your data : You can add any fields to a data. But there are two keywords: - id : If passed, NanoVectorDB will use your id, otherwise a generated id will be used. - vector : must pass, your embedding np.ndarray . Init a DB Next time you init vdb from fool.json , NanoVectorDB will load the index automatically. Upsert Query Conditional filter Save Get, Delete Additional Data Multi-Tenancy If you have multiple vectorDB to use, you can use MultiTenantNanoVDB to manage: MultiTenantNanoVDB use a queue to manage the total vector dbs in memory, you can adjust the parameter: Benchmark Embedding Dim: 1024. Device: MacBook M3 Pro - Save a index with 100,000 vectors will generate a roughly 520M json file. - Insert 100,000 vectors will cost roughly 2 s - Query from 100,000 vectors will cost roughly 0.1 s","default_branch":null,"files":null,"tree":[],"storefront":"/r/gusye1234","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gusye1234/nano-vectordb/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}