Random Sampler 随机采样 Skill
功能概述
本 skill 面向 JSONL 数据集进行无放回随机采样,可按数量或按比例抽取样本,并支持随机种子保证结果可复现。 采样过程中保留原始 JSON 对象结构,不改动字段内容,适用于大批量语料抽样筛查、小样本人工核验、流程调试等场景。
触发条件
当用户请求以下任务时,应使用此 skill:
- 随机采样
- 按数量抽样
- 按比例抽样
- JSONL 抽样筛查
核心参数说明
必需参数
--input:输入 JSONL 文件路径--output:输出 JSONL 文件路径--method:采样方式,支持count或ratio
可选参数
--count:采样数量,method=count时使用--ratio:采样比例 0-1,method=ratio时使用--seed:随机种子,默认42--log_file:日志文件路径
输入文件格式
输入文件必须为 JSONL,每一行是一条独立 JSON 记录。
示例:
{"id": 1, "text": "sample a"}
{"id": 2, "text": "sample b"}
{"id": 3, "text": "sample c"}
使用方法
按数量采样
python scripts/run_random_sampler.py \
--input data.jsonl \
--output sampled.jsonl \
--method count \
--count 100 \
--seed 42
按比例采样
python scripts/run_random_sampler.py \
--input data.jsonl \
--output sampled.jsonl \
--method ratio \
--ratio 0.1 \
--seed 42
输出示例
[OK] Random sampling completed
Input: data.jsonl
Output: sampled.jsonl
Total records: 12
Sampled records: 5
Sampling rate: 41.67%
Random seed: 42
环境要求
- Python 3.x
- 输入文件为有效 JSONL
注意事项
- 采样是无放回的,每条记录最多被选中一次
- 设置相同的种子可以得到相同的采样结果
- 如果
count或ratio超过总数,则返回全部数据