lukemann/baby-agi-dataset-v1
收藏资源简介:
BabyAGI数据集是一个遵循Huggingface数据集规范的初始演示数据集,包含轨迹图像和轨迹元数据两部分。元数据存储在JSON文件中,图像存储在S3上。数据集通过一系列步骤生成,包括加载演示、加载轨迹、处理轨迹、映射动作、截图DOM、映射候选、生成元数据和截图对,并最终保存数据。数据集中的动作类型包括点击、输入、滚动和移动鼠标。截图生成自Mind2Web轨迹跟踪的前状态,图像尺寸为2036x1144。选项生成自Mind2Web数据集中的正负候选,滚动动作模拟用户滚动视口,选择动作则表示为点击和输入两个动作的序列。
BabyAGI数据集是一个遵循Huggingface数据集规范的初始演示数据集,包含轨迹图像和轨迹元数据两部分。元数据存储在JSON文件中,图像存储在S3上。数据集通过一系列步骤生成,包括加载演示、加载轨迹、处理轨迹、映射动作、截图DOM、映射候选、生成元数据和截图对,并最终保存数据。数据集中的动作类型包括点击、输入、滚动和移动鼠标。截图生成自Mind2Web轨迹跟踪的前状态,图像尺寸为2036x1144。选项生成自Mind2Web数据集中的正负候选,滚动动作模拟用户滚动视口,选择动作则表示为点击和输入两个动作的序列。
BabyAGI 数据集
数据布局
数据集分为轨迹图像和轨迹元数据两部分。元数据存储在原始数据集中,图像存储在S3上。数据加载使用baby_agi_dataset.py中定义的dataloader。
plaintext ├── data │ ├── metadata_0.json │ ├── metadata_1.json │ └── ... ├-- baby_agi_dataset.py
元数据格式 (.json)
json [ { "id": "<trajectory_id_hash>", "instruction": "<some instruction>", "trajectory": [ { "image_id": "image_id", "image_size": [10, 10], "steps": [ { "action_options": [ { "index": 0, "top_left": [120, 340], "bottom_right": [140, 440] } ], "action_taken": { "type": "click", "value": "value (only for type and scroll)", "action_option_index": 0 } } ] } ] } ]
动作类型
数据集元数据包含三种动作类型:"click"、"type" 和 "scroll"。action_option_index字段表示在action_options列表中点击元素的索引。
- Click: 表示用户点击一个元素。
- Type: 表示用户在输入字段中输入内容。action_option_index将始终为-1。
- Scroll: 表示用户滚动视口。
value字段表示滚动方向,"up"表示向上滚动200px,"down"表示向下滚动200px。注意,bottom_left和top_right将始终为零数组。action_option_index将始终为-1。
数据集生成流程
数据集通过以下步骤生成:
-
加载演示: 从Hugging Face数据集加载演示。
-
加载轨迹: 从Globus数据集加载轨迹。
-
处理轨迹: 对于每个Mind2Web (M2W)轨迹:
a) 映射动作: 使用
dom_content.json中的时间戳将M2W动作映射到Playwright跟踪动作。b) 截图DOM: 在动作之前对DOM进行“截图”。
c) 映射候选: 将M2W动作元数据中的
pos_candidates和neg_candidates通过类+ID匹配映射到HTML边界框。为每个候选获取新的边界框坐标。d) 创建元数据+截图对: 创建并保存/追加元数据和截图对。
-
保存数据: 将更新后的数据目录保存到S3和Hugging Face。
截图
数据集中的截图是从Mind2Web轨迹跟踪的之前状态生成的。每个图像的宽度为2036,高度为1144。对于不同的屏幕尺寸(通过增强),添加填充以保持宽高比。这确保了不同屏幕尺寸下的截图内容保持一致。
选项生成
数据集中的选项从Mind2Web (M2W)数据集的positive_candidates(始终为一个)和negative_candidates生成。M2W数据集标记了DOM上所有可能的交互。因此,选择视口中包含正候选者的面积最大的50个选项。
滚动
Mind2Web (M2W)数据集捕获整个DOM,因此当所选选项动作不在视口中时,会创建人工滚动动作。此动作有两个可能的值:"up"和"down"。每个值分别对应200px的向上和向下滚动。
选择
Mind2Web (M2W)数据集中的“选择”动作记录用户从下拉列表中进行选择。在此数据集中,我们将其表示为轨迹中的两个不同动作序列:
- Click: 用户点击下拉元素。
- Type: 用户输入所需值并按Enter键。
使用方法
要在Python程序中使用数据集,可以使用datasets库中的load_dataset函数加载:
python from datasets import load_dataset
dataset = load_dataset("lukemann/baby-agi-dataset-v0")
first_row = dataset[train][0] print(first_row)
这将加载数据集并打印训练集的第一行。
有关简短演示,请参阅demo.py文件。




