llama-index packs infer retrieve rerank integration
Project description
Infer-Retrieve-Rerank LlamaPack
This is our implementation of the paper "In-Context Learning for Extreme Multi-Label Classification by Oosterlinck et al.
The paper proposes "infer-retrieve-rerank", a simple paradigm using frozen LLM/retriever models that can do "extreme"-label classification (the label space is huge).
- Given a user query, use an LLM to predict an initial set of labels.
- For each prediction, retrieve the actual label from the corpus.
- Given the final set of labels, rerank them using an LLM.
All of these can be implemented as LlamaIndex abstractions.
A full notebook guide can be found here.
CLI Usage
You can download llamapacks directly using llamaindex-cli
, which comes installed with the llama-index
python package:
llamaindex-cli download-llamapack InferRetrieveRerankPack --download-dir ./infer_retrieve_rerank_pack
You can then inspect the files at ./infer_retrieve_rerank_pack
and use them as a template for your own project!
Code Usage
You can download the pack to a ./infer_retrieve_rerank_pack
directory:
from llama_index.core.llama_pack import download_llama_pack
# download and install dependencies
InferRetrieveRerankPack = download_llama_pack(
"InferRetrieveRerankPack", "./infer_retrieve_rerank_pack"
)
From here, you can use the pack, or inspect and modify the pack in ./infer_retrieve_rerank_pack
.
Then, you can set up the pack like so:
# create the pack
pack = InferRetrieveRerankPack(
labels, # list of all label strings
llm=llm,
pred_context="<pred_context>",
reranker_top_n=3,
verbose=True,
)
The run()
function runs predictions.
pred_reactions = pack.run(inputs=[s["text"] for s in samples])
You can also use modules individually.
# call the llm.complete()
llm = pack.llm
label_retriever = pack.label_retriever
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
Hashes for llama_index_packs_infer_retrieve_rerank-0.4.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9250274c4e221593768c2ddb9bfb59085b69d2e40572b909b6e4e71b6d016fc8 |
|
MD5 | ab348f34f20c22ec6a8caa73f40908e2 |
|
BLAKE2b-256 | a8c6f615a9ade1176b53b0cd00886fcd49b29f8db45f0c7d21222e9df1ef0f27 |
Hashes for llama_index_packs_infer_retrieve_rerank-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d1288b366cb5c2728ccb4f69251ea7f7da490c2c4c9c4330444f12fd5462454 |
|
MD5 | e53692e76ed167f941fab267c96407bb |
|
BLAKE2b-256 | 2fc5d9417bd97768231c08ebb7e09b4b50f8d99fcf8fd27abc8f2822a93a3aed |