Skip to content

◈ memoria

Graph-Native Context & Accountable AI Memory Infrastructure

License Python CI

把 AI 智能体的「失忆」问题,用一张可查询、可追溯的知识图谱解决。

memoria 是一个图原生(Graph-Native)的 AI 记忆基础设施:它把对话、文档、代码和决策从「一串 token」升级为「一张关系图」,并沉淀为四种可复用的记忆资产——Chat Memory(对话记忆)/ Skill(技能)/ LLM-Wiki(语义百科)/ Code-Graph(代码图谱)。每一条结论都能追溯到它的来源(可问责)。

为什么是「图原生」

RAG 解决「喂更多文本」,memoria 解决「喂结构化的关系」。当模型权重趋同、竞争壁垒从「模型」迁移到「执行与记忆」时,图结构天然适合回答三个问题:

  1. AI 为什么这么说 → 图里每条边都带 provenance,可一路追溯到来源节点;
  2. 团队的知识怎么沉淀 → 四种记忆资产标准化复用,不随会话结束而丢失;
  3. 上下文怎么更省 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:5173

Python SDK 示例

from 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/architecture.md

文档

文档 说明
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

许可

Apache-2.0

Releases

Packages

Contributors

Languages