Welcome to Adon’s documentation!
Note
This project is under active development. The docs are not complete.
Adon is an all-in-one python framework for Ad-hoc Information Retrieval. It is highlighted for the following properties:
All-in-one. Adon efficiently implements the entire ad-hoc retrieval pipeline: including the data loading, model training, encoding, indexing, and evaluation. Based on the this, Adon implements various neural retrieval/reranking models (Sparse, Dense, the newly proposed Generative, and the cross-encoder). One can easily train/evaluate a model with one line of command.
Elastic. The components of Adon are carefully designed to be highly extendable and independent with one another. You can focus on developing a specific part (e.g. encoding model) without inspecting details about the others (e.g. implementation of ANN indexes). You can also develop your own model within the Adon’s framework by only adding a configuration file and a model’s implementation.
Before you start, make sure you installed the dependencies:
export CUDA=11.6
conda create -n adon python=3.9.12
conda install pytorch==1.12.1 cudatoolkit=$CUDA -c conda-forge -c pytorch
conda install faiss-gpu==1.7.2 -c conda-forge
pip install torch_scatter -f https://data.pyg.org/whl/torch-1.12.0+$CUDA.html
pip install transformers==4.21.3 hydra-core==1.2.0 notebook ipywidgets psutil
Note
Make sure the cudatoolkit version matches your machine!
Then clone the repository:
git lfs install
git clone https://github.com/namespace-Pt/Adon
cd Adon
Now, let’s start the journey with Quick Start.