-
Notifications
You must be signed in to change notification settings - Fork 225
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
751 additions
and
15,480 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,11 +36,50 @@ Run the trial | |
The logs will be sent to `./root/<run_name>`. | ||
|
||
### To Run: reasoning (HotPotQA) | ||
Clone this repo and move to the HotPotQA directory | ||
We provide a set of notebooks to easily run, explore, and interact with the results of the reasoning experiments. Each experiment consists of a random sample of 100 questions from the HotPotQA distractor dataset. Each question in the sample is attempted by an agent with a specific type and reflexion strategy. | ||
|
||
#### Setup | ||
|
||
To get started: | ||
|
||
1. Clone this repo and move to the HotPotQA directory: | ||
```bash | ||
git clone https://github.com/noahshinn024/reflexion && cd ./hotpotqa_runs | ||
``` | ||
|
||
2. Install the module dependencies into your environment: | ||
```bash | ||
pip install -r requirements.txt | ||
``` | ||
|
||
3. Set `OPENAI_API_KEY` environment variable to your OpenAI API key: | ||
```bash | ||
export OPENAI_API_KEY=<your key> | ||
``` | ||
|
||
#### Agent Types | ||
|
||
Agent type is determined by the notebook you choose to run. The available agent types include: | ||
- `ReAct` - ReAct Agent | ||
|
||
- `CoT_context` - CoT Agent given supporting context about the question | ||
|
||
- `CoT_no_context` - CoT Agent given no supporting context about the question | ||
|
||
The notebook for each agent type is located in the `./hotpot_runs/notebooks` directory. | ||
|
||
#### Reflexion Strategies | ||
|
||
Each notebook allows you to specify the reflexion strategy to be used by the agents. The available reflexion strategies, which are defined in an `Enum`, include: | ||
|
||
- `ReflexionStrategy.NONE` - The agent is not given any information about its last attempt. | ||
|
||
- `ReflexionStrategy.LAST_ATTEMPT` - The agent is given its reasoning trace from its last attempt on the question as context. | ||
|
||
- `ReflexionStrategy.REFLEXION` - The agent is given its self-reflection on the last attempt as context. | ||
|
||
- `ReflexionStrategy.LAST_ATTEMPT_AND_REFLEXION` - The agent is given both its reasoning trace and self-reflection on the last attempt as context. | ||
|
||
### Another Note | ||
|
||
Due to the nature of these experiments, it may not be feasible for individual developers to rerun the results as GPT-4 has limited access and significant API charges. All runs from the paper and additional results are logged in `./alfworld_runs/root` for decision-making and `./hotpotqa_runs/root` for reasoning. | ||
|
@@ -64,4 +103,4 @@ For all questions, contact [[email protected]]([email protected]) | |
journal={arXiv preprint arXiv:2303.11366}, | ||
year={2023} | ||
} | ||
``` | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.