| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| .git | 2,692 items | ||
| dependencies | 4 items | ||
| example | 7 items | ||
| legacy | 5 items | ||
| logs | 2 items | ||
| qrel-analysis | 12,467 items | ||
| runs | 2,193 items | ||
| slurm_ilps | 15 items | ||
| slurm_lumi | 147 items | ||
| src | 110 items | ||
| unittest | 16 items | ||
| .gitignore | 541 Bytes xet | 4da3f465 | |
| README.md | 2.74 kB xet | 0932ba74 | |
| pyproject.toml | 476 Bytes xet | 3568f2e1 | |
| vllm_server.log | 450 MB xet | 2b3bcb5f |
Modularized LLM-Reranking Library:
This modularized LLM-Reranking project provides a flexible framework for reranking search results using large language models (LLMs). It allows users to easily experiment and integrate different components from different neural reranking methods.
[July 4, 2025] We consider sorting algorithm, prompting template and corresponding rankign parser with different LLM backend.
Installation
- Environment
conda create -n rerank python=3.10
pip install uv
- Dependency Installation
git clone https://github.com/DylanJoo/APRIL.git
cd APRIL
uv pip install -e .
uv pip install vllm==0.11.1 ftfy ir_datasets ir_measures
The final requirements.txt will be provided in the future release.
Strcutre [TODO: update to the beta version]
APRIL/ # the proposed new method using `autollmrerank`.
├── unittest/li_textlist.py
├── src/
│ └── autollmrerank/
│ ├── __init__.py
│ ├── config_manager.py
│ ├── utils.py
│ ├── prompt_builder/
│ │ ├── base.py
│ │ └── _rank_gpt.py
│ ├── llm_provider/
│ │ ├── base.py
│ │ └── _rank_gpt.py
│ ├── result_parser/
│ │ ├── base.py
│ │ └── _rank_gpt.py
│ └── tests/
│ └── test_model.py
└── examples/
├── run_trec-dl-2020.sh
└── log.vllm/
Wrapper/main functions
- ModularReranker
- A wrapper class that defines the reranking types for class factory, which can integrates all the following 4 components.
Four modules
InputAssebler (rename? scheduler? handler? ...)
- Input: query and results
- Output: list of query-documents pairs
PromptBuilder
- Input: query and documents
- Output: text prompts for LLM
LLMProvider
- Input: text prompts
- output: text outputs or list of numbers
ResultParser
- Input: text outputs or list of numbers
- Output: Result object with sorted results
Utililty functions/classes
- Result: the class of retrieval/ranking results.
- PromptMode: the class of reranking mode, including the prompt, llm calling and parsing
Top 100 pool
Average pool size 255.1627906976744 Average pool size 145.625 Average pool size 325.32 Average pool size 278.23839009287923 Average pool size 278.408 Average pool size 291.54 Average pool size 264.40816326530614
Top 20 pool
Average pool size 97.90697674418605 Average pool size 41.815 Average pool size 144.32 Average pool size 122.30030959752322 Average pool size 116.86 Average pool size 123.94 Average pool size 127.40816326530613
- Total size
- 4.35 GB
- Files
- 17,662
- Last updated
- Jun 15
- Pre-warmed CDN
- US EU US EU