diff --git a/README.md b/README.md index bf04011e47654083d407edb41bdf3d11100007f2..18f3a5decd45dbbbf2ee9eae57c03dbc825b85a8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,47 @@ # proximity-cache -Various experiments on approximate vector search in high-dimensional spaces. +Proximity is a research project exploring the optimization and speed-recall tradeoffs of approximate vector search in high-dimensional spaces. +We provide an approximate cache for vector databases that is written in Rust and exposes Python bindings. -Research conducted by the SaCS team at EPFL, licensed under MIT. +More information is available in our [EuroMLSys '25 publication](https://doi.org/10.1145/3721146.3721938). + +Note: This code is under active development and is not recommended for production systems. + +## Installation + +### Prerequisites + +Ensure you have the following dependencies installed: + +- the Rust toolkit (Cargo and rustup are encouraged). For now, nightly is required, but a regular (non-nightly) install on your machine will automatically download the nightly compiler and use it only in this project, making this effectively transparent for the user. +- Python 3.8+ +- Maturin for Rust-Python interactions (we recommend installing by running ```pip install maturin```) + +## Build Instructions + +``` +python3 -m venv proxi-env +source proxi-env/bin/activate +git clone https://gitlab.epfl.ch/randl/proximity.git +cd proximity/bindings +maturin develop -r +``` + +## Usage + +todo + +## Repository Structure + +```proximity/ +├── bindings/ # Python bindings +├── core/ # Rust source code +├── ci/ # Continuous integration build scripts +├── README.md +└── LICENSE # MIT License +``` +## License + +This project is licensed under the MIT License. See LICENSE for details. This code is meant as a beta/development playground. It should not be used for production systems.