Skip to content

Commit

Permalink
Update README and add FAQ
Browse files Browse the repository at this point in the history
  • Loading branch information
xieleo5 committed May 28, 2023
1 parent 28a5f1f commit 2d79663
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 1 deletion.
48 changes: 48 additions & 0 deletions FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Frequently Asked Questions
* [I got connection error after I click on the Azure login link and login to Microsoft account.](#i-get-a-connection-error-after-i-click-on-the-azure-login-link-and-login-to-my-microsoft-account)
* [I got `Subprocess Mineflayer failed to start` error.](#i-get-subprocess-mineflayer-failed-to-start-error)
* [I see the bot left and rejoin the game after each task.](#i-see-the-bot-left-and-rejoin-the-game-after-each-task)
* [How to show the bot's first-person perspective?](#how-to-show-the-bots-first-person-view)
* [Can I use GPT-3.5 instead of GPT-4?](#can-i-use-gpt-35-instead-of-gpt-4)
* [What's the estimated cost of running Voyager?](#whats-the-estimated-cost-of-running-voyager)

## I get a connection error after I click on the Azure login link and login to my Microsoft account.

It's normal that you get a connection refused or 404 error after you log in. You will still see the new URL in your browser. You just need to copy and paste that link. It should contain things like `code=M.C....` in that link.

## I get `Subprocess Mineflayer failed to start` error.

There are many reasons that may cause this problem. You can try with following solutions:
1. Make sure you install nodejs and the dependency packages correctly. You can use the following command to check your installation:
```bash
cd voyager/env/mineflayer
node index.js
```
If you see `Server started on port {PORT}`, then your installation is correct. You can kill the process by `Ctrl+C`.
2. Make sure you install Fabric correctly. You should be able to select the Fabric version in the Minecraft launcher.
3. Each Mineflayer process can only listen to one port. If you want to start multiple instances of `Voyager`, you need to manually change the port when initialization:
```python
from voyager import Voyager
voyager = Voyager(
server_port=3001, # default is 3000
...
)
```

## I see the bot left and rejoin the game after each task.

After completing each task, we'll reset the environment, which means the bot will exit and rejoin the game. This reset is necessary to synchronize Mineflayer with the Minecraft game. However, certain commands we utilize might result in lag on the Mineflayer side, causing the inventory stored in Mineflayer to differ from the actual inventory in the game. If you wish to prevent the reset, you can use `voyager.learn(reset_env=False)` and consider increasing the `env_wait_ticks` value. This will also provide Mineflayer with additional time to sync with the Minecraft game.
## How to show the bot's first-person view?

Due to the Mineflayer's limitation, we currently can not directly get the bot's view in the game. Although there's a plugin called [prismarine-viewer](https://github.com/PrismarineJS/prismarine-viewer), the video quality is not good enough, so we opt not to use it. Our demo video is generated by [replay-mod](https://www.replaymod.com/). We start the recording and let the bot play for hours, then come back to the recording and render the view from the bot.
## Can I use GPT-3.5 instead of GPT-4?
It's highly recommended to use GPT-4. GPT-3.5 falls behind in terms of code quality and reasoning ability compared to GPT-4. Moreover, GPT-3.5 has a limited context length, which means it may provide incomplete responses. If you insist on using GPT-3.5, it is essential to configure it with `skill_manager_retrieval_top_k=0` to disable the skill library. This will reduce the context length of the prompt.

## What's the estimated cost of running Voyager?

Using Voyager for approximately 160 iterations using GPT-4 will cost you around USD 50. It's important to keep a close eye on your OpenAI API expenses and avoid unnecessary spending. Once Voyager begins running, it's recommended to monitor the bot's actions for a period and ensure that it successfully completes some tasks.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
[[Website]](https://voyager.minedojo.org/)
[[Arxiv]](https://arxiv.org/abs/2305.16291)
[[PDF]](https://arxiv.org/pdf/2305.16291.pdf)
[[Tweet]](https://twitter.com/DrJimFan/status/1662115266933972993?s=20)

[![Python Version](https://img.shields.io/badge/Python-3.9-blue.svg)](https://github.com/MineDojo/Voyager)
[![GitHub license](https://img.shields.io/github/license/MineDojo/MineDojo)](https://github.com/MineDojo/Voyager/blob/main/LICENSE)
[![GitHub license](https://img.shields.io/github/license/MineDojo/Voyager)](https://github.com/MineDojo/Voyager/blob/main/LICENSE)
______________________________________________________________________


Expand Down Expand Up @@ -102,6 +103,8 @@ voyager.learn()
3. After the world is created, press `Esc` key and press `Open to LAN`.
4. Select `Allow cheats: ON` and press `Start LAN World`. You will see the bot join the world soon.

# FAQ
If you have any questions, please check our [FAQ](FAQ.md) first before opening an issue.

# Paper and Citation

Expand Down

0 comments on commit 2d79663

Please sign in to comment.