RepoDaily · 2026-08-11 · Self-hosted app

Semantica:让 AI 智能体可审计的图原生基础设施

#3 Self-hosted app Python +967 semantica-agi/semantica 打开仓库

开源、可自部署的 Python 平台,为 AI 智能体提供结构化记忆、决策溯源和推理透明度,面向医疗、金融和法律等受监管领域。

项目类型Self-hosted app
最适合受监管行业的工程团队,需要解释、回放和审计 AI 智能体在任何时间点知道什么、为什么做出某个决策
风险等级中等 — 项目处于早期阶段(v0.6.0),可选依赖面广,存储和溯源子系统有活跃的未发布变更
评估时间基于模式抽取的 Quickstart 流程约需 30–60 分钟;将智能体上下文和溯源集成到现有技术栈约需 2–3 天

核心问题: 你现有的 AI 技术栈能否回答监管者的问题:智能体当时知道什么、每个事实从哪来、为什么做出这个决策?

91/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 91/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 中
100证据质量

包含 5 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 7 个工作流步骤、5 个下一步动作,以及 2 个命令/安装信号。

68维护可信度

趋势热度为 +967 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

93生产准备度

采纳风险标记为 medium,并包含 5 条安全说明与 5 条跳过条件。

100差异化

3 个机会视角、4 个替代方案,以及 4 个类型化模块支撑差异化判断。

68许可证清晰度

文章中包含许可证来源或许可证表述。

90Agent / AI 适配度

文章正文和元数据中检测到 8 个 AI/Agent 相关信号。

项目概览

Semantica 是一个基于 Python、采用 MIT 许可证的平台,定位为现有智能体框架下方的「问责与上下文层」。它不替代 LangChain 或 LlamaIndex,而是在其下方运作——摄入企业数据、抽取实体和关系、构建可查询的 Context Graph 和知识图谱,并附带完整的决策溯源。README 将其称为「面向 AI 智能体的开源 Palantir」,目标直指医疗、金融、法律和政府部门中因合规阻塞而无法上线 AI 的团队。

平台针对文档中识别的现代智能体技术栈的五个结构性缺陷:没有记忆结构(存储的是嵌入而非语义)、没有决策记录、没有从输出到来源的溯源、没有推理透明度、以及向量库中矛盾事实共存时的冲突检测缺失。每一个缺陷都被定义为合规阻塞项——而非功能需求。

Semantica 与典型知识图谱库的区别在于它在基础设施层面内置了时间模型和溯源建模。每个节点和边都带有 valid_from / valid_until 时间戳。每个决策是通过 record_decision() 捕获的一等对象,附带因果链和先例搜索。每个事实在 W3C PROV-O 标准下链接到其源文档和摄入事件。推理引擎——前向链式、Rete、演绎、溯因、带递归 Horn 子句的 Datalog——各自产生可追踪的推导路径。

在本期 trending 中获得 967 星和第 3 名排名,Semantica 正在需要自部署、可审计 AI 基础设施的开发者中获得关注。项目发布在 PyPI 上,支持 Python 3.8+(推荐 3.11+),基础环境仅需 4 GB 内存和 2 GB 存储空间,推荐配置为 16 GB 内存和 20 GB 存储空间。

解决什么问题

  • 智能体存储的是嵌入而非语义——无法追问某个事实为什么被召回,也无法将其链接回源文档
  • 没有决策记录——监管者和审计员无法回放或重现过去的智能体决策,调试意味着重新运行而非审查
  • 输出无法追溯到源事实——在医疗、金融和法律领域,这是硬性合规阻塞
  • 黑盒答案不提供推理路径来验证、质疑或改进——无法系统地纠正未来行为
  • 矛盾事实在向量库中静默共存,没有冲突检测,随着知识库增长,输出变得不一致且不可预测

工作原理

  1. 通过 pip install semantica 安装,或使用 pip install semantica[all] 安装所有可选依赖(包括 GPU、可视化和 LLM 提供商扩展)。
  2. 使用 FileIngestor 摄入数据——文档展示了从 PDF 文件作为流水线入口的过程。
  3. 使用 DocumentParser 解析摄入的源数据,为抽取准备文本。
  4. 使用 NERExtractor(method="pattern") 进行无需 API 密钥的模式抽取,或切换到基于 LLM 的抽取以获得更高精度。
  5. 使用 GraphBuilder(merge_entities=True) 构建知识图谱,从抽取的实体和关系生成结构化节点和边。
  6. 使用 SPARQL 或图算法查询生成的 Context Graph,支持对历史图谱状态的时间点查询。
  7. 通过 record_decision() 捕获决策,存储完整因果链,并使用 analyze_decision_impact() 分析下游影响。

产品演示与界面预览

Semantica Knowledge Explorer: 实时图、决策、实体消歧、本体中心
Semantica Knowledge Explorer 演示 — Knowledge Explorer 界面展示实时图渲染、决策追踪和实体消歧——这是展示 Semantica 如何向终端用户呈现结构化知识的主要可视化。 README.md image

试用路径:从 pip install 到可查询图谱

  • 核心安装:pip install semantica——需要 Python 3.8+,推荐 3.11+
  • 验证:python -c "import semantica; print(semantica.__version__)"——当前文档引用 v0.6.0
  • Quickstart 流程执行 摄入 → 解析 → 抽取 → 构建 → 可视化 → 导出,使用模式抽取在 5 分钟内完成
  • Quickstart 不需要 API 密钥;LLM 抽取为可选项,用于更高精度
  • 可选扩展:semantica[gpu](PyTorch CUDA、FAISS GPU、CuPy)、semantica[viz](PyVis、Graphviz、UMAP)、semantica[llm-ollama] 用于本地 LLM 推理
  • 最低系统要求:4 GB 内存、2 GB 存储;推荐:16 GB 内存、20 GB+ 存储

架构解读:核心 API 与存储后端

Semantica 的流水线围绕可组合的 Python 模块构建:semantica.ingest.FileIngestor、semantica.parse.DocumentParser、semantica.semantic_extract.NERExtractor 和 RelationExtractor、semantica.kg.GraphBuilder,以及由 ContextGraph 和 VectorStore 支撑的 semantica.context.AgentContext。VectorStore 支持 FAISS 后端,维度可配置(文档示例使用 dimension=768)。

在存储方面,TripletStore 支持多种后端,未发布的 OxigraphStore 通过可选的 pyoxigraph 依赖(>=0.5.0)添加了进程内 SPARQL 1.1 存储。这消除了对外部服务器(Blazegraph、Jena、RDF4J 或 Anzo)的需求,默认完全在内存中运行,可选通过 TripletStore(backend="oxigraph", path=...) 持久化到本地目录。该导入是惰性的,因此即使未安装 pyoxigraph,Semantica 的其余部分仍可正常工作。

溯源由 ProvenanceManager 管理,在未发布的变更(#825)中增加了基于失效的逻辑删除(而非硬删除)、通过 sequence_id 和 previous_checksum 字段的哈希链完整性,以及类型化的 AgentRecord 和 ActivityRecord 对象。新的 verify_chain() 方法遍历插入顺序链并报告断裂,包括直接从底层表中硬删除的行。

维护风险:版本阶段与活跃的核心变更

  • 当前文档版本为 v0.6.0——处于 1.0 之前,意味着 API 可能在版本间变动
  • Windows [all] 安装失败已在 v0.5.0 中修复;Windows PyTorch DLL 错误仍需要手动安装 Microsoft Visual C++ Redistributable 作为系统依赖
  • 两个重要的未发布 PR(#838、#825)修改了核心 TripletStore 和 ProvenanceManager 子系统,包括对溯源存储语义的破坏性变更
  • Oxigraph 集成测试尚未在 CI 中执行,因为未安装可选扩展
  • 项目列有 CI 徽章并遵循 Keep a Changelog 格式和语义版本控制,但可选后端的测试套件似乎不完整

集成面:Semantica 的连接点

  • 不替代 LangChain 或 LlamaIndex——作为上下文和问责层位于其下方
  • LLM 提供商扩展:OpenAI、Anthropic、Google Gemini、Groq 和 Ollama(本地)
  • MCP Server 集成,可从 Claude Desktop 或 VS Code 使用
  • 云存储扩展:AWS S3、Azure Blob、Google Cloud Storage
  • 导出到 OWL-Time 用于时间溯源;W3C PROV-O 合规的跨模块谱系
  • SPARQL 1.1 查询支持 SELECT、ASK、CONSTRUCT 和 DESCRIBE 结果映射

谁适合关注

适合关注

  • 合规团队因无法追踪智能体输出到源文档而阻塞了 AI 部署
  • 你需要智能体做出决策时知道什么的时间点快照——而不仅仅是最终嵌入
  • 你的知识库包含来自不同来源的矛盾事实,需要冲突检测而非静默共存
  • 你希望 GraphRAG 中的每个声明都链接回源节点,而非不透明的检索结果
  • 你偏好零供应商锁定的自部署基础设施来处理敏感企业数据

可以先跳过

  • 你需要生产级 1.0 API 契约——Semantica 处于 v0.6.0,核心子系统有活跃变更
  • 你的用例是简单的 RAG,不涉及监管、审计或溯源需求
  • 你无法承担内存开销——推荐 16 GB,GPU 可选扩展还会增加显著负担
  • 你需要托管云服务而非自部署基础设施
  • 你的团队没有图查询经验——SPARQL 和图算法是有效使用该平台的核心技能

风险与注意事项

Semantica 功能丰富且文档完善,但处于 1.0 之前阶段,有两个重要的未发布 PR 正在修改核心存储和溯源子系统。可选依赖面广,CI 尚未覆盖所有可选后端测试。

  • 版本 v0.6.0 处于 1.0 之前——虽然承诺语义版本控制,但在此阶段仍预期有破坏性变更
  • 未发布 PR #825 将溯源存储语义从硬删除改为失效逻辑删除,影响任何已写入的数据
  • 未发布 PR #838 添加了新的 Oxigraph 后端,其集成测试在未安装 pyoxigraph 时被跳过,且尚未在 CI 中运行
  • 可选扩展([gpu]、[llm-all]、[cloud])引入了庞大的依赖树,可能与现有环境冲突
  • Windows [all] 安装有已知失败,仅在 v0.5.0 中修复,PyTorch DLL 错误仍需手动安装系统依赖
  • 可自部署,零供应商锁定——数据不离开你的基础设施
  • MIT 许可证允许商业使用、修改和再分发
  • 溯源条目通过哈希链(sequence_id / previous_checksum)连接,可通过 verify_chain() 检测篡改或删除
  • 基于失效的逻辑删除在稳定版本化键下存档失效前状态——审计员可以证明某个事实存在过、被审查过、被撤回过
  • W3C PROV-O 合规的从原始输入到最终推理的谱系,适用于 HIPAA、SOX、GDPR 和 FDA 21 CFR Part 11 审计场景

替代方案比较

方案适用场景代价
Neo4j + LangChain
你需要成熟的图数据库、广泛的社区支持,且已使用 LangChain 做编排,但不需要内置溯源或决策追踪Neo4j 社区版免费;企业版需要商业许可
LlamaIndex
你的主要需求是构建 RAG 流水线和文档索引,不需要 Semantica 增加的溯源和问责层开源(MIT)
Apache Jena + Fuseki
你需要久经考验的 RDF/SPARQL 技术栈,并愿意自行构建智能体上下文和决策追踪层开源(Apache 2.0)
Palantir Foundry
你有预算购买商业平台,需要集成的本体管理和托管方案,而非自部署基础设施商业企业定价

这个趋势说明了什么

因溯源问题停滞的受监管行业试点

文档明确指出医疗、金融、法律和政府是 AI 试点停滞的市场,因为合规团队无法追踪输出到来源。Semantica 的 PROV-O 合规谱系通过 recorded_at 时间戳和 OWL-Time 导出直接应对阻塞部署的 FDA 21 CFR Part 11 和 HIPAA 审计要求。

在真实监管文档样本上运行 6 步流水线,验证每个抽取的实体和关系是否通过 record_decision() 和溯源链链接回其源文档和摄入事件。

无黑盒检索的 GraphRAG

标准 RAG 从向量库返回文本块,检索到的事实之间没有结构关系。Semantica 的 GraphRAG 将每个 LLM 声明锚定在 Context Graph 中可追踪的源节点上,实现了纯向量系统无法提供的事实核查和冲突检测。

从文档语料构建 Context Graph,运行 GraphRAG 查询,验证每个响应声明是否映射到具有 valid_from / valid_until 时间元数据的特定图节点。

多源知识库的冲突检测

文档指出矛盾事实在向量库中静默共存,没有检测机制。Semantica 的冲突检测识别两个来源何时不一致,防止知识库增长时输出不一致。

摄入两份包含关于同一实体矛盾声明的文档,确认 Semantica 标记冲突而非静默存储两者。

下一步建议

5 分钟内运行基于模式的 Quickstart

从文档中的 Quickstart 流程开始,观察 Semantica 摄入文档、在无 API 密钥的情况下抽取实体、并构建可查询图谱。这能在深入集成之前验证核心价值主张。

  1. 在 Python 3.11+ 的全新虚拟环境中 pip install semantica
  2. 验证安装:python -c "import semantica; print(semantica.__version__)"
  3. 按照入门文档中的知识图谱选项卡操作:使用 FileIngestor 处理示例 PDF,NERExtractor(method="pattern") 进行无密钥抽取,GraphBuilder(merge_entities=True) 构建图谱
  4. 对生成的 Context Graph 运行 SPARQL 查询,验证实体和关系结构
  5. 如果图谱正确,通过 AgentContext(decision_tracking=True)添加决策追踪,并对示例智能体操作调用 record_decision()

RepoDaily 判断

Semantica 解决了大多数智能体框架忽视的问题:让每个事实、决策和推理步骤都可追溯到来源。在 v0.6.0 阶段,核心溯源和存储子系统仍有活跃变更,尚未成为可安全锁定的生产依赖——但对于受监管领域中反复听到合规团队说「还不行」的团队来说,它是目前最完整的问责缺口开源解决方案。

信息来源