数据处理指南
June 29, 2026 · View on GitHub
快速开始
1. 合并多个 parquet 文件
from merge_rag_with_mask_url import merge_parquet_files
# 合并多个文件
merge_parquet_files(
input_files=["path1.parquet", "path2.parquet", "path3.parquet"],
output_file="output.parquet"
)
2. 随机采样并保存为 JSON
from sample_parquet import sample_to_json
# 从 parquet 中随机采样 5 条保存为 JSON
sample_to_json(
input_file="data.parquet",
output_file="samples.json",
sample_count=5
)
功能
- 自动提取 data_source:从文件名自动设置
data_source(如stage2_wiki.parquet→"stage2_wiki") - 正确处理 mask_url:自动从
extra_info['mask_url']构建完整的tools_kwargs结构 - 支持多文件合并:一次处理多个 parquet 文件
脚本说明
merge_rag_with_mask_url.py
合并多个 parquet 文件并正确处理 mask_url。
参数:
input_files: 输入文件路径列表,如["file1.parquet", "file2.parquet"]output_file: 输出文件路径,如"merged.parquet"save_sample: 是否保存 JSON 样本(默认:True)sample_count: 样本数量(默认:10)
sample_parquet.py
从 parquet 文件中随机采样并保存为 JSON。
参数:
input_file: 输入 parquet 文件路径output_file: 输出 JSON 文件路径sample_count: 采样数量(默认:5)random_seed: 随机种子(默认:42)
输入数据格式
最小格式(只有 mask_url):
{
"extra_info": {
"mask_url": "https://en.wikipedia.org/wiki/..."
}
}
输出数据格式
自动构建 tools_kwargs:
{
"data_source": "stage2_wiki", // 从文件名自动提取
"extra_info": {
"mask_url": "https://en.wikipedia.org/wiki/...",
"need_tools_kwargs": true,
"tools_kwargs": {
"search": {
"create_kwargs": {
"url": "https://en.wikipedia.org/wiki/..." // 从 mask_url 自动填充
}
},
"browse": {
"create_kwargs": {
"url": "https://en.wikipedia.org/wiki/..."
}
}
}
}
}
训练时的 data_source
ray_trainer.py 会自动保存 data_source 到 rollout trajectory:
- 位置:
rollout_data_dir/{global_steps}.jsonl - 字段:每行 JSON 包含
data_source字段
完整示例
from merge_rag_with_mask_url import merge_parquet_files
from sample_parquet import sample_to_json
# 1. 合并多个数据文件
merge_parquet_files(
input_files=[
"stage2_wiki.parquet",
"stage2_science.parquet"
],
output_file="stage2_all.parquet"
)
# 2. 随机采样查看数据
sample_to_json(
input_file="stage2_all.parquet",
output_file="samples.json",
sample_count=5
)