- Being a lightweight option of RAG, with just the necessary dependencies.
- Focused on RAG with local and open source models, not focused on API calls.
- Try out different strategies and data-structures that can be used to have better results. (Such as dataframes, can try out with polars as its really performant)
- Multimodal support, combine image, text and audio to get the best results
- Solve some of the storage challenges RAG faces, and provide good solutions for updating documents and embeddings as well as loading them.
- Use it as a educational library to demostrate on some of the main concepts llama-index or other RAG framworks use.
- The base for the implementation of some agentic strategies I will try out on other library.
- Offer support for local models with CPU like llama-cpp
pip install nanorag
You can take a look at the notebooks to understand how it works.