这个项目用于直接调用 Hugging Face 上的 twnlp/ChineseErrorCorrector3-4B 模型,对中文拼写纠错(CSC).txt 数据集做稳定、可复现的推理评测,不包含微调逻辑。
twnlp/ChineseErrorCorrector3-4B 做推理评测.txt 文件、目录下多个 .txt 文件、以及任意同格式自定义数据集<空格分隔的源句字符>\t<空格分隔的目标句字符>\t 拆分,再去掉字符空格,还原成正常句子Metrics.py--max_seq,超过长度的样本会跳过并写日志outputs/<run_id>/run.logoutputs/<run_id>/anomalies.jsonloutputs/<run_id>/summary.jsoneval_results.txt.
├─ run_eval.py
├─ requirements.txt
├─ Metrics.py
├─ src/csc_eval/
│ ├─ data.py
│ ├─ evaluate.py
│ ├─ extract.py
│ └─ inference.py
├─ lemon_v2/
├─ sighan_ecspell/
└─ OD-CSC.txt
建议先准备 Python 3.10+ 环境,然后安装依赖:
pip install -r requirements.txt
如果需要 GPU 推理,请安装与你本机 CUDA 匹配的 PyTorch 版本。
python run_eval.py ^
--dataset OD-CSC.txt ^
--max_seq 128 ^
--batch_size 1 ^
--device auto ^
--torch_dtype bfloat16
python run_eval.py ^
--dataset lemon_v2 ^
--max_seq 128 ^
--batch_size 1 ^
--device auto ^
--torch_dtype bfloat16
.txtpython run_eval.py ^
--dataset . ^
--max_seq 128 ^
--batch_size 1 ^
--device auto ^
--torch_dtype bfloat16
python run_eval.py ^
--dataset lemon_v2\new.txt ^
--max_seq 64 ^
--limit 20 ^
--dry_run
--dry_run 不加载真实模型,只把源句复制为预测,用于验证数据读取、跳过逻辑、指标汇总和结果落盘。
--dataset: 单个 .txt 文件或目录路径--max_seq: 句子长度上限。len(source) > max_seq 时直接跳过该样本--batch_size: 推理 batch size,默认 1--device: auto、cuda:0、cpu 等--torch_dtype: auto / bfloat16 / float16 / float32--max_new_tokens: 每条样本生成的最大 token 上限--generation_buffer: 动态生成长度时,额外预留 token 数--prompt_prefix: 可自定义提示词前缀--limit: 每个数据文件只评测前 N 条解析成功的样本--dry_run: 不加载真实模型,用于流程验证eval_results.txt每次运行会追加一段摘要,包括:
outputs/<run_id>/anomalies.jsonl会记录以下异常,而不是静默吞掉:
max_seq 超长跳过项目默认 prompt 是:
你是一个文本纠错专家,纠正输入句子中的错误,并只输出纠正后的句子,不要解释,不要添加任何前缀,输入句子为:
这与 TW-NLP/ChineseErrorCorrector 仓库和 Hugging Face 模型页上的示例用法保持同一路线,并额外强调“只输出纠正后的句子,不要解释”。
参考:
项目直接复用了当前工作区的 Metrics.py,输出:
sentence_detectsentence_correctchar_detectchar_correctsrc / trg 长度不一致,会记录日志并跳过该样本。do_sample=False 做确定性生成。1 commits
Python
100.0%
这个项目用于直接调用 Hugging Face 上的 twnlp/ChineseErrorCorrector3-4B 模型,对中文拼写纠错(CSC).txt 数据集做稳定、可复现的推理评测,不包含微调逻辑。
twnlp/ChineseErrorCorrector3-4B 做推理评测.txt 文件、目录下多个 .txt 文件、以及任意同格式自定义数据集<空格分隔的源句字符>\t<空格分隔的目标句字符>\t 拆分,再去掉字符空格,还原成正常句子Metrics.py--max_seq,超过长度的样本会跳过并写日志outputs/<run_id>/run.logoutputs/<run_id>/anomalies.jsonloutputs/<run_id>/summary.jsoneval_results.txt.
├─ run_eval.py
├─ requirements.txt
├─ Metrics.py
├─ src/csc_eval/
│ ├─ data.py
│ ├─ evaluate.py
│ ├─ extract.py
│ └─ inference.py
├─ lemon_v2/
├─ sighan_ecspell/
└─ OD-CSC.txt
建议先准备 Python 3.10+ 环境,然后安装依赖:
pip install -r requirements.txt
如果需要 GPU 推理,请安装与你本机 CUDA 匹配的 PyTorch 版本。
python run_eval.py ^
--dataset OD-CSC.txt ^
--max_seq 128 ^
--batch_size 1 ^
--device auto ^
--torch_dtype bfloat16
python run_eval.py ^
--dataset lemon_v2 ^
--max_seq 128 ^
--batch_size 1 ^
--device auto ^
--torch_dtype bfloat16
.txtpython run_eval.py ^
--dataset . ^
--max_seq 128 ^
--batch_size 1 ^
--device auto ^
--torch_dtype bfloat16
python run_eval.py ^
--dataset lemon_v2\new.txt ^
--max_seq 64 ^
--limit 20 ^
--dry_run
--dry_run 不加载真实模型,只把源句复制为预测,用于验证数据读取、跳过逻辑、指标汇总和结果落盘。
--dataset: 单个 .txt 文件或目录路径--max_seq: 句子长度上限。len(source) > max_seq 时直接跳过该样本--batch_size: 推理 batch size,默认 1--device: auto、cuda:0、cpu 等--torch_dtype: auto / bfloat16 / float16 / float32--max_new_tokens: 每条样本生成的最大 token 上限--generation_buffer: 动态生成长度时,额外预留 token 数--prompt_prefix: 可自定义提示词前缀--limit: 每个数据文件只评测前 N 条解析成功的样本--dry_run: 不加载真实模型,用于流程验证eval_results.txt每次运行会追加一段摘要,包括:
outputs/<run_id>/anomalies.jsonl会记录以下异常,而不是静默吞掉:
max_seq 超长跳过项目默认 prompt 是:
你是一个文本纠错专家,纠正输入句子中的错误,并只输出纠正后的句子,不要解释,不要添加任何前缀,输入句子为:
这与 TW-NLP/ChineseErrorCorrector 仓库和 Hugging Face 模型页上的示例用法保持同一路线,并额外强调“只输出纠正后的句子,不要解释”。
参考:
项目直接复用了当前工作区的 Metrics.py,输出:
sentence_detectsentence_correctchar_detectchar_correctsrc / trg 长度不一致,会记录日志并跳过该样本。do_sample=False 做确定性生成。1 commits
Python
100.0%