LlamaIndex Postprocessor Integration: Rankllm-Rerank
RankLLM offers a suite of rerankers, albeit with focus on open source LLMs finetuned for the task. To use a model offered by the RankLLM suite, pass the desired model's Hugging Face model path, found at Castorini's Hugging Face.
e.g., to access LiT5-Distill-base, pass castorini/LiT5-Distill-base as the model name.
For more information about RankLLM and the models supported, visit rankllm.ai. Please pip install llama-index-postprocessor-rankllm-rerank to install RankLLM rerank package.
Parameters:
model: Reranker model nametop_n: Top N nodes to return from rerankingwindow_size: Reranking window size. Applicable only for listwise and pairwise models.batch_size: Reranking batch size. Applicable only for pointwise models.
Model Coverage
Below are all the rerankers supported with the model name to be passed as an argument to the constructor. Some model have convenience names for ease of use:
Listwise:
- RankZephyr. model=
rank_zephyrorcastorini/rank_zephyr_7b_v1_full - RankVicuna. model=
rank_zephyrorcastorini/rank_vicuna_7b_v1 - RankGPT. Takes in a valid gpt model. e.g.,
gpt-3.5-turbo,gpt-4,gpt-3 - LiT5 Distill. model=
castorini/LiT5-Distill-base - LiT5 Score. model=
castorini/LiT5-Score-base
Pointwise:
- MonoT5. model='monot5'
💻 Example Usage
pip install llama-index-core
pip install llama-index-llms-openai
from llama_index.postprocessor.rankllm_rerank import RankLLMRerank
First, build a vector store index with llama-index.
index = VectorStoreIndex.from_documents(
documents,
)
To set up the retriever and reranker:
query_bundle = QueryBundle(query_str)
# configure retriever
retriever = VectorIndexRetriever(
index=index,
similarity_top_k=vector_top_k,
)
# configure reranker
reranker = RankLLMRerank(
model=model_name
top_n=reranker_top_n,
)
To run retrieval+reranking:
# retrieve nodes
retrieved_nodes = retriever.retrieve(query_bundle)
# rerank nodes
reranked_nodes = reranker.postprocess_nodes(
retrieved_nodes, query_bundle
)
🔧 Dependencies
Currently, RankLLM rerankers require CUDA and for rank-llm to be installed (pip install rank-llm). The built-in retriever, which uses Pyserini, requires JDK11, PyTorch, and Faiss.
castorini/rank_llm
Repository for prompt-decoding using LLMs: http://rankllm.ai
Metadata
Release files for llama-index-postprocessor-rankllm-rerank 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| llama_index_postprocessor_rankllm_rerank-0.7.0.tar.gz | 5.9 kB | Without provenance | Details for llama_index_postprocessor_rankllm_rerank-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| llama_index_postprocessor_rankllm_rerank-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for llama_index_postprocessor_rankllm_rerank-0.7.0-py3-none-any.whl |
Total release size: 11.8 kB
Release files / llama_index_postprocessor_rankllm_rerank-0.7.0.tar.gz
| Download URL | llama_index_postprocessor_rankllm_rerank-0.7.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8719136114853c567bfc08a6a790d9d353abdce04665889818c558eec9422ea
|
|
BLAKE2b-256 checksum How to use checksums |
df3f2f86e99baa6814d3f17a4a919f26230db669c0c138430d460c7797adc662
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / llama_index_postprocessor_rankllm_rerank-0.7.0-py3-none-any.whl
| Download URL | llama_index_postprocessor_rankllm_rerank-0.7.0-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4e4138880ee7e11c7d9d7c710e0dd62ce4075ecc2483c36abde35d077092045
|
|
BLAKE2b-256 checksum How to use checksums |
7af286e94119ac5a7e236191f3a0042e8d03e5faeed12b5c4cf5d97ec5ce6874
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for llama-index-postprocessor-rankllm-rerank 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.