semantica
AI 原生知识图谱框架,为 AI 系统构建可审计、可溯源、可解释的记忆与决策层
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 原生知识图谱框架,为 AI 系统构建可审计、可溯源、可解释的记忆与决策层
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:你让一个 AI 助手回答「特斯拉 2024 年第四季度在中国市场的毛利率变化及背后原因」,AI 给出了一段流畅的回答——但你怎么知道它没有胡编?它的信息来自哪里?引用了哪些原始文档?如果两篇文档的说法互相矛盾,它是如何判断的?
Semantica 正是为解决这些问题而生的框架。它为 AI 系统构建了一个「可审计的记忆层」,让每一个 AI 决策都有迹可循、可供溯源、可被解释。
图 1:Semantica 项目 Logo
当前主流的 RAG(检索增强生成)系统往往只做简单的向量相似度匹配——将用户问题 embedding 后,从文档库中拉取最相关的几个文本片段,喂给 LLM 生成答案。这种方式存在三个核心缺陷:
第一,信息来源不透明。 用户无法知道答案引用了哪篇文档,也无从验证。
第二,缺乏上下文关联。 孤立的知识片段无法形成推理链条,AI 对复杂的多跳问题(如「A 与 B 的关系如何影响 C」)无能为力。
第三,冲突检测缺失。 当多个数据源给出矛盾信息时,传统 RAG 无法发现和解决冲突。
Semantica 由 Hawksight AI 团队开发,正是瞄准这三个痛点,提出了「Context & Accountability Layer for AI Systems」的定位。团队将项目的开发状态标记为「Production/Stable」,已获得 1216 颗 GitHub Stars,185 个 Fork,体现了开源社区对其方向的认可。
根据 ARCHITECTURE.md 中的完整数据流程图,Semantica 的核心是一个从数据源到最终输出的六层处理管线:
Semantica 支持从多种数据源批量导入知识,覆盖了企业数据场景的绝大多数需求:
每种数据源都有对应的 Ingestor 处理器,以统一接口将数据注入 Raw Documents 层。
Raw Documents 进入 Parse 阶段,由 DocumentParser 处理非结构化文档,StructuredDataParser 处理表格数据,CodeParser 解析代码文件,WebParser 提取网页内容,EmailParser 解析邮件。
解析完成后进入 Normalize 层,通过 TextNormalizer、EntityNormalizer、DateNormalizer、NumberNormalizer、DataCleaner 对文本进行清洗、统一格式、规范化实体名称和日期表达。
这一层支持多种切分策略:entity_aware(实体感知切分)、relation_aware(关系感知切分)、graph_based(图结构切分)、ontology_aware(本体感知切分)和 hierarchical(层次化切分)。这解决了传统固定长度切分破坏语义完整性的问题。
这是 Semantica 的核心能力层,提供了五类抽取器:
当多个数据源对同一事实给出不同表述时,ConflictDetector 会识别冲突并记录。Reasoning Engine 则基于抽取的三元组和冲突记录进行逻辑推理,支持链式推理(Chain of Thought)、树状推理和混合策略,最终生成可解释的推理路径。
Semantica 采用混合存储架构:
项目包含一个基于 Vue 3 + TypeScript + Vite 构建的前端应用(explorer 目录),提供了图谱的可视化界面。Dockerfile 中将其打包为静态资源,由后端 uvicorn 服务托管,监听 8000 端口。
npm run build → 静态资源 → COPY 到 Python 镜像 → uvicorn 托管
这种前后端分离但统一部署的方式降低了使用门槛,用户拉起容器后即可通过浏览器访问图谱可视化界面。
mcp/ 目录实现了 MCP 协议服务端,这意味着 Semantica 可以作为 MCP 资源提供方,供 Claude Code、Cursor 等支持 MCP 的 AI 工具直接调用知识图谱能力。这是一种优雅的集成方式——AI 工具无需了解 Semantica 的内部实现,只需通过 MCP 协议查询图谱数据。
支持 Chain、Tree、Hybrid 三种推理策略。这是区别于普通 RAG 的核心差异:系统不仅检索相关知识,还能基于知识图谱进行多跳逻辑推理,给出可追溯推理路径的答案。
在企业场景中,数据是动态变化的。Change Management 模块追踪知识图谱的版本变更,支持回溯到任意时间点的知识状态,确保 AI 回答与数据版本的一致性。
基于 W3C PROV 标准追踪每一条知识的来源——它来自哪篇文档、由哪个 Ingestor 导入、在哪个版本被修改过。这使得 AI 的每一个答案都能精确回溯到原始数据。
| 层次 | 技术选型 |
|---|---|
| 核心语言 | Python 3.8+ |
| 图数据库 | FalkorDB |
| 向量存储 | Chroma / Pinecone |
| 推理引擎 | 自研(Chain/Tree/Hybrid) |
| 前端 | Vue 3 + TypeScript + Vite |
| Web 服务 | Uvicorn(ASGI) |
| 数据格式 | Apache Arrow(高性能列式格式) |
| 包管理 | Poetry / setuptools |
Semantica 提供了完整的容器化支持。Dockerfile 采用多阶段构建:前端通过 Node 26 Alpine 构建 Vue 应用,后端基于 Python 3.14-slim 运行,通过 pip install ".[explorer]" 自动安装前端资源。docker-compose.yml 仅需一条命令即可拉起 Semantica + FalkorDB 组合:
docker-compose up -d
# 访问 http://localhost:8000 即可使用
预计部署时间 5-10 分钟,无需 GPU,适合大多数开发环境。
值得客观指出的是,Semantica 作为新兴项目,仍存在一些需要关注的点:
首先,生态尚在成熟中。 虽然已支持多种数据源接入,但与主流知识图谱框架(如 Neo4j、GraphDB)的生态相比,插件体系还在建设中。企业级生产部署需要更多的稳定性验证。
其次,推理能力依赖 LLM 质量。 Semantica 的知识抽取和推理引擎底层依赖 LLM API(支持 Claude、OpenAI 等),在网络受限或 API 成本敏感的场景下实用性受限。
第三,社区规模有限。 1216 Stars 在知识图谱类项目中属于中等体量,但相比 LangChain(139k Stars)差距明显,第三方插件和教程资源相对稀缺。
Semantica 代表的「AI 可审计性」方向正在成为行业共识。随着 AI 在医疗诊断、法律咨询、金融分析等高风险领域的渗透,各国监管机构对 AI 决策可解释性的要求日益严格——欧盟 AI Act 就明确要求高风险 AI 系统必须提供决策解释。
Semantica 通过知识图谱 + 溯源追踪 + 冲突检测的组合,为构建「可解释 AI 系统」提供了一条可行的工程路径。其 MCP Server 的支持也体现了与主流 AI 开发工具链融合的趋势。未来随着社区生态的扩展,有望成为 AI Agent 可审计性的基础设施组件。