The goal is to provide a wide range of out-of-the-box functionality (matching algorithms, preprocessing functions, etc.) while also offering a framework for modular/customizable pieces of the process. To ensure easy integration into projects, the base library is built entirely using the Python standard library.
It's still in the early stages, so please proceed with a healthy dose of skepticism. I'd love to hear your thoughts and feedback!
Some planned enhancements for the near future include:
- More resolution algorithms / methods
- Larger list of default preprocessing functions
- Examples integrating with other systems for candidate selection (i.e. pgvector, hnswlib, etc.)
- Examples integrating with other systems for candidate reranking (i.e. distributing on dask/spark/etc.)
- A more functional suite of utilities for comparing resolution implementations against each other
- Utilities for auto-tuning resolution parameters
You can check out the project here: https://github.com/joshmeek/rezolva
I'm particularly interested in hearing about use cases or integration scenarios you'd like to see supported. Any contributions or suggestions are welcome!