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_PATH与INPUT。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 Workflow、Hyper-Extract Knowledge Base Directory、Hyper-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 的执行过程拆成四步,并明确说明这个过程是在“不丢失已有数据”的前提下完成的:
- Loads existing knowledge:读取当前 knowledge abstract 的现有状态。
- Extracts from new document:处理并抽取新输入文档中的内容。
- Merges intelligently:把新数据与旧数据做智能合并,并处理重复项。
- 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 是否生效:
- 节点数量增加。
- 边数量增加。
- 时间戳已更新。