新闻动态¶
版本发布与功能亮点。完整变更日志见 GitHub Releases。
v0.10.5 — 加载期模板校验与本地模型友好报错¶
- 🛡️ 加载期 identifiers 校验 — 模板的
node_id/relation_id/relation_members引用了output未声明字段时,Template.create阶段即报relation_id references '{type}' but relations.fields does not declare 'type',而非首次合并时崩出无关的max()错误。(生产反馈;需要 ontomem ≥ 0.6.1) - 🧠 本地模型友好报错 — 无配置文件时
Template.create不再静默回退到 OpenAI 默认值,报错列出三条出路(he config init、-p vllm本地方案、显式传客户端)。 - ontomem 0.6.1 — 精确回滚安全:100% key 抽取失败时抛
KeyExtractionError、key_extraction_failed警告聚合计数、remerge="mechanical"大共享键确定性回滚(无 LLM、秒级)。(生产反馈)
v0.10.4 — Chunk 失败可见化与超图增量喂入修复¶
- 🐛 超图增量喂入修复 — 向已有超图 KA 喂第二个文档时崩溃(
_update_data_state引用了不存在的key_extractor属性)。现改用node_key_extractor/edge_key_extractor。 - 👁️ Chunk 抽取失败可见 — 失败的 chunk 此前只留一行日志即被静默跳过。现在每次
feed_text()/parse()都会记录失败明细:读取ka.extraction_failures(chunk 序号、阶段、错误)。he feed/he parse会在丢弃 chunk 时打印警告。 - ⚙️
on_error策略 — 新增构造参数:"skip"(默认,保持现有行为)或"raise"(首个失败 chunk 即中止整个喂入)。所有 AutoType 均可用。
v0.10.3 — Cypher 导出可用了¶
- 🐛 Cypher 导出修复 —
he export cypher的输出此前无法导入 Neo4j/Memgraph:语句缺少;结束符(cypher-shell 会把整个文件当成一条查询),且单条语句内变量重复声明(第二个节点起报Variable 'n' already declared)。现在每个节点/边/超边都是独立的;结尾语句,超边成员使用位置别名(n0、n1…)。(#174) - 🧹 一致性 —
AutoList/AutoModel未建索引时抛标准的ValueError建索引提示,替代裸Exception。(#175)
v0.10.2 — 范围对话、方法选型指南与持久化修复¶
- 💬 范围对话 —
he talk --source/--tag(及ka.chat)可将上下文限定在已标注/打标签的文档内,对不支持的类型自动能力探测。(#161, #160) - 📖 方法选型 — 新增"基线 vs 结构化"选型指南,以及同语料
chunk_ragvsgraph_rag的并排对比示例(含成本/延迟)。(#162, #163 —— #117 的前两步) - 🏗️ 内部改进 —
GraphIndexMixin抽取 graph/hypergraph 共享的合并/索引/检索面(净删 168 行)。(#145) - 🐛 修复 — 时空图谱 observation 上下文现在能跨 dump/load 保留(此前静默丢失);MCP 加载失败以工具结果返回,不再炸掉 stdio 会话;
he config init不再为纯 LLM provider 写入同源坏嵌入器;Cog_RAG.chat透传source_ids/tags;he list --lang zh保留方法模板;document 模板增加输出结构校验;CLI banner 列出 jsonld/cypher。(#167, #169, #165, #171, #159, #173, #155) - 📚 文档 — 解决 MCP 文档残留冲突标记;JSON-LD/Cypher 章节排版修复;索引布局说明按类型区分;Gemini provider 指南。(#149, #151, #153, #157)
v0.10.1 — 索引存储脱离 pickle¶
- 🔒 安全的索引格式 —
AutoModel/AutoList的索引改为 JSON 存储(index.json:向量 + 文档),加载时在内存中重建——没有 pickle,不执行任何代码。旧 pickle 索引(<= v0.10.0)仍可加载但会给出警告;he build-index --force即可迁移。(#116)
v0.10.0 — 更多导出格式、Gemini 与质量加固¶
- 📤 JSON-LD 与 Cypher 导出 —
he export jsonld(二元边 + GraphML 风格超边)与he export cypher(Neo4j 兼容 MERGE 脚本;N 元边编码为 Hyperedge 节点,不做有损团 expansion)。(#139, #141) - 🔌 MCP 导出对齐 —
he-mcp新增export_graphml、export_csv、export_jsonld、export_cypher工具;MCPlist_templates包含方法模板、info与 CLI 一样展示 chunks/时间戳/来源。(#106, #131, #133, #144) - 📄
he feed支持目录 — 与he parse对齐:逐文件来源标注、相同的跳过/警告行为。(#135) - 🧠 原生 Gemini 支持 — 此前未接线的
[google]extra 已接入create_llm:pip install "hyperextract[google]"。(#137) - 🏗️ 内部改进 —
GraphIndexMixin抽取 graph/hypergraph 共享的合并/索引/检索面(净删 168 行);全部注册方法的契约测试;测试矩阵加入 Windows。(#112, #108, #145) - 🛡️ 加固 — chunk 参数解析期校验(
chunk_overlap < chunk_size);relation_members必须含source/target角色;Windowsconfig.tomlACL 收紧到当前用户;FAISS 反序列化警告。(#91, #92, #110, #94) - 🐛 修复 — 超图范围检索透传;
he search打印节点/边而非原始元组;MCPsearch不再因三元组崩溃;GraphML 导出尊重--force。(#90, #144)
v0.9.1 — 范围检索补全与校验器加固¶
- 🐛 修复 — 超图
search透传 scope(此前丢弃source_ids/tags);AutoSet 溯源端到端接通(记录/标签/回滚/持久化);Graph_RAG/Cog_RAGscope 转发;无账本类型上范围检索给出明确报错。
v0.9.0 — 丰富的文档输入与 chunk_rag 基线¶
- 📄 丰富的文档输入 —
he parse/he feed现在支持 PDF、Word、PowerPoint、Excel、HTML、CSV/JSON/XML、EPUB 等格式,安装可选依赖即可启用(pip install "hyperextract[ingest]",由 MarkItDown 驱动)。非 UTF-8 文本(GBK 等)自动识别编码;无文字层的扫描版 PDF 会给出明确的 OCR 提示,而不是静默摄入乱码。 - 🧱
chunk_rag基线方法 — 全新的零提取方法:文档直接分块并向量化,检索返回原始文本块。摄入零 LLM 成本,且具备完整溯源能力(标签、范围检索、按文档回滚)。语料问答与方法对比的块检索基线。 - 🐛 修复 —
he tag在所有知识库上都会崩溃(tag_source此前从未在任何类型上实现);he search/he talk/he feed/he remove --document在方法型知识库上会崩溃(method/*模板无法从元数据解析)。
v0.8.1 / v0.8.2¶
- 🏷️ 来源标签与范围检索 —
he tag ./ka/ --source doc-1 --add legal,然后he search ./ka/ "query" --tag legal即可只在已标注文档范围内检索。适用于 graph、hypergraph 和 set。(#89, #84) - 🛡️ 输入类型校验 —
he parse/he feed现在会拒绝不支持的文件类型并给出转换提示,而不是静默摄入乱码。(#88) - 📦 文档存档修复 — 同一来源换文件名重喂不再积累陈旧副本。(#89)
v0.8.0¶
- 🔄 文档级 Upsert — 对已标注的文档重新喂入时,旧版本贡献自动回滚:删除的事实消失,共享键从幸存来源重新合并。(#84)
- 📁 逐文件来源标注 —
he parse ./docs/自动按文件名标注来源;之后可回滚或审计任意单个文件。显式--source仍然优先。 - ⏱️ 时空溯源 — 时间/空间/时空图谱完整支持来源标注与回滚,并通过确定性的(MERGE_FIELD)回放测试。
v0.5.0 – v0.7.0¶
- 🗑️ 两级知识删除 — 按键硬删(
he remove --node/--edge,孤立边自动修剪),或通过 LLM 辅助编辑删除单条错误事实(he remove --edit-node --fact),支持 dry-run、键不变性检查与自动备份。(#84) - 📜 来源标注与溯源 —
he feed --source/he parse --source记录每个文档的原始贡献;he remove --document精确回滚单个文档的贡献;he info --sources展示来源账本。(#84) - 📈 全面增量 — feed/parse/删除/编辑均原地修补向量索引(仅重嵌入受影响的向量);内容哈希未变的文档自动跳过(
--refeed强制)。(#84) - 🧪
he template validate— 在为 LLM 调用付费之前发现模板语义错误:9 条诊断规则、--json输出接入 CI、--all扫描目录。(#77) - 📊 GraphML 与 CSV 导出 — 对接桌面图工具与表格软件;超图导出超边表。(#85)
- 🌐 OrcaRouter Provider — 一个 key 接入 150+ 模型(
create_client("orcarouter"))。(#71) - 🔐 配置文件权限 —
~/.he/config.toml以0600权限保存。(#86) - 🔗 Obsidian 双链修复 — 别名不再因
[ ] | # ^等字符出错。(#87) - 🛡️ Chunk 级故障隔离 — 单个 chunk 失败不再丢弃整个多 chunk 提取结果。(#78)
- ⚡ MCP Python SDK 2.x —
he-mcp同时兼容 mcp 1.x 与 2.x。(#72, #82) - 🔀 有向边修复 — 保留
(source, target)顺序;支持自定义端点字段名。(#74) - 🔑 DeepSeek API Key 修复 — OpenAI 兼容路径下正确识别
DEEPSEEK_API_KEY。(#76) - 🎓 教育领域模板 —
course_concept_graph+curriculum_structure。(#80) - 🧭 其他修复 — Graph_RAG.search 三元组;
he talk -i --top-k;引导与文档整体翻新。(#70, #73, #57)