Hypabase
    ](https://pypi.org/project/hypabase/)
一个具有出处和SQLite持久性的Python超图库。
安装
uv add hypabase快速示例
from hypabase import Hypabase
hb = Hypabase("my.db")
# One edge connecting five entities
hb.edge(
["dr_smith", "patient_123", "aspirin", "headache", "mercy_hospital"],
type="treatment",
source="clinical_records",
confidence=0.95,
)
# Query edges involving a node
hb.edges(containing=["patient_123"])
# Find paths between entities
hb.paths("dr_smith", "mercy_hospital")特性
- 超边 --边以单个关系连接2+个节点
- 来源 --每条边都有
source和confidence - SQLite持久性 --数据会自动保存到本地文件
- O(1)顶点集查找 --通过精确的节点集查找边
- 命名空间隔离 —
.database("name")用于单个文件中的范围视图 - 来源查询 --过滤条件
source和min_confidence,总结如下sources() - 内存MCP服务器 --7个AI代理持久记忆工具(记住、回忆、忘记、巩固、连接、谁知道什么、解决冲突)
- 命令行界面 —
hypabase init,hypabase node,hypabase edge,hypabase query
来源
每一条边都承载着 source 和 confidence:
hb.edge(
["patient_123", "aspirin", "ibuprofen"],
type="drug_interaction",
source="clinical_decision_support_v3",
confidence=0.92,
)
# Bulk provenance via context manager
with hb.context(source="schema_analysis", confidence=0.9):
hb.edge(["a", "b"], type="fk")
hb.edge(["b", "c"], type="fk")
# Query by provenance
hb.edges(source="clinical_decision_support_v3")
hb.edges(min_confidence=0.9)
# Overview of all sources
hb.sources()命名空间隔离
将数据隔离到单个文件中的单独命名空间中:
hb = Hypabase("knowledge.db")
drugs = hb.database("drugs")
sessions = hb.database("sessions")
drugs.node("aspirin", type="drug")
sessions.node("s1", type="session")
drugs.nodes() # -> [aspirin]
sessions.nodes() # -> [s1]超图是什么?
在正则图中,边恰好连接两个节点。在超图中,一条边——称为 超边 --可以同时连接任意数量的节点。
考虑一个医疗事件: *史密斯医生在仁慈医院为123号病人开了阿司匹林治疗头痛。* 在传统的图中,你会把它分成二元边——医患、医生药物、患者医院——它们属于一个事件的事实变成了一种推理,而不是一种结构。超图原生存储了这一点:一条边连接所有五个实体。
这很重要,因为现实世界的关系往往涉及两件以上的事情。一篇论文有三到四位作者,而不是一位。交易涉及买方、卖方、产品和付款方式。化学反应的两边都有试剂和产物。将它们强制成对意味着分组变得隐含。
为什么来源?
当关系来自不同的来源时——手动输入、LLM提取、传感器数据、临床记录——你需要知道每个关系的来源以及你对它的信任程度。Hypabase在每条边上都有两个字段来跟踪这一点: source (标识来源的字符串)和 confidence (从0到1的浮点数)。您可以通过这些字段过滤查询,并使用以下命令获取图表中所有来源的摘要 hb.sources().
超图出现的地方
- 知识图 --无需分解即可表示复杂的现实世界关系
- 代理内存 --用于跨会话持续存在的AI代理的结构化、可查询内存
- 生物医学数据 --药物相互作用、临床事件、分子途径
- RAG管道 --存储提取的关系以用于检索增强生成
- 供应链、协作网络和任何地方的关系都涉及两件以上的事情
更广泛的想法源于人工智能研究,可以追溯到OpenCog的 原子空间,它使用类似超图的结构来表示AGI的知识。最近的研究将超图专门应用于检索和推理:
- HyperGraphRAG --跨医学、农业、计算机科学和法律的n元知识检索
- Cog RAG --主题级和实体级召回的双超图检索
- 用于多步RAG的Hypergraph内存 --基于超图的长上下文关系建模记忆
MCP服务器
Hypabase包括一个带有7个工具的内存MCP服务器,因此AI代理可以将其用作结构化的持久内存。适用于Claude Code、Claude Desktop、Cursor、Windsurf和任何兼容MCP的客户端。
uv add hypabase
hypabase-memory命令行界面
uv add hypabase
hypabase init
hypabase node dr_smith --type doctor
hypabase edge dr_smith patient_123 aspirin --type treatment --source clinical_records
hypabase query --containing dr_smith
hypabase stats文档
许可证
Apache 2.0
