fix evaluation script bug

This commit is contained in:
Isadora White 2025-03-05 10:10:24 -08:00
parent 2aca2730ac
commit 7e7f893cf3
4 changed files with 14 additions and 18 deletions

3
.gitignore vendored
View file

@ -18,4 +18,5 @@ wandb/
experiments/
andy_*.json
jill_*.json
src/models/logs/*
src/models/logs/*
server_data*

View file

@ -126,7 +126,7 @@ def launch_parallel_experiments(task_path,
task_ids = list(task_ids)
task_ids_split = [task_ids[i::num_parallel] for i in range(num_parallel)]
servers = create_server_files("../server_data/", num_parallel, world_name=world_name)
servers = create_server_files("./server_data/", num_parallel, world_name=world_name)
date_time = datetime.now().strftime("%m-%d_%H-%M")
experiments_folder = f"experiments/{exp_name}_{date_time}"
exp_name = f"{exp_name}_{date_time}"
@ -292,7 +292,7 @@ def create_server_files(source_path, num_copies, world_name="Forest"):
print(num_copies)
servers = []
for i in range(num_copies):
dest_path = f"../server_data_{i}/"
dest_path = f"./server_data_{i}/"
copy_server_files(source_path, dest_path)
print(dest_path)
edit_file(dest_path + "server.properties", {"server-port": 55916 + i,
@ -319,7 +319,7 @@ def edit_file(file, content_dict):
def clean_up_server_files(num_copies):
"""Delete server files from multiple locations."""
for i in range(num_copies):
dest_path = f"../server_data_{i}/"
dest_path = f"./server_data_{i}/"
delete_server_files(dest_path)
def copy_server_files(source_path, dest_path):
@ -338,7 +338,7 @@ def delete_server_files(dest_path):
except Exception as e:
print(f"Error deleting server files: {e}")
def launch_world(server_path="../server_data/", agent_names=["andy", "jill"], session_name="server"):
def launch_world(server_path="./server_data/", agent_names=["andy", "jill"], session_name="server"):
"""Launch the Minecraft world."""
print(server_path)
cmd = f"cd {server_path} && java -jar server.jar"
@ -406,7 +406,7 @@ def main():
parser.add_argument('--world_name', default="Forest", help='Name of the world')
args = parser.parse_args()
try:
subprocess.run(['tmux', 'kill-server'], check=True)
except:

View file

@ -556,13 +556,6 @@ export class Agent {
cleanKill(msg='Killing agent process...', code=1) {
this.history.add('system', msg);
if (code === 2 || code === 3 || code === 4) {
this.bot.chat('Exiting the world permanently.');
}
else {
this.bot.chat('Restarting.')
}
this.bot.chat(code > 1 ? 'Restarting.': 'Exiting.');
this.history.save();
process.exit(code);
@ -571,7 +564,7 @@ export class Agent {
if (this.task.data) {
let res = this.task.isDone();
if (res) {
await this.history.add('system', `${res.message} ended with code : ${res.code}`);
await this.history.add('system', `Task ended with score : ${res.score}`);
await this.history.save();
console.log('Task finished:', res.message);
this.killAll();

View file

@ -128,9 +128,13 @@ class CookingCraftingTaskValidator {
}
validate() {
const result = checkItemPresence(this.data, this.agent);
let score = 0;
if (result.success) {
score = 1;
}
return {
"valid": result.success,
"score": result.success ? 1 : 0,
"score": score,
};
}
}
@ -279,7 +283,6 @@ export class Task {
await new Promise((resolve) => setTimeout(resolve, 3000));
if (this.data.initial_inventory) {
console.log("\n\n\n\n\n")
console.log("Setting inventory...");
let initialInventory = {};
@ -290,7 +293,6 @@ export class Task {
} else {
initialInventory = this.data.initial_inventory;
console.log("Initial inventory:", initialInventory);
console.log("\n\n\n\n");
}
console.log(this.data.initial_inventory);
@ -343,7 +345,7 @@ export class Task {
}
async teleportBots() {
console.log('\n\n\n\n\nTeleporting bots');
console.log('\n\nTeleporting bots');
function getRandomOffset(range) {
return Math.floor(Math.random() * (range * 2 + 1)) - range;
}