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_zephyr
orcastorini/rank_zephyr_7b_v1_full
- RankVicuna. model=
rank_zephyr
orcastorini/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
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
File details
Details for the file llama_index_postprocessor_rankllm_rerank-0.4.0.tar.gz
.
File metadata
- Download URL: llama_index_postprocessor_rankllm_rerank-0.4.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.10 Darwin/22.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d74f1abcd0f729f47184e51e4a0754178d992cce74360f281ec15ddb55e6a74e |
|
MD5 | 65a01b27345bf6bdadc9b78386f9f7e5 |
|
BLAKE2b-256 | 24bd7542c0cd577edcfe04c88ce9f8a4d44fa70c23b3c6197693253eb30210a9 |
File details
Details for the file llama_index_postprocessor_rankllm_rerank-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: llama_index_postprocessor_rankllm_rerank-0.4.0-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.10 Darwin/22.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f264d0270e183cfaaa7679b5a33baa12babc9409d255b6789dd9509fbbcb5a35 |
|
MD5 | 6b9a78a0fe2bbd487a3858fb630d6404 |
|
BLAKE2b-256 | 643ee5792a89aea06f52bac0f8006cd37eaeced24f7936cde7164db50e1ae637 |