Hyper-Extract 的 he dump 命令指南:知识摘要如何持久化到磁盘
【免费下载链接】Hyper-ExtractHypergraph is more powerful. Transform unstructured text into structured knowledge with LLMs. Graphs, hypergraphs, and spatio-temporal extractions — with one command.项目地址: https://gitcode.com/GitHub_Trending/hy/Hyper-Extract
Hyper-Extract 是一款基于 LLM 的知识提取工具,能把非结构化文档转换为结构化的知识摘要(Knowledge Abstract,简称 KA)。dump正是这条流水线的最后一步:将提取出的知识摘要持久化到磁盘,供后续的可视化、语义搜索和对话复用。本文带你看懂这套"存得下、读得回"的持久化机制。
🧠 先认识主角:知识摘要(Knowledge Abstract)
he parse命令从文档中提取出的并不是零散的笔记,而是一个完整的知识摘要目录。一个 KA 就是"结构化数据 + 元信息 + 向量索引"的集合体,全部继承自统一的基类 BaseAutoType,因此任何类型的 KA(图、超图、集合、模型等)都共享同一套保存协议。
💾 dump 一次写入的"三件套"
ka.dump()是整个持久化流程的总入口,定义在 base.py#L526-L557。它会在目标目录下写出三部分:
./my_ka/ ├── data.json # 核心知识数据(实体、关系等结构化 JSON) ├── metadata.json # 模板、语言、创建/更新时间戳 └── index/ # 向量索引文件(FAISS),支持语义搜索三者地位并不对等,这一点决定了系统的容错设计:
| 文件 | 地位 | 写入策略 |
|---|---|---|
data.json | 🔴 关键 | 由 Pydantic 模型序列化写出,dump_data() 保证 UTF-8 与缩进格式 |
metadata.json | 🟡 推荐 | 记录created_at/updated_at等,dump_metadata() 写入 |
index/ | 🟢 可选 | 索引保存失败只打印警告、不中断流程,随时可用he build-index重建 |
这种"数据为主、索引可弃"的分层设计,意味着即使索引损坏,你的知识本体也安然无恙。
⚙️ 哪些 he 命令在暗中替你执行 dump
在官方工作流图中,"保存"被标记为he dump(见 docs/zh/cli/index.md 的流程说明);而在当前实现中,这个保存动作由ka.dump()承担,被以下三个命令自动触发,无需你手动执行:
he parse— 提取完成后保存数据;若未跳过索引(--no-index),构建索引后会再 dump 一次把索引一并落盘,见 cli.py#L346-L368he feed— 向已有 KA 追加新文档后,合并结果自动保存,见 cli.py#L825-L827he build-index— 重建向量索引后重新持久化,见 cli.py#L887-L889
也就是说,只要你正常走完提取流程,知识就已经安全躺在磁盘上了。
📂 load 读回来:一场完整的往返旅行
持久化的另一半是 load(),它与 dump 严格对称,且按重要性分级处理:
data.json缺失 → 直接报错(没有数据就没有 KA)metadata.json缺失 → 静默跳过index/缺失或损坏 → 打印提示,建议用he build-index或ka.clear_index()重建
此外还有一个贴心的细节:读回时会把metadata里被序列化成字符串的时间戳还原为datetime对象,保证加载后的 KA 与新创建的行为完全一致(见 base.py#L641-L652)。
🐍 Python API:手动掌控保存时机
如果你用 Python 而非 CLI,dump与load同样是显式方法,保存时机完全由你决定——这也是长任务中做定期快照的关键手段(示例见 docs/zh/python/guides/incremental-updates.md):
ka.feed_text(text) ka.dump("./kb_v1/") # 任意时刻手动快照 ka.load("./kb_v1/") # 随时恢复现场完整读写指南参见 docs/zh/python/guides/saving-loading.md。
🗺️ 模块速查
| 内容 | 路径 |
|---|---|
| CLI 命令入口 | hyperextract/cli/cli.py |
| dump / load 核心实现 | hyperextract/types/base.py |
| 知识摘要类型族 | hyperextract/types/ |
| 预置提取模板 | hyperextract/templates/presets/ |
| CLI 文档(含工作流图) | docs/zh/cli/index.md |
一句话总结:he parse/he feed/he build-index背后都藏着同一个ka.dump(),它把知识摘要拆成"数据、元信息、索引"三层落盘;load()再按同一协议读回——一次 dump,知识永久可查。
【免费下载链接】Hyper-ExtractHypergraph is more powerful. Transform unstructured text into structured knowledge with LLMs. Graphs, hypergraphs, and spatio-temporal extractions — with one command.项目地址: https://gitcode.com/GitHub_Trending/hy/Hyper-Extract
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考