W
AI-Wiki
CONCEPT

Hyper-Extract CLI Workflow

定义

Hyper-Extract CLI Workflow 是一套围绕 Hyper-Extract 命令行工具组织起来的知识抽取与消费流程,用来把原始文档转成可复用的知识库,并在后续继续查询、问答、扩充和重建索引。它不是单个命令,而是把 parseinfoshowsearchtalkfeedbuild-index 串成一个可重复执行的操作链。

在本文档中的语境

在示例语境中,这个工作流面向“研究论文分析”场景:用户先准备一篇论文文件,再抽取其中的实体与关系,随后查看统计、可视化知识图、进行语义搜索和问答,并在加入新论文后继续维护同一个知识库。 文档明确说明,输入文件支持 .md.txt;示例虽然下载的是一个研究论文文本文件,但随后将其保存为 transformer_paper.md 后再执行命令,说明这两种文本型输入都属于标准起点。

标准顺序

该工作流的推荐顺序非常明确:

  1. 使用 he parse 从原始文档生成知识库。
  2. 使用 he info 查看知识库统计与基本信息。
  3. 使用 he showhe searchhe talk 消费知识库内容。
  4. 后续通过 he feed 向已有知识库追加新文档。
  5. 在需要时运行 he build-index 重建搜索索引。

第一步:从输入文件生成知识库

典型命令示例如下:

he parse transformer_paper.md -t general/concept_graph -o ./transformer_kb/ -l en

这个命令里有四个关键输入位:

  • 输入文件:transformer_paper.md,即待抽取的原始文档。
  • 模板参数 -tgeneral/concept_graph,用于指定抽取任务采用的知识图模板。
  • 输出目录 -o./transformer_kb/,用于保存抽取结果;这个目录会在后续被 infoshowsearchtalkfeedbuild-index 反复复用。
  • 语言参数 -len,用于声明输入文本语言。

解析阶段具体发生什么

he parse 并不是简单复制文件,而是执行一整套抽取流程:

  1. 读取文档内容。
  2. 如果文档较长,则先进行分块。
  3. 调用 LLM 抽取实体与关系。
  4. 将抽取结果写入输出目录。

文档还给出了输出目录中的典型结果:

  • data.json:抽取出的知识数据。
  • metadata.json:抽取元数据。
  • index/:向量检索索引;如果已构建,会出现在该目录中。

这说明 parse 的结果不是临时会话,而是一个可落盘、可复用的知识库目录。其目录结构可进一步参见 Hyper-Extract Knowledge Base Directory

第二步:查看知识库信息

在知识库生成后,标准下一步是:

he info ./transformer_kb/

该命令用于读取输出目录中的元数据并展示概要统计。示例输出包含以下字段:

  • 路径:./transformer_kb/
  • 模板:general/concept_graph
  • 语言:en
  • 创建时间:2024-01-15 10:30:00
  • 更新时间:2024-01-15 10:30:00
  • 节点数:12
  • 边数:15
  • 索引状态:Index Built

因此,he info 在这个工作流中承担的是“确认抽取结果是否存在、规模多大、索引是否就绪”的作用。

第三步:消费知识库

he show 可视化知识图

可视化命令为:

he show ./transformer_kb/

该操作会在浏览器中打开一个交互式知识图。示例中特别指出:

  • 节点可包含作者、概念、模型、指标。
  • 边展示这些节点之间的关系。

因此 show 适合做结构浏览,而不是只看文本片段。

he search 做语义检索

语义检索示例:

he search ./transformer_kb/ "neural network architecture"

文档强调,即使关键词不完全匹配,也可以找到语义相关内容。示例结果中包括:

  • Transformer,类型是 model,描述为“完全基于注意力机制的神经网络架构”。
  • Attention Mechanism,类型是 concept,描述为“用于捕捉序列间全局依赖的机制”。

还可以指定返回数量,例如:

he search ./transformer_kb/ "performance metrics" -n 5

这表明 search 既可用于开放语义查找,也可通过 -n 控制结果条数。更完整的检索与问答能力可参见 Hyper-Extract CLI Retrieval and QA

he talk 基于知识库问答

单轮问答示例:

he talk ./transformer_kb/ -q "What is the main contribution of this paper?"

示例回答指出,该论文的主要贡献是提出 Transformer 架构,并说明其在机器翻译任务上达到先进结果,同时比循环架构或卷积架构更易并行、训练时间显著更少。

交互模式示例:

he talk ./transformer_kb/ -i

进入交互后,可连续提问,直到输入 exitquit 退出。示例会话中包含两个具体问答:

  • 询问作者时,返回了 Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan N. Gomez、Lukasz Kaiser、Illia Polosukhin。
  • 询问 BLEU 分数时,返回模型在 WMT 2014 英译德任务上达到 28.4

这说明 talk 不只是检索文本,而是面向知识库进行面向问题的回答。

第四步:持续扩充而不是一次性执行

这个工作流强调“持续构建”的模式,而不是一次抽取后就结束。已有知识库可以继续追加文档,例如:

he feed ./transformer_kb/ bert_paper.md

在这个步骤前,示例先下载另一篇论文,再把它加入现有知识库。追加后,可以再次执行:

he info ./transformer_kb/

文档特别提醒,这时应当观察到:

  • 节点数增加。
  • 边数增加。
  • 更新时间发生变化。

这表明 feed 是在已有知识库上做增量更新,而不是要求每次重新从零 parse

第五步:按需重建索引

当追加新文档后,搜索索引可能需要更新。标准命令为:

he build-index ./transformer_kb/

如果需要强制完整重建,则使用:

he build-index ./transformer_kb/ -f

因此,build-index 的定位不是最初的知识抽取,而是为后续检索能力提供或刷新索引。尤其在 feed 之后,这一步是典型维护动作。

自动化与批量化实践

用 bash 脚本封装完整流程

文档给出了一份自动化脚本示例,使用变量统一配置:

  • INPUT_FILE="paper.md"
  • OUTPUT_DIR="./paper_kb/"
  • TEMPLATE="general/concept_graph"
  • LANGUAGE="en"

脚本按固定顺序自动执行:

  1. he parse "$INPUT_FILE" -t "$TEMPLATE" -o "$OUTPUT_DIR" -l "$LANGUAGE"
  2. he info "$OUTPUT_DIR"
  3. he search "$OUTPUT_DIR" "main contributions" -n 2
  4. he show "$OUTPUT_DIR"

这说明 CLI Workflow 很适合被封装进 shell 脚本,做成可重复运行的标准流程。相关背景可参见 CLI Workflow Guide 摘要

多文件批处理