Semantica
semantica-agi/semantica
访问 GitHub ↗
一句话简介
Semantica 是一个基于 Python 的语义化开源项目,致力于提供语义理解与智能处理能力,帮助开发者构建具备语言理解功能的应用。
标签
适用应用场景
- 构建语义搜索系统
- 实现智能问答与对话
- 文本语义分析与推理
- 知识图谱构建与应用
README 中文摘要
项目概述
Semantica 是面向 AI Agent 的图原生基础设施,作为确定性中间层部署在大语言模型、向量库与智能体框架之下。系统摄入企业级原始数据后,抽取实体、关系与事件,构造上下文图与知识图谱,进而执行图算法推理与因果分析,并对每一条决策保留完整溯源链路。在金融、医疗、法律、政府等强监管领域,平台直接回答监管机构追问的"AI 为什么这样做",输出可审计、可追溯、可解释的决策证据。
核心特性
- 上下文图:将 Agent 所知、所决、所推理的对象建模为可查询的图节点,取代扁平嵌入。
- 决策智能:每一次 AI 选择都是一等图对象,可按先例检索,可因果追溯,可导出为 W3C PROV-O。
- 本体与治理:内置 SHACL 约束、冲突检测、合规规则、OWL 生成与 SKOS 词表管理。
- 确定性推理:前向链、Rete 网络、Datalog、SPARQL 推理全程可解释。
- 知识流水线:多源摄入、实体感知分块、命名实体识别 / 关系抽取 / 事件抽取、语义去重与冲突消解。
- 企业数据平台连接器:原生支持 Databricks(Unity Catalog + Delta Lake,PAT 与 OAuth M2M 鉴权)与 Snowflake(仓库 / 数据库 / 模式,密钥对与 OAuth 鉴权)。
- 图分析:中心度、社区发现、链路预测与最短路径查询。
- 多语言图存储:RDF(嵌入式 Oxigraph、Blazegraph、Apache Jena、Eclipse RDF4J)与标签属性图(Neo4j、FalkorDB、Apache AGE、AWS Neptune)以及向量库均可热插拔。
- 可视化与集成:交互式浏览器工作台、原生 Agno 与 CrewAI 支持、MCP 服务器、REST API 与 CLI。
系统架构
整体流水线分为九段:来源 → 摄入 → 解析 → 规范化 → 切分 → 抽取 → 冲突检测 → 去重 → 知识图谱 → 本体、推理、溯源、决策层 → 富化图谱 → 向量库与多语言图存储 → 导出、可视化、REST、CLI。每段均为独立可导入模块。
安装
pip install semantica
环境校验:
semantica doctor
快速上手
from semantica.context import ContextGraph
graph = ContextGraph(advanced_analytics=True)
# 将每一次 Agent 决策记录为可审计的知识节点
decision_id = graph.record_decision(
category="vendor_selection",
scenario="为 HIPAA 业务负载选择云服务商",
reasoning="AWS 提供 BAA、成熟的 HIPAA 工具与现有团队经验",
outcome="selected_aws",
confidence=0.93,
)
# 围绕决策进行追溯与合规检查
chain = graph.trace_decision_chain(decision_id) # 完整因果祖先链
similar = graph.find_similar_decisions("云服务商", max_results=5)
impact = graph.analyze_decision_impact(decision_id) # 下游影响图
compliant = graph.check_decision_rules({"category": "vendor_selection"})
决策智能示例
# 记录因果关联的决策链:申请 → 核保 → 利率
app_id = graph.record_decision(category="credit_application", outcome="proceed_to_underwriting")
uw_id = graph.record_decision(category="loan_underwriting", outcome="approved")
rate_id = graph.record_decision(category="interest_rate", outcome="rate_set_8.9pct")
graph.add_causal_relationship(app_id, uw_id, relationship_type="CAUSED")
graph.add_causal_relationship(uw_id, rate_id, relationship_type="INFLUENCED")
# 追溯、检索先例、评估影响、合规校验
graph.trace_decision_chain(rate_id)
graph.find_similar_decisions("个人贷款审批,31% DTI", max_results=5)
graph.analyze_decision_impact(uw_id)
graph.check_decision_rules({"category": "loan_underwriting", "confidence": 0.94})
relationship_type 必须是 CAUSED、INFLUENCED 或 PRECEDENT_FOR 三者之一。
上下文图
# 添加类型化节点与带权边
graph.add_node("acme_corp", "Organization", name="Acme Corp", industry="SaaS")
graph.add_node("alice_chen", "Person", name="Alice Chen", role="CTO")
graph.add_edge("alice_chen", "acme_corp", edge_type="works_for", since="2019-03-01")
# BFS 遍历与时间点快照
neighbors = graph.get_neighbors("acme_corp", hops=2)
snapshot = graph.state_at("2024-01-01")
# 高层 Agent 上下文 API
from semantica.vector_store import VectorStore
from semantica.context import AgentContext
ctx = AgentContext(vector_store=VectorStore(backend="faiss"), knowledge_graph=graph)
ctx.store("Alice 在 2024 Q1 批准了 Acme 续约", conversation_id="conv_001")
受监管决策审计范式
from semantica.provenance import ProvenanceManager
from semantica.export import RDFExporter
prov = ProvenanceManager(storage_path="./audit.db")
prov.track_entity("patient_P4821", source="ehr/medication_orders_2024.json")
# 导出 W3C PROV-O 给监管机构
kg = graph.to_kg_dict()
RDFExporter().export(kg, "audit_trail.ttl", format="turtle")
to_kg_dict() 输出 {"entities": [...], "relationships": [...]} 结构,可直接对接 RDFExporter,无需手工字段映射。
模块清单
| 模块 | 职责 |
|---|---|
semantica.ingest |
多源摄入(文件、网页、数据库、Databricks、Snowflake、消息流) |
semantica.semantic_extract |
命名实体识别、关系抽取、事件检测、三元组生成 |
semantica.kg |
图构建、中心度、社区、链路预测、双时态事实 |
semantica.reasoning |
前向链、Rete、Datalog、SPARQL |
semantica.vector_store |
FAISS、Qdrant、Weaviate、Milvus、Pinecone、PgVector |
semantica.split |
面向 GraphRAG 的实体感知切块 |
semantica.provenance |
W3C PROV-O 全链路溯源 |
semantica.ontology |
OWL 生成、SHACL 校验、SKOS 词表 |
semantica.conflicts |
冲突事实检测与消解 |
semantica.deduplication |
实体解析与合并 |
semantica.normalize |
文本、实体、日期、数值规范化 |
semantica.pipeline |
声明式可并行的管道 DSL |
semantica.export |
RDF、OWL、Parquet、Cypher、JSON-LD |
semantica.visualization |
力导向图、本体层级、时间轴仪表盘 |
摘要更新于 2026-08-22 00:33:22
· 原文 76231 字符
· md5 45572e022e4c…