Home

Awesome

Describe, Explain, Plan and Select: Interactive Planning with Large Language Models Enables Open-World Multi-Task Agents

<div align="center">

[Website] [Arxiv Paper] [Team]

PyPI - Python Version <img src="https://img.shields.io/badge/Framework-PyTorch-red.svg"/> GitHub license

</div>

Updates

Prepare Packages

Our codebase require Python ≥ 3.9. Please run the following commands to prepare the environments.

conda create -n planner python=3.9 
conda activate planner
python -m pip install numpy torch==2.0.0.dev20230208+cu117 --index-url https://download.pytorch.org/whl/nightly/cu117
python -m pip install -r requirements.txt
python -m pip install git+https://github.com/MineDojo/MineCLIP

Prepare Environment

It also requires a modified version of MineDojo as the simulator and a goal-conditioned controller.

git clone https://github.com/CraftJarvis/MC-Simulator.git
cd MC-Simulator
pip install -e .

Prepare controller checkpoints

Below are the configures and weights of models.

ConfigureDownloadBiomeNumber of goals
TransformerweightsPlains4

Prepare OpenAI keys

Our planner depends on Large Language Model like InstructGPT, Codex or ChatGPT. So we need support the OpenAI keys in the file data/openai_keys.txt. An OpenAI key list is also accepted.

Running agent models

To run the code, call

python main.py model.load_ckpt_path=<path/to/ckpt>

After loading, you should see a window where agents are playing Minecraft.

paintingwooden_slabstone_stairs
<img src="imgs/obtain_painting.gif" width="200" /><img src="imgs/obtain_wooden_slab.gif" width="200" /><img src="imgs/obtain_stone_stairs.gif" width="200" />

Note: Our planner depends on stable OpenAI API connection. If meeting connection error, please retry it.

Paper and Citation

Our paper is posted on Arxiv. If it helps you, please consider citing us!

@article{wang2023describe,
  title={Describe, Explain, Plan and Select: Interactive Planning with Large Language Models Enables Open-World Multi-Task Agents},
  author={Wang, Zihao and Cai, Shaofei and Liu, Anji and Ma, Xiaojian and Liang, Yitao},
  journal={arXiv preprint arXiv:2302.01560},
  year={2023}
}