llama-index postprocessor rankllm-rerank integration
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llama_index_postprocessor_rankllm_rerank-0.6.1.tar.gz.
File metadata
- Download URL: llama_index_postprocessor_rankllm_rerank-0.6.1.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
589de428208e64807e2244ca4e922c3a2542f8dae41e6a4635438a7e10abb468
|
|
| MD5 |
f2f8686b5e3649ead371b394758518f7
|
|
| BLAKE2b-256 |
9823684cc0fb2a5657a6eef762179e31606d0cae2cc819f5073be71da68ad9a1
|
File details
Details for the file llama_index_postprocessor_rankllm_rerank-0.6.1-py3-none-any.whl.
File metadata
- Download URL: llama_index_postprocessor_rankllm_rerank-0.6.1-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e6a21e179c50817f29d012c8f48f9774acca0b0dd600c677ae0412c0dc48b41
|
|
| MD5 |
ebc35ce71997bb5fbff8a730af1d3fe6
|
|
| BLAKE2b-256 |
2c01aae8b8f7e4646f743d4fcdd2fd3555a0f401c7cfef9b8fe7c60697aa5d23
|