u-10bei/sft_alfworld_trajectory_dataset
ALFWorld Trajectory Dataset Overview This is a synthetic SFT (Supervised Fine-Tuning) dataset designed for agent training in ALFWorld-compatible environments. The dataset programmatically generates expert trajectories without requiring an actual ALFWorld environment or a large language model. Key Approach Template-based Simulation: Lightweight simulator based on published ALFWorld information (papers, ReAct prompt examples). Subgoal Decomposition:… See the full description on the dataset page: https://huggingface.co/datasets/u-10bei/sft_alfworld_trajectory_dataset.
ALFWorld Trajectory Dataset
Overview
This is a synthetic SFT (Supervised Fine-Tuning) dataset designed for agent training in ALFWorld-compatible environments. The dataset programmatically generates expert trajectories without requiring an actual ALFWorld environment or a large language model.
Key Approach
- Template-based Simulation: Lightweight simulator based on published ALFWorld information (papers, ReAct prompt examples).
- Subgoal Decomposition: Rule-based expert system supporting 6 task types.
- Observation & Thought Diversity: Various templates for diversifying observation and thought texts.
- Multiple Formats: Supports both function-calling and ReAct formats.
Key Features
Dataset Statistics
- Total trajectories: 1,200
- Average messages per trajectory: 21.1
- Number of steps (turns) distribution: 9 steps (3.3%) / 11 steps (4.9%) / 13 steps (8.8%) / 15 steps (12.6%) / 17 steps (14.4%) / 19 steps (10.6%) / 21 steps (11.5%) / 23 steps (8.9%) / 25 steps (8.2%) / 27 steps (4.8%) / 29 steps (3.9%) / 31 steps (2.8%) / 33 steps (1.2%) / 35 steps (0.9%) / 37 steps (0.7%) / 39 steps (0.9%) / 41 steps (0.5%) / 43 steps (0.3%) / 45 steps (0.5%) / 47 steps (0.2%) / 49 steps (0.1%)
- Task type distribution: cleanandplace: 200 (16.7%) / coolandplace: 200 (16.7%) / examine: 200 (16.7%) / heatandplace: 200 (16.7%) / pickandplace: 200 (16.7%) / pick_two: 200 (16.7%)
- Difficulty distribution: Easy: 227 (18.9%) / Hard: 362 (30.2%) / Normal: 611 (50.9%)
Data Format
Each line in the JSONL file is a JSON object with the following fields:
{{ # Start of outer JSON object
"messages": [
{{"role": "system", "content": "Interact with a household to solve a task..."}},
{{"role": "user", "content": "You are in the middle of a room..."}},
{{"role": "assistant", "content": "Think: I should look for apple...",
"tool_calls": [
{{"id": "call_1", "type": "function", "function": {{ # Inner function object
"name": "act", "arguments": "{"action": "go to microwave 1"}"
}}}}
]
}},
{{"role": "tool", "tool_call_id": "call_1", "content": "The microwave 1 is open..."}}
// ... more turns
],
"metadata": {{ # Metadata object
"task_type": "heat_and_place",
"description": "put a hot apple in/on stoveburner 1.",
"room_type": "kitchen",
"difficulty": "normal",
"num_steps": 17
}}
}}Usage
For SFT Training
from datasets import load_dataset
ds = load_dataset("u-10bei/sft_alfworld_trajectory_dataset")
for sample in ds["train"]:
messages = sample["messages"]
# messages is already in chat format for trainingLast Updated
2026-02-10 00:24:11
License
MIT
