资讯动态

智能合并与去重:Hyper-Extract 增量更新如何优雅处理冲突

发布时间:2026/9/16 13:07:31 来源:尧图企业网站定制
智能合并与去重Hyper-Extract 增量更新如何优雅处理冲突【免费下载链接】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-ExtractHyper-Extract是一个用大模型把非结构化文本转化为结构化知识的开源工具支持图谱、超图与时空抽取。对于长期维护知识库的用户来说最头疼的往往不是首次提取而是增量更新新文档来了旧知识怎么办重复实体如何去重新旧信息冲突如何取舍Hyper-Extract 用feed_text()增量投喂 智能合并Smart Merge 基于来源的回滚机制把这三件事一次性解决了。增量更新为什么如此重要传统做法是每来一批新文档就推倒重来全部重新提取。问题很明显❌ 重复消耗 LLM 调用费用❌ 已有的搜索结果、索引全部失效❌ 新旧信息撞车时缺少可控的冲突策略Hyper-Extract 的答案是Parse 与 Feed 分离操作命令/方法适用场景结果首次提取he parse/parse()从零开始生成新知识库增量追加he feed/feed_text()向现有知识库加文档合并进已有知识库相关实现位于 hyperextract/types/base.pyfeed_text()会直接把新数据合并进当前实例并自动更新updated_at元数据还支持链式调用ka.feed_text(a).feed_text(b)。一条命令开始追加he feed 快速上手装好 Hyper-Extract 并配置好模型后追加文档只需要一条命令# 向已有知识库追加新文档 he feed ./output/ new-document.mdCLI 层在 hyperextract/cli/cli.py 中读取文档、调用feed_text()随后自动保存并重建搜索索引全程无需手动干预。Python API 的用法同样直白from hyperextract import Template ka Template.create(general/biography_graph, zh) ka ka.parse(initial_text) # 首次提取 ka.feed_text(additional_text) # 增量追加自动合并 ka.build_index() # 重建搜索索引智能合并如何工作三种冲突场景增量更新的核心是合并策略。Hyper-Extract 针对三类典型冲突分别处理1️⃣ 实体合并同名人自动归一如果苏轼在两份文档中都出现系统会按标识符key识别为同一节点——描述合并、字段组合而不是创建两个重复节点。2️⃣ 关系合并新信息覆盖旧值如果苏轼—创立—东坡书院这条关系已存在新文档中的版本会用最新信息更新避免旧数据赖着不走。3️⃣ 重复处理完全重复直接合并完全重复的条目自动去重相似但不完全相同的实体如苏轼与苏东坡会保留为独立条目由用户通过统一的命名规范来避免歧义。具体合并逻辑由各自动类型实现图类型hyperextract/types/graph.py 中节点与边分别走独立的node_merger/edge_merger日志中会输出合并前后的数量对比方便排查去重效果集合类型hyperextract/types/set.py 通过key_extractor提取唯一键后交给 Merger 统一去重模型类型hyperextract/types/model.py 提供 4 种可配置的合并策略去重与冲突解决4 种 MergeStrategy 可选字段级冲突怎么取舍Hyper-Extract 借用了 OntoMem 的合并策略体系你可以在模板/类型层面选择策略行为适合场景MERGE_FIELD非空字段覆盖、列表追加纯字段拼接零 LLM 成本LLM.BALANCEDLLM 综合两个版本平衡取舍描述性文本需要润色合并LLM.PREFER_EXISTINGLLM 合成时偏向旧数据旧数据已人工校对过LLM.PREFER_INCOMINGLLM 合成时偏向新数据新文档是权威修正版去重的可靠性可以通过测试用例直观感受例如 tests/types/test_set_dedup.py 验证了同一term键的两次添加最终只保留 1 个条目而不同键的条目互不影响。进阶玩法来源回滚Upsert 语义这是 Hyper-Extract 增量更新最有意思的能力——同 source 重喂旧事实自动回滚# 来源文档更新了带上 --source 重喂 he feed ./output/ updated-sushi.md --source sushi.md原理见 hyperextract/types/graph.pyfeed_text()支持source_id溯源标记每次提取的原始结果都会登记到来源账本中。当同一个 source 再次被投喂时系统先回滚该来源的旧贡献再合并新版本——意味着你在更新文档里删掉的事实不会残留在知识库里。最佳实践清单保持模板类型一致—parse和feed使用同一模板如都用general/biography_graph混合类型可能引发结构冲突Feed 后务必重建索引—ka.build_index()he feed已自动执行否则语义搜索会读到过期数据保存中间状态— 大更新后用ka.dump(./kb_v1/)分版本持久化出问题可回退监控知识库增长— 记录 feed 前后的节点数量观察合并是否正常收敛统一实体命名— 避免苏轼/苏东坡这类相似名产生重复条目总结Hyper-Extract 的增量更新机制把智能合并 键去重 来源回滚三层能力整合进了简单的feed操作重复条目自动归一、冲突字段可按策略取舍、过时事实随来源更新自动清除。对于需要持续喂养新知识的企业知识库、学术文献库或个人笔记图谱这是一套开箱即用、且完全可控的冲突处理方案。延伸阅读增量更新完整指南docs/zh/python/guides/incremental-updates.mdfeed 命令文档docs/zh/cli/commands/feed.md自动类型详解docs/zh/concepts/autotypes.md【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价