# Naive Reverse Grouper

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

- Skill: `cas-bigdatalab/naive-reverse-grouper` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add cas-bigdatalab/naive-reverse-grouper`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cas-bigdatalab/naive-reverse-grouper/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cas-bigdatalab (https://skillmd.com/u/cas-bigdatalab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cas-bigdatalab/naive-reverse-grouper

---


# Naive Reverse Grouper

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

本SKILL使用依赖data_juicer，请在调用前安装好python环境并安装data_juicer，你可用同以下指令进行安装：
```
pip install py-data-juicer
```

## 核心参数

| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| input_path | string | 是 | - | 输入JSON文件路径 |
| output_path | string | 是 | - | 输出JSON文件路径 |
| export_path | string | 否 | - | 可选，导出批次元数据到JSONL文件 |

## 使用方法

```bash
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` 函数：

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

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

## 输入输出格式

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

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

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

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

## 示例

### 示例1：基本拆分

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

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

```bash
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 格式

