llama-index packs self_discover paper implementation
Project description
Self-Discover LlamaPack
This LlamaPack implements Self-Discover: Large Language Models Self-Compose Reasoning Structures paper.
It has two stages for the given task:
-
STAGE-1:
a. SELECT: Selects subset of reasoning Modules.
b. ADAPT: Adapts selected reasoning modules to the task.
c. IMPLEMENT: It gives reasoning structure for the task.
-
STAGE-2: Uses the generated reasoning structure for the task to generate an answer.
The implementation is inspired from the codebase
CLI Usage
You can download llamapacks directly using llamaindex-cli
, which comes installed with the llama-index
python package:
llamaindex-cli download-llamapack SelfDiscoverPack --download-dir ./self_discover_pack
You can then inspect the files at ./self_discover_pack
and use them as a template for your own project!
Code Usage
There are two ways using LlamaPack:
- Do
download_llama_pack
to load the Self-Discover LlamaPack. - Directly use
SelfDiscoverPack
Using download_llama_pack
from llama_index.core.llama_pack import download_llama_pack
# download and install dependencies
SelfDiscoverPack = download_llama_pack(
"SelfDiscoverPack", "./self_discover_pack"
)
self_discover_pack = SelfDiscoverPack(verbose=True, llm=llm)
Directly use SelfRAGPack
from llama_index.packs.self_discover import SelfDiscoverPack
self_discover_pack = SelfRAGPack(llm=llm, verbose=True)
The run() function serves as a concise wrapper that implements the logic outlined in the "self-discover" paper, applying it to a sample task as illustrated below.
Emma needs to prepare 50 invitations for her upcoming birthday party. She can handwrite 10 invitations in an hour. After working for 2 hours, she takes a break for 30 minutes. If she resumes writing at the same pace, how long will it take her to complete all 50 invitations?
output = pack.run("<task>")
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_self_discover-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53f6d49f5c6f81a7f1981c865a0e843c7b728a4a5b4162ece1af9839f1517df8 |
|
MD5 | e6f70a2d72c2e3fdda6f26c689df558c |
|
BLAKE2b-256 | 2db2b12abfb00261bd6097f420f27fe9ccc9dbec52ed820932c69a3b2c011dc7 |
Hashes for llama_index_packs_self_discover-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1398d761dae9c7a876ada8dd0acdc66b8caefb4ee6ef3080a87d6170b2f5ac2 |
|
MD5 | 80b1a1a666cef5d8dc3cb7d97bc4c8b0 |
|
BLAKE2b-256 | 47185bf5b4b15cbe628d37bddb2125e91b61890b7fe877ba2b03d040234d25aa |