Skills

Naive Reverse Grouper

将批处理的样本拆分为独立样本。当用户提到样本拆分、拆分批次、批处理展开、反向分组等需求时使用此skill。...

Install

npx skills add cas-bigdatalab/piflow --skill naive_reverse_grouper -g -a claude-code -y
Category
Engineering
Updated
12d ago
License
See repository
Context cost
Lightabout 344 tokens
Runs scripts
Yes, review before use

What it does

将批处理的样本拆分为独立样本。当用户提到样本拆分、拆分批次、批处理展开、反向分组等需求时使用此skill。 即使用户没有明确说出"拆分",只要任务涉及将批处理数据(字段值为数组)展开为独立样本,就应该使用此skill。

Naive Reverse Grouper

将批处理的样本拆分为独立样本。

本SKILL使用依赖data_juicer,请在调用前安装好python环境并安装data_juicer,你可用同以下指令进行安装:

pip install py-data-juicer

核心参数

参数类型必填默认值说明
input_pathstring是-输入JSON文件路径
output_pathstring是-输出JSON文件路径
export_pathstring否-可选,导出批次元数据到JSONL文件

使用方法

python scripts/run_naive_reverse_grouper.py --input_path <input_path> --output_path <output_path> [--export_path <path>]

实现原理

参照测试代码 test_naive_reverse_grouper.py 中的 _run_helper 函数:

# 1. 将批次化样本列表转换为Dataset
dataset = Dataset.from_list(samples)

# 2. 初始化算子并执行(无参数,或传入 export_path)
op = NaiveReverseGrouper()
new_dataset = op.run(dataset)

输入输出格式

输入格式 (JSON数组,字段值为数组)

[
  {"text": ["Sample 1", "Sample 2", "Sample 3"]}
]

输出格式 (JSON数组,拆分为独立样本)

[
  {"text": "Sample 1"},
  {"text": "Sample 2"},
  {"text": "Sample 3"}
]

示例

示例1:基本拆分

python scripts/run_naive_reverse_grouper.py --input_path example_input.json --output_path output.json

示例2:同时导出批次元数据

python scripts/run_naive_reverse_grouper.py --input_path example_input.json --output_path output.json --export_path batch_meta.jsonl

注意事项

  • 此算子无需额外参数(export_path可选)
  • 输入样本的字段值为数组形式
  • 输出会将数组展开为多个独立样本
  • 如果传入 export_path,会将批次元数据导出为 JSONL 格式

More in Engineering