44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
|
|
# 语料采集 Agent MVP
|
|||
|
|
|
|||
|
|
下一轮指引: 完成后→下发 LC-A02-20260425-002 可视化前端(Streamlit Agent状态面板)
|
|||
|
|
仓库路径: /guanghu-self-hosted/corpus-collector/
|
|||
|
|
优先级: P0
|
|||
|
|
分支名: feat/lc-corpus-collector
|
|||
|
|
创建时间: 2026年4月25日 11:19
|
|||
|
|
审核结果: ✅ 审核通过 (2026-04-25T12:35+08:00)
|
|||
|
|
━━━━━━━━━━
|
|||
|
|
✅ 6文件齐全: collector/parser/formatter/dedup/config/test_parser
|
|||
|
|
✅ 流式读取(raw_decode) + tiktoken fallback + 15条测试用例
|
|||
|
|
✅ 目录隔离 + 禁触未动
|
|||
|
|
━━━━━━━━━━
|
|||
|
|
审核人: 霜砚(AG-SY-01)
|
|||
|
|
结论: 通过 · 进入第二轮
|
|||
|
|
开发内容: 开发语料采集Agent,从GPT导出的JSON中提取对话语料并格式化。
|
|||
|
|
1. 在 /guanghu-self-hosted/corpus-collector/ 下创建:
|
|||
|
|
- http://collector.py: 主采集脚本,读取GPT导出的conversations.json
|
|||
|
|
- http://parser.py: 解析GPT JSON格式,提取对话轮次(role+content+timestamp)
|
|||
|
|
- http://formatter.py: 转为训练语料格式(JSONL),字段: {role, content, timestamp, source, session_id}
|
|||
|
|
- http://dedup.py: 去重逻辑(基于content哈希去重)
|
|||
|
|
- http://config.py: 配置项(输入路径、输出路径、过滤规则)
|
|||
|
|
2. 支持按session分割、按时间范围过滤
|
|||
|
|
3. 输出统计:总对话轮数、去重后轮数、token估算
|
|||
|
|
状态: 已完成
|
|||
|
|
约束: 编码: Python 3.10+ · UTF-8
|
|||
|
|
依赖: 只用标准库+tiktoken(token计数)
|
|||
|
|
测试: 必须包含 test_http://parser.py 验证GPT JSON解析正确
|
|||
|
|
注意: GPT导出文件可能很大(2亿字),需要流式读取不能一次加载到内存
|
|||
|
|
编号: LC-A02-20260425-001
|
|||
|
|
自检结果: ✅ 自检通过 (2026-04-25T11:19+08:00)
|
|||
|
|
━━━━━━━━━━
|
|||
|
|
✅ 文件完整: 6/6 (http://collector.py, http://parser.py, http://formatter.py, http://dedup.py, http://config.py, test_http://parser.py)
|
|||
|
|
✅ 编码: Python 3.10+ · UTF-8
|
|||
|
|
✅ 依赖: 标准库 + tiktoken(可选,有fallback)
|
|||
|
|
✅ 流式读取: stream_conversations 用 json.JSONDecoder.raw_decode 增量解析,不一次性加载
|
|||
|
|
✅ test_http://parser.py: 4个测试类、15个用例,覆盖解析/流式/边界/排序
|
|||
|
|
✅ 编号隔离: 只在 corpus-collector/ 目录下工作
|
|||
|
|
✅ 未触碰禁触文件
|
|||
|
|
━━━━━━━━━━
|
|||
|
|
分支: feat/lc-corpus-collector
|
|||
|
|
commit: 1eaff34
|
|||
|
|
负责Agent: 录册A02
|
|||
|
|
阶段编号: Phase-0-003
|