SOURCE
he parse - Hyper-Extract 摘要
文档概览
he parse 用于从文档中提取知识,并将提取结果保存为一个知识抽象输出目录。它可处理单个文件、一个目录中的文档,或从标准输入读取内容;提取时可选用知识模板,也可直接使用底层抽取方法。
关键事实
- 输入可以是单个文件、目录,或以
-表示的标准输入。 - 当输入为目录时,命令会读取其中的
.md和.txt文件;这些文件会先按字母顺序合并,再进行一次提取。 -t用于指定知识模板,例如general/biography_graph、general/concept_graph、legal/contract_obligation与finance/earnings_summary。- 省略
-t时,命令进入交互式模板选择:可从编号列表选择模板,也可输入搜索关键词。 -m用于指定底层抽取方法,例如light_rag。方法始终使用英文提示词。- 模板模式必须使用
-l指定语言;方法模式不要求语言参数。模板语言应与源文档语言匹配,以获得更好的抽取质量。 -o指定知识抽象输出目录。若目标目录已存在且非空,默认不能继续;-f可强制覆盖。- 默认会构建向量搜索索引;
--no-index可跳过该步骤,适合不需要搜索或聊天、或进行批量提取的场景。之后可通过he build-index构建索引。
使用方式
单个文件与指定模板
he parse document.md -t general/biography_graph -o ./output/ -l en
交互式选择模板
he parse document.md -o ./output/ -l en
该方式不传入 -t。命令会展示可用模板,例如 general/biography_graph、general/graph、finance/earnings_summary,等待用户输入编号或搜索关键词。
处理目录
he parse ./documents/ -t general/concept_graph -o ./output/ -l en
目录内 .md 和 .txt 文件会按文件名字母顺序合并。目录输入应避免依赖未说明的文件遍历顺序。
使用底层方法而非模板
he parse document.md -m light_rag -o ./output/
方法模式不需要 -l,但其提示词固定为英文;这与模板模式按 -l 选择语言的行为不同。
从标准输入读取
cat document.md | he parse - -t general/biography_graph -o ./output/ -l en
输出内容
输出目录至少包含以下文件:
./output/
├── data.json
├── metadata.json
└── index/
├── index.faiss
└── docstore.json
data.json:提取出的知识数据,例如实体、关系等。metadata.json:提取元数据,包括所用template、lang、created_at创建时间和updated_at最后更新时间。index/index.faiss与index/docstore.json:仅在构建索引时出现,用于向量搜索索引及其文档存储。使用--no-index时不会立即生成这一部分。
模板与适配场景
- 研究论文:使用
general/concept_graph,例如将paper.md输出至./paper_kb/。 - 人物传记:使用
general/biography_graph,例如将biography.md输出至./bio_kb/。 - 法律合同:使用
legal/contract_obligation,例如将contract.md输出至./contract_kb/。 - 财报:使用
finance/earnings_summary,例如将earnings.md输出至./finance_kb/。 模板选择应与文档类型匹配;这是提高 文档知识抽取 结果可用性的首要条件。
语言要求
模板支持多语言。英文文档可使用 -l en,中文文档可使用 -l zh,例如:
he parse doc.md -t general/biography_graph -l zh -o ./output/
模板模式遗漏 -l 会报出“Language is required”类错误。底层方法模式不需要语言参数,但不应据此假设其提示词会自动随文档语言切换。
常见错误与处理
输出目录已存在
当输出目录存在且非空时,可采取以下任一方式:
- 使用
-f强制覆盖已有输出。 - 改用不同的输出路径。
- 先移除既有目录,再执行命令。
找不到模板
当指定模板不存在时:
- 使用
he list template列出可用模板。 - 不传
-t,改用交互式选择。 - 检查模板路径的拼写。
模板缺少语言参数
模板调用必须传入 -l;例如 he parse doc.md -t general/biography_graph -o ./out/ -l en。若改用 -m light_rag 等方法,则无需 -l。
使用建议
- 按文档类型选择合适的 知识抽取模板,不要将人物、合同和财务文档混用同一模板。
- 模板模式下让
-l与源文档语言一致,避免因语言不匹配降低抽取质量。 - 使用描述性输出目录名,例如
paper_kb、bio_kb或finance_kb,以便区分不同知识抽象。 - 批量任务可加
--no-index先完成抽取,最后统一运行he build-index;这可减少重复构建 知识库索引构建 所需索引的开销。 - 覆盖已有目录前应确认结果是否仍需保留,因为
-f针对已有非空输出目录执行强制覆盖。