QQ群“ai-proofreader 校对插件”:1055031650 一个用于文档和图书校对、基于大语言模型服务的VS Code扩展,支持选中文本直接校对和长文档切分后批量校对两种工作流,并集成了一些跟校对相关的辅助功能。这里是代码库。本扩展与相应的Python校对工具库的功能大致相同。 另外,你也可以设置自己的提示词,用于其他文本处理场景,比如翻译、注释、编写练习题等。 A VS Code extension for document and book proofreading based on LLM services, supporting two workflows: proofreading selected text directly and proofreading long documents after segmentation. Here is the code repository. This extension has roughly the same functions as the corresponding Python proofreading tool library. Additionally, you can also set your own prompts for other text processing scenarios, such as translation, annotation, creating exercises, and more. 1. 安装和必要配置本文档仅以Windows系统为例
2. 快速上手2.1. 校对文档中的选段
2.2. 切分文档后批量校对
2.3. 尝试所有命令打开markdown文件(或选中其中一段文字),或上述切分得到JSON文件,这时可以使用右键菜单访问与文本类型相关的命令,如切分或校对。 本扩展的所有功能,则可以通过命令面板(Ctrl+Shift+P)查找、访问:
3. 使用说明3.1. 文档准备3.1.1. 转换为Markdown文档目前作者端稿件多为docx类。排版端可能导出活文字PDF、死文字PDF(文字转曲转光栅,方正书版常见)、方正书版大样文件(常用于过黑马、方正审校)、纯文本(text,多数排版软件能导出)等。 本扩展默认支持Markdown文档,另支持text、ConTeXt、TeX、LaTeX(对后三者的支持没有经过充分测试),其他文档需要先转换为Markdown。此类转换工具很多,本扩展集成了两种。
3.1.2. 整理文档文档转换后还有一些整理技巧,不过对于使用本扩展进行校对而言,进一步的整理工作通常不是必须的。常见的例外情形是,你希望按篇、章、节、标题等结构来切分、校对,以便保持语境连贯,那么你需要学习更多整理技巧,或者使用其他工具,以便得到有标题的Markdown文档。
!!! caution 批量替换有风险 批量替换的结果可能超出你的预期,即使你不准备原样使用处理后的文本,也有掩盖错误的风险。补强措施是:(一)备份文件。(二)先查找全部,复制到一个新文档中确认无误,然后再进行替换。(三)如果替换逻辑较为复杂,替换后还要比较文件(后文会提到),从头到尾确认所有更改。 3.1.3. 文档切分我的经验,在一般语言文字和知识校对场景中,大语言模型一次输出六百到八百字会有比较好的效果。因此,一本十来万字的书稿需要切分成三百多段,然后交给大模型校对。 而校对前后一致性,比如多个人名、正文与注释、前后表述的一致性,则需要完整的语境,这时最好按章节切分、校对。 打开markdown文件,在编辑器窗口中打开右键菜单,可以看到切分选项 或通过命令面板查找更具体的选项:
切分后都会生成同名的 结果面板有按钮提示用户选择查看结果的方式:比较前后差异(用分割线表示切分位置)、查看JSON结果或查看日志文件;还有一个校对JSON文件的按钮(面板失效后还可以打开JSON后用右键菜单开始校对)。 !!! note 切分文档依赖两种标记
本扩展默认用户需要校对的文档为markdown格式,文档切分依赖markdown文档中的两种标记:(1)空行。在markdown中,一个或多个空行表示分段,没有空行的断行在渲染时被忽略,即合并为一段。至少要有合适的空行,否则无法切分。(2)各级标题。如 3.1.4. 合并JSON,组织语境跟人工校对一样,要想提交校对质量,大语言模型也需要了解上下文语境,还需要工具书、参考资料等。 本扩展每次调用大语言模型时能提交三种文本:要处理的目标文本(target,必须)、参考资料(reference,可选)、上下文(context,可选)。比如以一篇文章中的一部分作为target,那么整篇就可以作为context,而在处理中有参考价值的资料,如相关词条,就可以作为reference。 假设你校对一本书,切分后得到包含300个target的JSON文件。那么可以准备相同数量、一一对应的上下文和参考文献,切分成包含相同数量target的JSON文件。然后使用合并命令,将上下文文本中的target作为context合并,将参考文本中的target作为reference合并。 合并 JSON 文件 (Merge Two Files):
组织校对语境是一个看起来有些麻烦,但非常有效的工作。比如校对练习册,有必要把练习和答案拼成语境(拼在一个target中更能节省费用)。而对一首古诗的解释如果不可靠,可以用一篇可靠的作为reference。包含人物的内容,则可以用词典中的任务条目作为reference。 本扩展会逐步增加语境组织功能。 3.2. 校对文本选段和JSON文档校对Markdown文档中选中的片段:
校对切分好的JSON文档:
3.3. 比较(diff)校对前后的文件差异在当前markdown或json界面,使用右键菜单
3.4. 管理提示词本扩展目前默认提示词的功能是校对一般的语言文字错误和知识性错误,具体内容见代码库种的proofreader.ts文件。你可以设置自己的提示词,不限于校对工作。 通过命令面板(Ctrl+Shift+P)可以
也可以在配置文件中处理提示词,但不适合没有编程知识的用户使用。 为了写好提示词,你需要了解本扩展的工作原理:
整个过程没有魔法,处理的目的和方法完全由提示词和三种文本及其标签(reference、context、target)来定义。这就是说,你可以通过自己的提示词,让AI根据三种文本做你期望的任何处理工作, 比如撰写大意、插图脚本、练习题、注释,绘制图表,注音,翻译,进行专项核查(专名统一性、内容安全、引文、年代、注释等),收集信息(如名词术语)…… 需要注意的是,在自定义提示词中,必须对要处理的目标文本(target)、参考资料(reference)、上下文(context)进行说明,如果用不到后两者也可以不说明。并且这种**说明应尽可能与三种标签的字面意义相协调,**比如target可以用作“要处理的目标文本”,也可以用作“要得到的具体目标”(作为系统提示词的补充),但不宜作为参考文本、样例等类。 提示词示例:
本扩展计划预置更多提示词,也欢迎用户通过用户群等渠道交流、分享提示词。 本人有一个开源提示词库,但不是针对本扩展的,改造(对三种标签进行说明)后才能用于本扩展。 3.5. 提示词重复功能支持基于谷歌研究的提示词重复功能,以提高准确度。其原理是:重复用户输入(reference、context、target),让模型在真正处理时已经获得全局信息,从而获得更好的上下文理解。 重复模式:在设置中配置
注意事项:
3.6. 日志等过程文件为了让用户能够核验、控制每一个步骤,扩展会以要校对的文档的文件名(以“测试.md”为例)为基础,生成一些中间文件,各自的作用如下:
请特别注意:除自动累加的日志文件和提示备份的 3.7. 其他功能与工具
3.8. 注意事项
4. 配置从VS Code界面左下角或扩展界面的⚙️,或从命令面板(Ctrl+Shift+P)查找命令Preferences: Open Settings (UI)都能进入扩展配置界面。 配置项的意义请参考本文档相关的部分,以及对应模型的文档。 参考:
4.2. 大语言模型目前支持这些大语言模型服务:
3.2. 模型温度每个模型用于校对的最佳温度需要耐心测试才能得到。 以往的经验是,温度为1时极少有错误和无效改动。 提高模型温度可以增加随机性,如此多次尝试有可能提高召回率,同时也增加不稳定和错误率。 以下是官方资料:
5. TODO
6. 更新日志v1.6.3
v1.5.3
v1.4.0
v1.3.1
v1.3.0
v1.2.2
v1.2.0
v1.1.4
v1.1.0
v1.0.4
v1.0.3
v1.0.0
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.12
v0.1.11
v0.1.10
v0.1.9
v0.1.8
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
7. 开发命令
|


