CoolFace
Datasetpublic

Anish13/web-agent-graph-dataset

Web Agent Grouped Graph Dataset This dataset contains web navigation tasks in grouped graph format with full history and candidate actions for training reward models. Data Format Each line in graph_dataset.jsonl represents a single step with all candidate actions grouped together: { "task_id": "...", "goal": "Find product X and add to cart", "domain": "shopping", "step_index": 3, "history": [ {"state_id": "S0", "screenshot": "...", "url": "..."… See the full description on the dataset page: https://huggingface.co/datasets/Anish13/web-agent-graph-dataset.

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes77downloads
README.md133 linesDownload Raw Back to root
1---2license: mit3task_categories:4- reinforcement-learning5- question-answering6language:7- en8tags:9- web-navigation10- preference-learning11- reward-modeling12size_categories:13- 1K<n<10K14---15 16# Web Agent Grouped Graph Dataset17 18This dataset contains web navigation tasks in grouped graph format with full history and candidate actions for training reward models.19 20## Dataset Description21 22- **Format**: JSON Lines (JSONL) - One entry per step with grouped candidates23- **Size**: ~2.8K step entries from 2.8K tasks24- **Domains**: GitLab, OpenStreetMap, Reddit, Shopping, Shopping Admin25 26## Data Format27 28Each line in `graph_dataset.jsonl` represents a single step with all candidate actions grouped together:29 30```json31{32  "task_id": "...",33  "goal": "Find product X and add to cart",34  "domain": "shopping",35  "step_index": 3,36  37  "history": [38    {"state_id": "S0", "screenshot": "...", "url": "...", "obs": "..."},39    {"state_id": "S1", "screenshot": "...", "url": "...", "obs": "..."},40    {"state_id": "S2", "screenshot": "...", "url": "...", "obs": "..."},41    {"state_id": "S3", "screenshot": "...", "url": "...", "obs": "..."}42  ],43  44  "current_state": {45    "state_id": "S3",46    "screenshot": "path/to/current.png",47    "url": "http://...",48    "obs": "accessibility tree..."49  },50  51  "candidates": [52    {53      "label": "gold",54      "action": "click('153')",55      "next_state": "S4",56      "next_screenshot": "path/to/next.png",57      "next_url": "http://...",58      "next_obs": "..."59    },60    {61      "label": "negative",62      "action": "click('88')",63      "negative_type": "hard_negative",64      "reason": "Leads to wrong page",65      "next_state": "S_bad1",66      "next_screenshot": "path/to/bad1.png",67      "next_url": "http://...",68      "next_obs": "..."69    }70  ]71}72```73 74## Key Features75 76- **Full History**: Complete trajectory up to current state77- **Grouped Candidates**: All possible actions (gold + negatives) from same state78- **Next-State Screenshots**: Screenshot paths for all candidate outcomes79- **Rich Metadata**: Task ID, domain, goal, step index80- **Negative Types**: Classification (easy_negative, hard_negative, detour_negative)81 82## Usage83 84```python85import json86 87# Load dataset88with open('graph_dataset.jsonl', 'r') as f:89    for line in f:90        entry = json.loads(line)91        92        # Access task info93        goal = entry['goal']94        step_idx = entry['step_index']95        96        # Access history97        history = entry['history']98        current_state = entry['current_state']99        100        # Process candidates101        for candidate in entry['candidates']:102            if candidate['label'] == 'gold':103                print(f"Gold action: {candidate['action']}")104            else:105                print(f"Negative: {candidate['action']} ({candidate['negative_type']})")106```107 108## Training Reward Models109 110This format is ideal for:1111. **Preference Learning**: Compare gold vs negative actions from same state1122. **Reward Modeling**: Predict which action leads to goal completion1133. **Action Ranking**: Rank all candidates by predicted reward114 115Example:116```python117# For each step entry118gold = [c for c in entry['candidates'] if c['label'] == 'gold'][0]119negatives = [c for c in entry['candidates'] if c['label'] == 'negative']120 121# Train model to rank gold higher than all negatives122reward_gold = model(entry['current_state'], gold)123rewards_neg = [model(entry['current_state'], neg) for neg in negatives]124```125 126## Statistics127 128See `conversion_stats.json` for detailed statistics.129 130## License131 132MIT License133