W
AI-Wiki
SOURCE

he feed - Hyper-Extract 摘要

文档概览

该页是 Hyper-Extract CLI 中 he feed 命令的说明文档,主题是“向一个已经存在的 knowledge abstract 逐步追加文档”。页面开头直接给出一句定义:Add documents to an existing knowledge abstract incrementally.,核心强调两点:一是目标对象必须是“已存在”的 knowledge abstract;二是追加方式是“incrementally”,也就是增量式并入,而不是重新从头构建。

原文结构比较完整,依次包含以下部分:

  • Synopsis:给出命令形态。
  • Arguments:解释位置参数 KA_PATHINPUT
  • Options:解释 --template/-t--lang/-l
  • Description:说明 he feed 的执行语义与适用场景。
  • Examples:给出基础追加、多文档连续喂入、shell loop、stdin 输入等例子。
  • Merge Behavior:列出相同实体、相同关系、新实体、新关系的合并行为。
  • Workflow Example:给出研究知识库与人物传记的分阶段更新流程。
  • Verification:说明如何确认喂入成功。
  • Best Practices:给出模板、语言、索引重建、可视化检查等建议。
  • Error Handling:列出 knowledge abstract 目录无效、模板不匹配等错误场景与检查方法。

因此,这一页不是单纯列参数,而是把 he feed 放进持续更新知识库的完整 CLI 工作流中进行说明,可与 Hyper-Extract CLI WorkflowHyper-Extract Knowledge Base DirectoryHyper-Extract CLI Retrieval and QA 对照阅读。

关键事实

命令形态

原文 Synopsis 给出的命令形式是:

he feed KA_PATH INPUT [OPTIONS]

这里有两个位置参数:

  • KA_PATH:现有 knowledge abstract 目录的路径。
  • INPUT:输入文件路径,或者使用 - 表示从标准输入 stdin 读取内容。

这意味着 he feed 的前提不是“创建”知识库,而是“打开并更新”一个已经存在的知识抽象目录。就工作流位置而言,它是对先前 he parse ... -o <dir> 产物的后续增量更新操作,对应 Hyper-Extract Knowledge Base Directory 中那个被持续复用的本地目录。

选项

原文只列了两个选项,但都与保持知识库语义一致性有关:

  • --template / -t:覆盖模板。如果不传,则使用元数据中的模板值。
  • --lang / -l:覆盖语言。如果不传,则使用元数据中的语言值。

文档明确指出这两个参数是“override”语义,而不是每次必填。也就是说,已有 knowledge abstract 目录本身带有元数据;默认情况下,he feed 会沿用该元数据中的模板和语言设置,只有在调用者显式传参时才覆盖。

命令语义

Description 中,原文把 he feed 的执行过程拆成四步,并明确说明这个过程是在“不丢失已有数据”的前提下完成的:

  1. Loads existing knowledge:读取当前 knowledge abstract 的现有状态。
  2. Extracts from new document:处理并抽取新输入文档中的内容。
  3. Merges intelligently:把新数据与旧数据做智能合并,并处理重复项。
  4. Updates metadata:记录更新时间戳。

原文对整体效果的概括是:The feed command adds new documents to an existing knowledge abstract without losing existing data. 这句话很关键,说明 he feed 不是简单覆盖写入,也不是把原目录清空后重建,而是保留旧数据并追加新知识的增量合并操作。

适用场景

原文直接列出三类典型用途:

  • 随时间逐步构建 knowledge abstract。
  • 为已有文档加入更新内容。
  • 把多个来源的信息组合到同一个 knowledge abstract 中。

这三类场景共同说明,he feed 主要服务于“长期维护、滚动扩充、跨文档聚合”的知识积累模式,而不是一次性抽取结束。

重要细节

示例:先 parse,再持续 feed

文档最基础的用法示例先做初次抽取,然后再追加新内容:

# Initial extraction
he parse tesla_bio.md -t general/biography_graph -o ./tesla_kb/ -l en

# Add more content
he feed ./tesla_kb/ tesla_inventions.md

这个例子传达了一个明确流程:

  • 第一步通过 he parse 创建输出目录 ./tesla_kb/
  • 第二步再把 tesla_inventions.md 增量喂入该目录。

也就是说,he feed 依赖现有目录作为基础状态,而不是独立运行。它与 Hyper-Extract CLI Workflow 中“先解析,再持续维护”的模式是直接对应的。

示例:连续喂入多个文档

原文给出最直接的多次调用方式:

he feed ./ka/ doc1.md
he feed ./ka/ doc2.md
he feed ./ka/ doc3.md

这说明同一个 knowledge abstract 目录可以被反复更新,多个文档不是要求一次性批量输入,而是可以按文档逐次合并。

示例:shell loop 批量喂入

文档还给出 shell 循环例子:

for file in updates/*.md; do
he feed ./ka/ "$file"
done

这个例子补充了一个实际操作点:如果更新文档是一批 .md 文件,可以利用 shell loop 对同一目录进行批量追加,而不需要工具额外提供专门的 batch 子命令。

示例:从标准输入喂入

原文特别说明 INPUT 可以是 -,并给出对应例子:

cat new_content.md | he feed ./ka/ -

这表示 he feed 支持 Unix 管道风格输入,适合在上游命令生成内容、过滤文本或动态拼接文档后,直接从 stdin 输送给知识库更新流程。

合并行为

Merge Behavior 一节用表格明确列出了四种情况:

场景原文行为
相同实体合并,描述会被组合在一起
相同关系用最新信息更新
新实体加入 knowledge abstract
新关系加入,并连接现有实体或新实体

其中有几个边界值得保留:

  • 对“相同实体”,不是简单覆盖,而是 Merged, descriptions combined,即实体会合并,描述信息会被组合。
  • 对“相同关系”,原文写的是 Updated with latest information,强调最新信息会更新已有关系。
  • 对“新实体”和“新关系”,则都是直接加入现有知识抽象中。

这部分是理解 Hyper-Extract Incremental Merge Behavior 的核心来源:he feed 的价值并不只是追加文本,而是把新旧知识图谱元素按实体、关系粒度进行增量融合。

工作流示例

研究知识库的分阶段构建

原文给出一个时间线式示例:

# Day 1: Initial paper
he parse paper_v1.md -t general/concept_graph -o ./research_kb/ -l en
he show ./research_kb/

# Day 7: Updated version
he feed ./research_kb/ paper_v2.md
he show ./research_kb/

# Day 14: Related work
he feed ./research_kb/ related_work.md
he build-index ./research_kb/
he talk ./research_kb/ -q "What are the key concepts across all papers?"

这个流程体现出几个关键后续动作:

  • he show ./research_kb/ 用于可视化查看更新前后的变化。
  • 在继续追加多份文档后,执行 he build-index ./research_kb/
  • 索引构建完成后,再使用 he talk ./research_kb/ -q ... 做跨文档问答。

因此,这一页虽然聚焦 he feed,但已经把它放进“抽取 → 展示 → 增量更新 → 重建索引 → 问答”的完整链路中。这里与 Hyper-Extract CLI Retrieval and QA 的衔接非常直接:he talk 依赖更新后的知识库和后续索引构建,才能进行跨文档提问。

传记知识库的增量补全

另一个例子按人生阶段逐步补完人物知识:

# Start with early life
he parse early_life.md -t general/biography_graph -o ./bio_kb/ -l en

# Add career period
he feed ./bio_kb/ career.md

# Add later years
he feed ./bio_kb/ later_years.md

# Final visualization
he show ./bio_kb/

这个示例说明 he feed 适合处理天然分阶段出现的内容,例如人物早年、职业阶段、晚年等被拆成不同文档的情况。最终再用 he show 做整体可视化核查。

验证方式

Verification 一节,原文给出三个检查点,用于确认 feed 是否生效:

  • 节点数量增加。
  • 边数量增加。
  • 时间戳已更新。