0xdebabrata / citrus Goto Github PK
View Code? Open in Web Editor NEW(distributed) vector database
Home Page: https://searchcitrus.com
License: Apache License 2.0
(distributed) vector database
Home Page: https://searchcitrus.com
License: Apache License 2.0
Integrate sqlite
to store plain text and other supplied metadata.
By default, indices on citrusdb are of 1536 dimensions. Expose APIs to allow developers to set any vector dimension during index creation.
citrus only supports integer IDs at the moment because that's passed directly to HNSW. Add support for non-integer IDs by creating a map between each ID and an incrementing integer value which will serve as the HNSW label.
Currently citrus supports vector embeddings from OpenAI text-embedding-ada-002
model.
It'd be great to add support for other embedding models from Cohere, Huggingface, etc. Create an EmbeddingFunction
abstract class or something similar and implement OpenAI, Cohere, etc. embedding functions.
The create_index
function no longer takes persist_directory
in the signature and now requires name
.
See README:
https://github.com/0xDebabrata/citrus/tree/main#1-create-index
add
now requires index
which matches the value for name
in create_index
.
See README:
https://github.com/0xDebabrata/citrus/tree/main#2-insert-elements
Allow reloading HNSW indices from index using data stored in index_manager
table.
This would allow citrus to automatically load existing indices from disk during server restarts and take us one step closer to offering a hosted cloud solution.
Currently, all indices need to be in memory to perform CRUD operations on a given index that has been saved to disk and currently not in memory.
This creates unnecessary latency and memory usage as all indices are queried from sqlite before being loaded into memory.
Moreover the get_all_indices
method also returns a count of elements in all indices. This query runs very slowly for large indices.
Add a new method that reloads just the required index to memory.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.