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. - RocksDB and HNSW Indexing
- 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.
- Metadata storage for filtering