Skip to main content

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 name
  • top_n: Top N nodes to return from reranking
  • window_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 or castorini/rank_zephyr_7b_v1_full
  • RankVicuna. model=rank_zephyr or castorini/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

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file llama_index_postprocessor_rankllm_rerank-0.6.2.tar.gz.

File metadata

  • Download URL: llama_index_postprocessor_rankllm_rerank-0.6.2.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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}

File hashes

Hashes for llama_index_postprocessor_rankllm_rerank-0.6.2.tar.gz
Algorithm Hash digest
SHA256 22528173033fb69eb5754990efc5f5b4437d43934d9e59352deca5a50085e7c8
MD5 6b30d160249a8fed355017233e485738
BLAKE2b-256 37a0abcd6a89b2763c48bfb6e7179c938fedb673395b78bb3f19bddd2c0f5969

See more details on using hashes here.

File details

Details for the file llama_index_postprocessor_rankllm_rerank-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: llama_index_postprocessor_rankllm_rerank-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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}

File hashes

Hashes for llama_index_postprocessor_rankllm_rerank-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ea7be9fd7620ca6662520dec6dec08196a53a4c5228b54743c42031158e8eef
MD5 eaedc06c04cc0decd3baca6e0d1e2eea
BLAKE2b-256 c5fb42079b96ae760fca3d4fee53ffd757a843a849ec0727b4129c1a83529e3d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page