如何用humanizer改写长篇文档:hz命令行工具一条命令保留Markdown、Word标题与代码结构
【免费下载链接】humanizer项目地址: https://ai.gitcode.com/hf_mirrors/jialinyyzz/humanizer
humanizer 是一个 12B 参数的本地 AI 改写模型,能把 AI 写出来的草稿改得像人写的;配套的hz 命令行工具一条命令即可改写长篇 Markdown 或 Word 文档,且标题、代码块、表格原样保留,只对正文分块改写并逐块检查。本文带你从零装好它,并讲清楚它是怎么保住文档结构的。
为什么不能把长文档整个丢给模型?
改写长篇文档(比如技术文章、报告)时,直接整篇丢给模型有三个绕不开的问题:
- 上下文有限:指令、草稿和改写共用 8192 个 token,长文档根本装不下;
- 结构容易丢:模型常常把标题、代码块、列表直接删掉或改成大白话正文;
- 没法核对:数字、日期、链接一旦悄悄改错,整篇输出都得重跑。
hz的思路就是针对这三点:把正文按段落切成小块逐块改写,结构块完全不送给模型,每块改完自动做数字、链接、照抄等检查,出问题自动重采一次。
3步装好 hz 命令行工具 ⚙️
第1步:安装 hz
hz 需要 Python 3.8 及以上,只用标准库。安装命令在 USAGE.zh.md 的「14. 命令行工具 hz」一节里,pipx或pip一行命令即可,装完后系统里多一个hz命令。如果要处理.docx,再补装python-docx依赖(同节说明)。
第2步:下载模型文件
按你的内存选文件(详细对照见文末表格):
pip install -U "huggingface_hub[cli]" hf download jialinyyzz/humanizer humanizer-12b-Q8_0.gguf prompt_format.json --local-dir ./humanizer-model国内下载慢的话,可先设置 HuggingFace 镜像环境变量再执行,方法见 USAGE.zh.md 第 2 节。下载后可用wc -c核对文件大小,校验值也在文档里。
第3步:启动推理服务
llama-server -m ./humanizer-model/humanizer-12b-Q8_0.gguf -c 8192 -np 1 -ngl 99 --host 127.0.0.1 --port 8080当curl -s http://127.0.0.1:8080/health返回{"status":"ok"}就就绪了。如果你用的是 Humanizer 桌面 App 作后端,可以跳过这一步——hz 会自动检测正在运行的 App。
一条命令改写长文档:常用示例
hz paper.md -o paper.out.md # 长篇 Markdown:结构保留,正文分块改写 hz report.docx -o report.out.docx # Word 文档 hz draft.txt # 短文本:结果直接打印到终端 hz paper.md --dry-run # 只预览怎么切块,不消耗模型 hz paper.md --json > report.json # 输出每块的检查报告 hz paper.md --server http://127.0.0.1:8080 # 指定某个 llama-server速度参考(M5 Max,Q8_0 量化):一篇 1,200 词的英文 Markdown 切成 21 块,约 41–54 秒;约 700 字的中文报告切成 6 块,约 13–17 秒。进度按块打印在 stderr,需要人工核对的块无论如何都会列出来。
hz 如何保住 Markdown 与 Word 结构? 📐
这些块一律原样保留、不送模型
- Markdown 标题(
#、下划线式、整行纯粗体) - 围栏/缩进代码块、表格、公式(
$$…$$与\[…\]) - 纯图片或链接行、HTML 块与注释、引用块、分隔线
- YAML front matter、脚注和链接定义
- References、Bibliography、Works Cited、Sources、参考文献等标题下的全部内容
- 紧贴列表/表格/代码块之前、以冒号结尾的短句(如「主要成效如下:」)
正文怎么切
正文段落按顺序拼成块,每块最多约350 个英文词或 600 个汉字(可用--max-words/--max-chars调整)。块绝不跨过标题和任何保留块;超长段落按句子切开,改完再拼回同一段。列表项保留原编号和项目符号,短项(约 15 个英文词以内)保持原样——短列表项是模型最弱的地方,建议重点看。
Word(.docx)处理
标题、表格、目录、页眉页脚、脚注、题注、引用、代码样式一律不动;含超链接、图片、域、公式或修订痕迹的段落整段跳过。注意一点:改写会写进段落第一个 run,段内局部的粗体/斜体格式会丢失,整段统一用第一个 run 的格式。
下图是一次改写前后的对比(草稿在左,改写在右),数字、名称、引用都原样保留:
自动检查:出问题会自动重采一次
每块改完都会做检查,命中任一问题就重写一次,两版留问题少的:
| 检查项 | 含义 |
|---|---|
missing_numbers | 草稿里的数字在改写里找不到(480k=480,000、31.7万=317,000 等会先做规范化比对) |
copy | 改写超过一半照抄草稿(默认阈值 0.5) |
missing_urls | 草稿里的链接在改写里丢了 |
empty/truncated | 输出为空或撞长度上限 |
too_short/too_long | 长度不到草稿的 35% 或超过 175% |
repeated | 改写里有两句话在说同一件事 |
markup | 出现了草稿没有的 HTML 标签 |
改写里多出来的数字(added_numbers)只报告不重采:模型有时做的是正确算术,有时是编的,两种情况都要自己看一眼。重写后仍有问题的块会在 stderr 按行号列出,--json报告里标为"flagged": true,退出码仍是 0。
要提醒的是:检查只覆盖数字、链接、照抄、长度、重复和杂散标签,改了一个词、一个人名或句子方向它查不出来——结果务必通读一遍。
按内存选模型文件
| 你的内存 | 推荐文件 | 大小 |
|---|---|---|
| 32 GB 及以上 | humanizer-12b-Q8_0.gguf(推荐) | 约 12.7 GB |
| 16 GB | humanizer-12b-Q6_K.gguf | 约 10.0 GB |
| 16 GB 或硬盘紧张 | humanizer-12b-Q4_K_M.gguf | 约 7.6 GB |
三档量化与全精度(bf16)在事实保真判官上的差异都在噪声范围内,可以放心按内存选。
中文文档改写特别注意事项 🈯
- 中文效果还在追赶英文:评测中 204 篇中文改写有 149 篇未挑出事实问题,有问题的九成改一个词或短语就好;
- 数字会换写法:汉字数字变阿拉伯数字(三 → 3)、日期改格式(6月14日 → 6.14),自动核对发现不了这类变化,请读一遍;
- 全角/半角标点可能互换,问候、正文、落款有时被并成一段,发出前整理格式;
- 中文改写更容易照抄草稿,hz 的自动重采在这种情况更管用。
参考资料
- USAGE.zh.md:完整无 App 使用指南,第 14 节是 hz 的完整参考(选项、JSON 字段、退出码)
- USAGE.md:英文文档,含整文件夹批量改写脚本与长文切分脚本
- AGENTS.md:给 AI Agent 的安装与自检说明(含自检脚本,跑通会打印
PASS) - prompt_format.json:提示词指令与分隔符原文,逐字节复现模型训练时的输入
【免费下载链接】humanizer项目地址: https://ai.gitcode.com/hf_mirrors/jialinyyzz/humanizer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考