# Fusion Retriever Packs
## Hybrid Fusion Pack
This LlamaPack provides an example of our hybrid fusion retriever method.
This specific template fuses results from our vector retriever and bm25 retriever; of course, you can provide any template you want.
Check out the [notebook here](https://github.com/run-llama/llama-hub/blob/main/llama_hub/llama_packs/fusion_retriever/hybrid_fusion/hybrid_fusion.ipynb).
### CLI Usage
You can download llamapacks directly using `llamaindex-cli`, which comes installed with the `llama-index` python package:
```bash
llamaindex-cli download-llamapack HybridFusionRetrieverPack --download-dir ./hybrid_fusion_pack
```
You can then inspect the files at `./hybrid_fusion_pack` and use them as a template for your own project.
### Code Usage
You can download the pack to a the `./hybrid_fusion_pack` directory:
```python
from llama_index.core.llama_pack import download_llama_pack
# download and install dependencies
HybridFusionRetrieverPack = download_llama_pack(
"HybridFusionRetrieverPack", "./hybrid_fusion_pack"
)
```
From here, you can use the pack, or inspect and modify the pack in `./hybrid_fusion_pack`.
Then, you can set up the pack like so:
```python
# create the pack
hybrid_fusion_pack = HybridFusionRetrieverPack(
nodes, chunk_size=256, vector_similarity_top_k=2, bm25_similarity_top_k=2
)
```
The `run()` function is a light wrapper around `query_engine.query()`.
```python
response = hybrid_fusion_pack.run("Tell me about a Music celebritiy.")
```
You can also use modules individually.
```python
# use the fusion retriever
nodes = hybrid_fusion_pack.fusion_retriever.retrieve("query_str")
# use the vector retriever
nodes = hybrid_fusion_pack.vector_retriever.retrieve("query_str")
# use the bm25 retriever
nodes = hybrid_fusion_pack.bm25_retriever.retrieve("query_str")
# get the query engine
query_engine = hybrid_fusion_pack.query_engine
```
## Query Rewriting Retriever Pack
This LlamaPack provides an example of query rewriting through our fusion retriever.
This specific template takes in a single retriever, and generates multiple queries against the retriever, and then fuses the results together.
Check out the [notebook here](https://github.com/run-llama/llama-hub/blob/main/llama_hub/llama_packs/fusion_retriever/query_rewrite/query_rewrite.ipynb).
### CLI Usage
You can download llamapacks directly using `llamaindex-cli`, which comes installed with the `llama-index` python package:
```bash
llamaindex-cli download-llamapack QueryRewritingRetrieverPack --download-dir ./query_rewriting_pack
```
You can then inspect the files at `./query_rewriting_pack` and use them as a template for your own project.
### Code Usage
You can download the pack to a the `./query_rewriting_pack` directory:
```python
from llama_index.core.llama_pack import download_llama_pack
# download and install dependencies
QueryRewritingRetrieverPack = download_llama_pack(
"QueryRewritingRetrieverPack", "./query_rewriting_pack"
)
```
From here, you can use the pack, or inspect and modify the pack in `./query_rewriting_pack`.
Then, you can set up the pack like so:
```python
# create the pack
query_rewriting_pack = QueryRewritingRetrieverPack(
nodes,
chunk_size=256,
vector_similarity_top_k=2,
)
```
The `run()` function is a light wrapper around `query_engine.query()`.
```python
response = query_rewriting_pack.run("Tell me a bout a Music celebritiy.")
```
You can also use modules individually.
```python
# use the fusion retriever
nodes = query_rewriting_pack.fusion_retriever.retrieve("query_str")
# use the vector retriever
nodes = query_rewriting_pack.vector_retriever.retrieve("query_str")
# get the query engine
query_engine = query_rewriting_pack.query_engine
```
Raw data
{
"_id": null,
"home_page": null,
"name": "llama-index-packs-fusion-retriever",
"maintainer": "jerryjliu",
"docs_url": null,
"requires_python": "<4.0,>=3.8.1",
"maintainer_email": null,
"keywords": "fusion, hybrid, query, retriever, rewriting",
"author": "Your Name",
"author_email": "you@example.com",
"download_url": "https://files.pythonhosted.org/packages/c0/9e/1bc0f0a48e72b96d8a3cb1d9f10992b3e82a03e647b48d9def22781e2c1f/llama_index_packs_fusion_retriever-0.2.0.tar.gz",
"platform": null,
"description": "# Fusion Retriever Packs\n\n## Hybrid Fusion Pack\n\nThis LlamaPack provides an example of our hybrid fusion retriever method.\n\nThis specific template fuses results from our vector retriever and bm25 retriever; of course, you can provide any template you want.\n\nCheck out the [notebook here](https://github.com/run-llama/llama-hub/blob/main/llama_hub/llama_packs/fusion_retriever/hybrid_fusion/hybrid_fusion.ipynb).\n\n### CLI Usage\n\nYou can download llamapacks directly using `llamaindex-cli`, which comes installed with the `llama-index` python package:\n\n```bash\nllamaindex-cli download-llamapack HybridFusionRetrieverPack --download-dir ./hybrid_fusion_pack\n```\n\nYou can then inspect the files at `./hybrid_fusion_pack` and use them as a template for your own project.\n\n### Code Usage\n\nYou can download the pack to a the `./hybrid_fusion_pack` directory:\n\n```python\nfrom llama_index.core.llama_pack import download_llama_pack\n\n# download and install dependencies\nHybridFusionRetrieverPack = download_llama_pack(\n \"HybridFusionRetrieverPack\", \"./hybrid_fusion_pack\"\n)\n```\n\nFrom here, you can use the pack, or inspect and modify the pack in `./hybrid_fusion_pack`.\n\nThen, you can set up the pack like so:\n\n```python\n# create the pack\nhybrid_fusion_pack = HybridFusionRetrieverPack(\n nodes, chunk_size=256, vector_similarity_top_k=2, bm25_similarity_top_k=2\n)\n```\n\nThe `run()` function is a light wrapper around `query_engine.query()`.\n\n```python\nresponse = hybrid_fusion_pack.run(\"Tell me about a Music celebritiy.\")\n```\n\nYou can also use modules individually.\n\n```python\n# use the fusion retriever\nnodes = hybrid_fusion_pack.fusion_retriever.retrieve(\"query_str\")\n\n# use the vector retriever\nnodes = hybrid_fusion_pack.vector_retriever.retrieve(\"query_str\")\n# use the bm25 retriever\nnodes = hybrid_fusion_pack.bm25_retriever.retrieve(\"query_str\")\n\n# get the query engine\nquery_engine = hybrid_fusion_pack.query_engine\n```\n\n## Query Rewriting Retriever Pack\n\nThis LlamaPack provides an example of query rewriting through our fusion retriever.\n\nThis specific template takes in a single retriever, and generates multiple queries against the retriever, and then fuses the results together.\n\nCheck out the [notebook here](https://github.com/run-llama/llama-hub/blob/main/llama_hub/llama_packs/fusion_retriever/query_rewrite/query_rewrite.ipynb).\n\n### CLI Usage\n\nYou can download llamapacks directly using `llamaindex-cli`, which comes installed with the `llama-index` python package:\n\n```bash\nllamaindex-cli download-llamapack QueryRewritingRetrieverPack --download-dir ./query_rewriting_pack\n```\n\nYou can then inspect the files at `./query_rewriting_pack` and use them as a template for your own project.\n\n### Code Usage\n\nYou can download the pack to a the `./query_rewriting_pack` directory:\n\n```python\nfrom llama_index.core.llama_pack import download_llama_pack\n\n# download and install dependencies\nQueryRewritingRetrieverPack = download_llama_pack(\n \"QueryRewritingRetrieverPack\", \"./query_rewriting_pack\"\n)\n```\n\nFrom here, you can use the pack, or inspect and modify the pack in `./query_rewriting_pack`.\n\nThen, you can set up the pack like so:\n\n```python\n# create the pack\nquery_rewriting_pack = QueryRewritingRetrieverPack(\n nodes,\n chunk_size=256,\n vector_similarity_top_k=2,\n)\n```\n\nThe `run()` function is a light wrapper around `query_engine.query()`.\n\n```python\nresponse = query_rewriting_pack.run(\"Tell me a bout a Music celebritiy.\")\n```\n\nYou can also use modules individually.\n\n```python\n# use the fusion retriever\nnodes = query_rewriting_pack.fusion_retriever.retrieve(\"query_str\")\n\n# use the vector retriever\nnodes = query_rewriting_pack.vector_retriever.retrieve(\"query_str\")\n\n# get the query engine\nquery_engine = query_rewriting_pack.query_engine\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "llama-index packs fusion_retriever integration",
"version": "0.2.0",
"project_urls": null,
"split_keywords": [
"fusion",
" hybrid",
" query",
" retriever",
" rewriting"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a5129d19b5d7b7a7f3a0d5148915d54e26d434d7f1620819b0f0d74f1e2b9b1",
"md5": "a07aeb571c523ea5294f3856ca9e623d",
"sha256": "4e1d32636754dffb1e3929063916702b2f03c37c9bc4f7aea864fe36183b65bf"
},
"downloads": -1,
"filename": "llama_index_packs_fusion_retriever-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a07aeb571c523ea5294f3856ca9e623d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8.1",
"size": 5137,
"upload_time": "2024-08-13T15:52:58",
"upload_time_iso_8601": "2024-08-13T15:52:58.590436Z",
"url": "https://files.pythonhosted.org/packages/4a/51/29d19b5d7b7a7f3a0d5148915d54e26d434d7f1620819b0f0d74f1e2b9b1/llama_index_packs_fusion_retriever-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c09e1bc0f0a48e72b96d8a3cb1d9f10992b3e82a03e647b48d9def22781e2c1f",
"md5": "e33516336c289cb8a52151484cfeec5e",
"sha256": "b2bc446ee165b629692b009af483829d247dd760468e13a74dbe309944714b6e"
},
"downloads": -1,
"filename": "llama_index_packs_fusion_retriever-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "e33516336c289cb8a52151484cfeec5e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8.1",
"size": 3543,
"upload_time": "2024-08-13T15:52:59",
"upload_time_iso_8601": "2024-08-13T15:52:59.813203Z",
"url": "https://files.pythonhosted.org/packages/c0/9e/1bc0f0a48e72b96d8a3cb1d9f10992b3e82a03e647b48d9def22781e2c1f/llama_index_packs_fusion_retriever-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-13 15:52:59",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "llama-index-packs-fusion-retriever"
}