DylanJHJ/APRIL / README.md
DylanJHJ's picture
|
download
raw
2.74 kB

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

Xet Storage Details

Size:
2.74 kB
·
Xet hash:
0932ba7455a711263ad40e800598f43a9bc5ecf2e73a42a22c5aa49b04eddc53

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.