rank_llm Install
Development environment setup for rank_llm and its packaged rank-llm CLI.
Prerequisites
- Python 3.12+
- Git
- Java 21 only for retrieval or evaluation workflows that use
pyserini
Verify Runtime
python3 --version
command -v uv
If uv is on PATH, use it silently. If not, ask once whether to install uv or continue with a fallback pip or conda path.
Clone (if needed)
If no pyproject.toml is present:
git clone git@github.com:castorini/rank_llm.git && cd rank_llm
Install (source - preferred)
uv path
uv python install 3.12
uv venv --python 3.12
source .venv/bin/activate
uv sync --group dev --extra cloud --extra api
pip path
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[cloud,api]"
pip install pre-commit
conda fallback
conda create -n rankllm python=3.12 -c conda-forge -y
conda activate rankllm
pip install -e ".[cloud,api]"
PyPI alternative
uv pip install rank-llm
Smoke Test
rank-llm --output json doctor
rank-llm --help
Pre-commit (source installs)
uv run pre-commit install --install-hooks --hook-type pre-commit --hook-type pre-push
Reference Files
references/extras.md- Optional extras and when to add them
Gotchas
rank-llmis the canonical CLI entry point. The legacy scripts undersrc/rank_llm/scripts/remain available, but they are compatibility wrappers.cloudis the default hosted-provider stack andapiis the lightweight HTTP server stack. This pair is the best default for most contributor workflows.pyserinirequires Java 21 and is only needed for retrieval or evaluation workflows.localandvllmpull in heavier inference stacks. Do not install them by default.