Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Building Cooperative Embodied Agents Modularly with Large Language Models

This repo contains codes for the following paper:

Hongxin Zhang*, Weihua Du*, Jiaming Shan, Qinhong Zhou, Yilun Du, Joshua B. Tenenbaum, Tianmin Shu, Chuang Gan: Building Cooperative Embodied Agents Modularly with Large Language Models

Paper: Arxiv

Project Website: Co-LLM-Agents

Pipeline

News

[8/1/2023]: We update the VirtualHome Simulator executable we used here. If you met XDG_RUNTIME_DIR not set in the environment error previously, please check if you are using the new version we provided.

Installation

For detailed instructions on the installation of the two embodied multi-agent environments Communicative Watch-And-Help and ThreeDWorld Multi-Agent Transport, please refer to the Setup sections in envs/cwah/README.md and envs/tdw_mat/README.md respectively.

A simple start guide for Communicative Watch-And-Help:

Step 1: Get the VirtualHome Simulator and API

Clone the VirtualHome API repository under envs:

cd envs
git clone --branch wah https://github.com/xavierpuigf/virtualhome.git

Download the Simulator (Linux x86-64 version), and unzip it in envs.

The files should be organized as follows:

|--cwah/
|--virtualhome/
|--executable/

Step 2: Install Requirements

cd cwah
conda create --name cwah python=3.8
conda activate cwah
pip install -r requirements.txt

A simple start guide for ThreeDWorld Multi-Agent Transport:

Run the following commands step by step to setup the environments:

cd envs/tdw_mat
conda create -n tdw_mat python=3.9
conda activate tdw_mat
pip3 install -e .

After that, you can run the demo scene to verify your setup:

python demo/demo_scene.py

Run Experiments

The main implementation code of our Cooperative LLM Agents is in envs/*/LLM and envs/*/lm_agent.py.

We also prepare example scripts to run experiments with HP baseline and our Cooperative LLM Agent under the folder envs/*/scripts.

For example, to run experiments with two LLM Agents on Communicative Watch-And-Help, run the following command in folder envs/cwah.

./scripts/symbolic_obs_llm_llm.sh

Interesting Cases

We noticed many interesting agents' behaviors exhibited in our experiments and identified several cooperative behaviors.

There are more interesting cases and demos on our website!

qualitative_results

Citation

If you find our work useful, please consider citing:

@article{zhang2023building,
  title={Building Cooperative Embodied Agents Modularly with Large Language Models},
  author={Zhang, Hongxin and Du, Weihua and Shan, Jiaming and Zhou, Qinhong and Du, Yilun and Tenenbaum, Joshua B and Shu, Tianmin and Gan, Chuang},
  journal={arXiv preprint arXiv:2307.02485},
  year={2023}
}

About

Source codes for the paper "Building Cooperative Embodied Agents Modularly with Large Language Models"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages