diff --git a/README.md b/README.md index a690076..95f90ef 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Crafting minds for Minecraft with LLMs and [Mineflayer!](https://prismarinejs.github.io/mineflayer/#/) -[FAQ](https://github.com/kolbytn/mindcraft/blob/main/FAQ.md) | [Discord Support](https://discord.gg/mp73p35dzC) | [Video Tutorial](https://www.youtube.com/watch?v=gRotoL8P8D8) | [Blog Post](https://kolbynottingham.com/mindcraft/) | [Contributor TODO](https://github.com/users/kolbytn/projects/1) | [Paper Website](https://mindcraft-minecollab.github.io/index.html) | [Paper](https://mindcraft-minecollab.github.io/index.html) | [MineCollab](https://github.com/kolbytn/mindcraft/blob/main/minecollab.md) +[FAQ](https://github.com/kolbytn/mindcraft/blob/main/FAQ.md) | [Discord Support](https://discord.gg/mp73p35dzC) | [Video Tutorial](https://www.youtube.com/watch?v=gRotoL8P8D8) | [Blog Post](https://kolbynottingham.com/mindcraft/) | [Contributor TODO](https://github.com/users/kolbytn/projects/1) | [Paper Website](https://mindcraft-minecollab.github.io/index.html) | [MineCollab](https://github.com/kolbytn/mindcraft/blob/main/minecollab.md) > [!Caution] @@ -30,24 +30,15 @@ Do not connect this bot to public servers with coding enabled. This project allo If you encounter issues, check the [FAQ](https://github.com/kolbytn/mindcraft/blob/main/FAQ.md) or find support on [discord](https://discord.gg/mp73p35dzC). We are currently not very responsive to github issues. -## Run Evaluations +## Tasks -First you need to download the server_data.zip and unzip it in the tasks/ folder from [here](https://drive.google.com/drive/folders/1XygbitBBTsNO6q_doEiZHmdETpnyRmCS). Then set up your conda environment: +Bot performance can be roughly evaluated with Tasks. Tasks automatically intialize bots with a goal to aquire specific items or construct predefined buildings, and remove the bot once the goal is achieved. -``` -conda create --name mindcraft python=3.11 -conda activate mindcraft -pip install -r requirements.txt -``` +To run tasks, you need python, pip, and optionally conda. You can then install dependencies with `pip install -r requirements.txt`. -Then you should be ready to launch evaluations like this: - -``` -python tasks/evaluation_script.py --task_path tasks/crafting_tasks/test_tasks/2_agent.json --model gpt-4o-mini --template_profile profiles/tasks/crafting_profile.json -``` - -For further details check the readme on [MineCollab](minecollab.md). +Tasks are defined in json files in the `tasks` folder, and can be run with: `python tasks/run_task_file.py --task_path=tasks/example_tasks.json` +For full evaluations, you will need to [download and install the task suite. Full instructions.](minecollab.md#installation) ## Model Customization @@ -72,6 +63,7 @@ You can configure the agent's name, model, and prompts in their profile like `an | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/anthropic/claude-3.5-sonnet` | [docs](https://openrouter.ai/models) | | `glhf.chat` | `GHLF_API_KEY` | `glhf/hf:meta-llama/Llama-3.1-405B-Instruct` | [docs](https://glhf.chat/user-settings/api) | | `hyperbolic` | `HYPERBOLIC_API_KEY` | `hyperbolic/deepseek-ai/DeepSeek-V3` | [docs](https://docs.hyperbolic.xyz/docs/getting-started) | +| `vllm` | n/a | `vllm/llama3` | n/a | If you use Ollama, to install the models used by default (generation and embedding), execute the following terminal command: `ollama pull llama3.1 && ollama pull nomic-embed-text` @@ -174,10 +166,11 @@ Some of the node modules that we depend on have bugs in them. To add a patch, ch ## Citation: ``` -@misc{mindcraft2023, - Author = {Kolby Nottingham and Max Robinson}, - Title = {MINDcraft: LLM Agents for cooperation, competition, and creativity in Minecraft}, - Year = {2023}, - url={https://github.com/kolbytn/mindcraft} +@article{mindcraft2025, + title = {Collaborating Action by Action: A Multi-agent LLM Framework for Embodied Reasoning}, + author = {White*, Isadora and Nottingham*, Kolby and Maniar, Ayush and Robinson, Max and Lillemark, Hansen and Maheshwari, Mehul and Qin, Lianhui and Ammanabrolu, Prithviraj}, + journal = {arXiv preprint arXiv:2504.17950}, + year = {2025}, + url = {https://arxiv.org/abs/2504.17950}, } ``` diff --git a/src/agent/vision/camera.js b/src/agent/vision/camera.js index 3178a15..6074b1d 100644 --- a/src/agent/vision/camera.js +++ b/src/agent/vision/camera.js @@ -75,4 +75,4 @@ export class Camera extends EventEmitter { } } } - \ No newline at end of file + diff --git a/src/utils/keys.js b/src/utils/keys.js index 745ae6c..af77c4d 100644 --- a/src/utils/keys.js +++ b/src/utils/keys.js @@ -16,7 +16,7 @@ export function getKey(name) { if (!key) { throw new Error(`API key "${name}" not found in keys.json or environment variables!`); } - return keys[name]; + return key; } export function hasKey(name) {