Graph-Native Context & Accountable AI Memory Infrastructure
把 AI 智能体的「失忆」问题,用一张可查询、可追溯的知识图谱解决。
memoria 是一个图原生(Graph-Native)的 AI 记忆基础设施:它把对话、文档、代码和决策从「一串 token」升级为「一张关系图」,并沉淀为四种可复用的记忆资产——Chat Memory(对话记忆)/ Skill(技能)/ LLM-Wiki(语义百科)/ Code-Graph(代码图谱)。每一条结论都能追溯到它的来源(可问责)。
RAG 解决「喂更多文本」,memoria 解决「喂结构化的关系」。当模型权重趋同、竞争壁垒从「模型」迁移到「执行与记忆」时,图结构天然适合回答三个问题:
- AI 为什么这么说 → 图里每条边都带 provenance,可一路追溯到来源节点;
- 团队的知识怎么沉淀 → 四种记忆资产标准化复用,不随会话结束而丢失;
- 上下文怎么更省 token → 图遍历 + 向量 + 关键词混合检索,只召回相关子图。
- 🕸️ 图数据模型:Node / Edge / Provenance,有向带属性多重图,BFS / 邻居 / 子图抽取;
- 💾 多后端存储:内存 / SQLite / 可选 Neo4j,内核零第三方依赖;
- 🧠 四种记忆资产:Chat Memory(对话)/ Skill(技能)/ LLM-Wiki(语义)/ Code-Graph(代码);
- 🔎 混合检索:图遍历 + 向量相似度 + 倒排索引,RRF 融合排序;
- ⚖️ 可问责:provenance 追踪 + 结论溯源 + 追加式审计日志;
- 📥 多源摄取:对话 / 文档(Markdown)/ Python 代码(AST)/ 网页;
- ⚙️ 确定性抽取:正则 + 字典规则抽取实体关系,无 LLM 也能跑(mock 模式完全离线);
- 🖥️ FastAPI 控制面(20+ 路由)+ CLI + Python/TS SDK + React 深色控制台;
- ☸️ 部署:Docker / docker-compose / Kubernetes / Helm / GitHub Actions CI + CodeQL。
git clone https://github.com/huzjie/memoria.git
cd memoria
pip install -e . # 核心零依赖,mock 模式直接跑
memoria doctor # 校验安装
memoria ingest examples/sample_conversation.md
memoria recall "knowledge graph"
memoria serve # 启动 API(http://localhost:8000)启动 React 控制台(可选):
cd web && npm install && npm run dev # http://localhost:5173from memoria.sdk import MemoriaClient
c = MemoriaClient("http://localhost:8000")
c.ingest([{"role": "user", "content": "We use Neo4j for our knowledge graph"}])
print(c.recall("graph"))
print(c.trace("node_id"))┌─────────────┐ ┌──────────────┐ ┌─────────────────────────┐
│ ingest │ → │ extract │ → │ graph store │
│ chat/doc/ │ │ rules/llm │ │ memory/sqlite/neo4j │
│ code/web │ └──────────────┘ └───────────┬─────────────┘
└─────────────┘ │
┌───────────────────────────────────────────┘
▼
┌─────────────┐ ┌──────────────┐ ┌─────────────────────────┐
│ memory hub │ │ retrieve │ │ account │
│ episodic/ │ │ graph/vector │ │ provenance/trace/audit │
│ procedural/ │ │ hybrid/rank │ └─────────────────────────┘
│ semantic/ │ └──────────────┘
│ structural │
└─────────────┘
| 文档 | 说明 |
|---|---|
| docs/getting-started.md | 入门指南 |
| docs/concepts.md | 核心概念(图、实体、关系、provenance) |
| docs/ingestion.md | 数据摄取 |
| docs/extraction.md | 实体/关系抽取 |
| docs/memory-assets.md | 四种记忆资产 |
| docs/retrieval.md | 检索与上下文装配 |
| docs/accountability.md | 可问责性 |
| docs/query-language.md | 图查询语言 |
| docs/providers.md | LLM Provider 配置 |
| docs/api-reference.md | REST API 参考 |
| docs/cli.md | CLI 命令 |
| docs/sdk.md | Python / TypeScript SDK |
| docs/deployment.md | 部署(Docker/K8s/Helm) |
| docs/configuration.md | 配置项 |
| docs/security.md | 安全说明 |
memoria/
├── core/ # 图数据模型、配置、错误、ID
├── graph/ # 图存储后端(memory/sqlite/neo4j)+ 倒排索引
├── extract/ # 实体/关系抽取(规则 + LLM)
├── ingest/ # 摄取连接器(chat/document/code/web)
├── memory/ # 四种记忆资产 + hub
├── retrieve/ # 图/向量/混合检索 + 上下文装配
├── account/ # provenance/溯源/审计/解释
├── query/ # 图查询语言解析与执行
├── providers/ # LLM Provider 适配器
├── vector/ # 本地嵌入
├── api/ # FastAPI 控制面
├── cli/ # 命令行
├── sdk/ # Python SDK
├── utils/ # 工具函数
web/ # React 深色控制台
sdk/typescript/ # TypeScript SDK
tests/ # 单元测试
docs/ # 文档
k8s/ helm/ # Kubernetes / Helm