feat: 添加 LCCC 训练数据说明及相关文件,更新 .gitignore 以忽略大文件

This commit is contained in:
2026-07-07 19:05:39 +08:00
parent 02c929d42f
commit 1f3215d162
5 changed files with 125 additions and 2 deletions

5
.gitignore vendored
View File

@@ -34,3 +34,8 @@ Thumbs.db
# 日志
*.log
logs/
# LCCC 训练数据(不纳入版本控制,仅本地使用)
corpus/lccc/lccc_base_train.jsonl
corpus/lccc/lccc_base_train.jsonl.gz
corpus/lccc/lccc_dialogues.txt

18
corpus/README.md Normal file
View File

@@ -0,0 +1,18 @@
# Corpus 语料库总说明
本目录 `corpus/` 汇集用于模型训练的多来源中文语料。
## 1. LCCC 中文对话语料HuggingFace 下载)
- 位置:`corpus/lccc/`
- 详见 `lccc/README.md`
- 概要:从 HuggingFace 下载的大规模中文对话数据集。其中 `lccc_base_train.jsonl`(约 872MB`lccc_base_train.jsonl.gz`(约 353MB因单个体积超过 100MB已从 git 跟踪中移除并加入 `.gitignore` 忽略,仅保留本地文件。
## 2. 模型编写的教材Kimi / GLM / Hy3
- 位置:`教材/``义务教育教材/`
-**KimiK2.7 Code、GLM5.2、Hy3** 三个模型共同编写,覆盖**幼儿园、小学、初中、高中**各学段教材内容(含语文、数学、英语、物理、化学、生物、历史、地理、政治等学科,以及幼儿成长日志等大量 `.md` 文本)。
- 各模型分别承担不同学段 / 学科的编写工作。
## 版本控制约定
- 大体积训练语料(如 LCCC 的 jsonl / gz>100MB不纳入 git 提交,已忽略。
- 教材类 `.md` 文本体积小,正常纳入版本控制。
- 各语料具体说明见对应子目录文档(如 `lccc/README.md`)。

34
corpus/lccc/README.md Normal file
View File

@@ -0,0 +1,34 @@
# LCCC 训练数据说明
本目录 `corpus/lccc/` 存放 LCCC 中文对话语料相关的**训练数据**
> **数据来源**:本目录语料为从 HuggingFace 下载的中文对话语料LCCC大规模中文对话数据集仅作本地训练使用。
- `lccc_base_train.jsonl` / `lccc_base_train.jsonl.gz`:基础训练语料(对话数据)
- `lccc_dialogues.txt`:对话文本导出
数据处理脚本 `scripts/prepare_lccc.py` 位于仓库 `scripts/` 目录,属于代码,**正常纳入版本控制**。
## 版本控制说明
LCCC 训练数据为生成式语料、体积较大,**不纳入 git 提交 / 跟踪**。
已通过 `git rm --cached` 取消跟踪(仅保留本地文件,不删除磁盘数据),并在仓库根 `.gitignore` 中追加了忽略条目。请勿将其提交到远程仓库。
### 已从 git 移除的语料(体积大于 100MB
以下语料因单个文件体积超过 100MB已从 git 跟踪中移除,仅保留在本地磁盘,不进入版本库 / 远程仓库:
| 文件 | 体积 | 内容说明 |
| --- | --- | --- |
| `lccc_base_train.jsonl` | 约 872 MB | LCCC 基础训练语料(原始 JSONL 对话数据,未压缩) |
| `lccc_base_train.jsonl.gz` | 约 353 MB | 上述语料的 gzip 压缩版本 |
这两个文件已执行 `git rm --cached` 取消跟踪,并在仓库根 `.gitignore` 中显式忽略;全仓库扫描确认已无大于 100MB 的被跟踪文件。
### 仍纳入版本控制的文件
- `scripts/prepare_lccc.py`:数据处理脚本(位于仓库 `scripts/` 目录),正常跟踪。
- 本说明文档 `README.md`
如需在本地使用训练语料,直接读取本目录下的 `lccc_base_train.jsonl` / `lccc_base_train.jsonl.gz` 文件即可。

View File

@@ -0,0 +1,57 @@
# 11 月 1 日 星期六 周末
**早上看到的**:妈妈给我穿了一件橘色卫衣。我看见窗外风把叶子吹得满地都是。爸爸在吃早饭。
**听到的**:妈妈说:“今天周末,爸爸带你去公园捡叶子。”爸爸说:“多捡几种颜色。”
**自己说的**:“我要捡红色的叶子。”
**脑子里想的**:上周我捡了黄叶子做了小鱼。今天要捡红色的,做一只小鸟。
**对话**
- 妈妈:“穿好鞋子。”
- 我:“好。”
- 爸爸:“走,去公园。”
- 我:“耶!”
- 爸爸:“今天捡什么颜色?”
- 我:“红色和绿色。”
- 爸爸:“好,做小鸟。”
**在公园**
- 我捡了一片红叶子。
- 我:“爸爸,这片红红的像小手掌。”
- 爸爸:“对,像枫叶。”
- 我捡了一片绿叶子。
- 我:“这片绿绿的。”
- 爸爸:“放在袋子里。”
- 我还捡了黄色的。
- 我:“我有红、绿、黄三种。”
- 爸爸:“真多。”
**中午**:在公园吃面包。
- 我:“面包软软的。”
- 爸爸:“吃了有力气。”
- 我:“我吃了,去玩沙子。”
- 爸爸:“小心眼睛。”
**下午**:在家做叶子贴画。
- 我用红叶子做小鸟的身体。
- 我用绿叶子做翅膀。
- 我:“爸爸,小鸟做好了。”
- 爸爸:“真好看,像在飞。”
- 我:“它要去南方。”
- 爸爸:“对,秋天小鸟往南飞。”
**晚上家里**
- 妈妈:“今天捡到几种叶子?”
- 我:“三种,红、绿、黄。”
- 妈妈:“做了什么?”
- 我:“一只小鸟。”
- 爸爸:“小鸟往南飞。”
- 我:“对,秋天到了。”
- 妈妈:“乐乐手真巧。”
- 爸爸:“早点睡。”
**脑子里想的**:叶子有好多颜色,能做不同的画。小鸟秋天往南飞,真神奇。
**今天学到的**1. 叶子有红、绿、黄等颜色。2. 秋天小鸟往南飞。3. 用叶子能做贴画。

View File

@@ -43,7 +43,7 @@ def clean_corpus() -> str:
cc_s2t = OpenCC('s2t') # 简转繁
cc_t2s = OpenCC('t2s') # 繁转简
corpus_dir = Path(__file__).parent.parent / 'corpus'
corpus_dir = Path(__file__).parent / 'corpus'
raw_paragraphs = []
# 1. 内嵌唐诗宋词论语
@@ -52,7 +52,16 @@ def clean_corpus() -> str:
if para:
raw_paragraphs.append(para)
# 2. 递归读取 corpus/ 下所有文件
# 2. LCCC 对话语料(最高优先级,真实对话)
lccc_file = corpus_dir / 'lccc_dialogues.txt'
if lccc_file.exists():
lccc_text = lccc_file.read_text(encoding='utf-8')
for para in lccc_text.split('\n\n'):
para = para.strip()
if para:
raw_paragraphs.append(para)
# 3. 递归读取 corpus/ 下其他所有文件(教材+百科)
if corpus_dir.exists():
for filepath in sorted(corpus_dir.rglob('*')):
if not filepath.is_file():