[](https://github.com/kn0sys/valentinus/actions/workflows/rust.yml) [](https://crates.io/crates/valentinus)
[](https://crates.io/crates/valentinus) [](https://docs.rs/valentinus) [](https://github.com/kn0sys/valentinus/commits/main/) [](https://app.element.io/#/room/#valentinus:matrix.org)

# valentinus
next generation vector db built with lmdb bindings
### dependencies
* bincode/serde - serialize/deserialize
* lmdb-rs - database bindings
* ndarray - numpy equivalent
* ort/onnx - embeddings
### getting started
```bash
git clone https://github.com/kn0sys/valentinus && cd valentinus
```
# tests
* Note: all tests currently require the `all-Mini-LM-L6-v2_onnx` directory
* Get the model.onnx and tokenizer.json from huggingface or [build them](https://huggingface.co/docs/optimum/en/exporters/onnx/usage_guides/export_a_model)
```bash
mkdir all-Mini-LM-L6-v2_onnx
cd all-Mini-LM-L6-v2_onnx && wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/config.json
wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/onnx/model.onnx
wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/special_tokens_map.json
wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/tokenizer_config.json
wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/tokenizer.json
wget https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2/resolve/main/vocab.txt
```
### examples
see [examples](./examples/embeddings.md)
### reference
[inspired by this chromadb python tutorial](https://realpython.com/chromadb-vector-database/#what-is-a-vector-database)