A vector database implementation in Rust. A server and client based codebase. Just run the server and call the api endpoints to
- embed documents
- Search through.
- VectorDB Structure: The database is represented by a struct that maps an integer ID to a vector.
- Add : Allows insertion of vectors into the database
- Find Nearest: Computes Euclidean distance between a
query
vector and all vectors in the database returning the close one. - SQLite based persistence storage
- Run the server using the following command
cargo run
- Use the python client to
add document
andsearch
. See here
- Implement more efficient distance calculations.
- Use advanced datastructures for fast nearest neighbor searches.
- Test embeddings and retrieved documents search functionality. here
- Batch import and Export of Documents: you might need to import or export large numbers of documents.
- Dynamic Indexing