← 返回
未分类 Key

data-synthesis

从 CSV 语料切块后,用同一套 LLM 接口依次生成问题与答案,输出 JSONL 训练数据。 适用于文档/表格语料合成 QA、微调数据准备;支持 OpenAI 兼容网关与内网 Qwen 等服务。
将 CSV 语料切块后,使用统一 LLM 接口依次生成问答,输出 JSONL 训练数据。适用于文档/表格语料的 QA 合成与微调数据准备,支持 OpenAI 兼容网关及内网 Qwen 等服务。
erxiong0 erxiong0 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 354
下载
💾 0
安装
1
版本
#latest

概述

Data Synthesis

流程概览

CSV 语料 → 按字符切块 → 每块生成问题列表 → 对每个问题基于该块生成答案 → 写出 JSONL。

不包含单独的小模型质量过滤环节。

阶段说明
------------
输入带表头的 CSV,需有一列长文本可供切块
切块与遍历scripts/synthesize_qa.py
问题生成每个文本块调用一次 LLM
答案生成每个「块 + 问题」调用一次 LLM
输出每行一条 JSON(JSONL)

Agent 建议执行顺序

  1. 准备:运行 scripts/parse_file.py,确认列名、行数、文本列与内容预览。
  2. 合成:运行 scripts/synthesize_qa.py,得到 JSONL。
  3. 模式:未开启 API 时为 dry-run(不联网);设置 DATA_SYNTHESIS_USE_API=1 后走真实推理。若网关需要鉴权,再配置 OPENAI_API_KEY

脚本与依赖

脚本作用
------------
scripts/parse_file.py校验 CSV,输出列名、行数、detected_text_column、文本预览
scripts/synthesize_qa.py完整 QA 流水线;默认输出 <输入文件名_stem>_qa.jsonl,可用 -o 指定路径

仅依赖 Python 标准库。API 模式通过 urllib 调用 OpenAI 兼容POST .../v1/chat/completionsOPENAI_BASE_URL 可写成根路径 .../v1,也可写成完整 URL 直至 .../chat/completions)。

命令示例

# 1. 检查语料
python scripts/parse_file.py path/to/corpus.csv

# 2. 本地 dry-run(不写密钥、不调外网)
python scripts/synthesize_qa.py path/to/corpus.csv -o path/to/out.jsonl

内网 Qwen 示例(与环境变量一致,推荐):

export DATA_SYNTHESIS_USE_API=1
export OPENAI_BASE_URL='http://xxx'
export DATA_SYNTHESIS_MODEL='xxx'
export DATA_SYNTHESIS_MAX_TOKENS=2000
export DATA_SYNTHESIS_TEMPERATURE=0.7

python scripts/synthesize_qa.py path/to/corpus.csv \
  --text-column text \
  --chunk-size 6000 \
  --chunk-overlap 200 \
  --sleep 0.3 \
  -o path/to/out.jsonl

仅用命令行指定模型(与上面环境变量二选一即可):

python scripts/synthesize_qa.py path/to/corpus.csv \
  --text-column text \
  --model xxx \
  -o path/to/out.jsonl

常用参数:--max-rows 试跑前几行;--sleep 控制请求间隔。勿在已设置 DATA_SYNTHESIS_MODEL 时再传冲突的 --model

输入格式

  • CSV 第一行为表头。
  • 文本列自动匹配:textcontentbody正文文本;否则使用第一列
  • 手动指定:--text-column 列名

输出格式

  • JSONL:每行一个对象,主要字段包括 chunk_idrow_indexchunkquestionanswer,以及 source_fields(除主文本列外、值非空的其它列)。
  • 运行结束会在标准输出打印统计 JSON:rowschunksquestions_generatedqa_pairs_writtenerrors

能力与局限

能力: 适合从表格语料批量得到结构化 QA,便于后续清洗与训练;出题与作答共用同一模型与网关配置。

局限: 切块为字符滑动窗口,不是按段落语义切分;问题列表依赖模型返回可解析的 JSON,失败会记入 errors

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 15:38 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 76 📥 182,471
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 681 📥 329,495
dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,898