Ceng-0324/Noesis

Dynamic multimodal knowledge graph with deep semantic reasoning. Real-time evolution, GraphRAG-native, built for AI agents.

★ 1Forks 0PythonGitHub ↗Compare

README

Noesis

Local-first, versioned, traceable multimodal knowledge graph OS
Code · Documents · Images · Project history → evolving traceable GraphRAG memory

中文文档 · Architecture


What is Noesis?

Noesis is a local-first, versioned, traceable multimodal knowledge graph operating system. It continuously turns code, documents, images, and project history into evolving, traceable GraphRAG memory for humans and AI agents.

  • 🧠 Multimodal knowledge extraction — tree-sitter AST for zero-token code parsing, LLM for document semantics, OCR + vision for images
  • 🔍 Traceable GraphRAG — every answer carries reasoning path, source evidence, and confidence labels (EXTRACTED / INFERRED / AMBIGUOUS)
  • 📊 Graph version control — snapshots, diff, rollback, and time-travel queries over your knowledge graph

Noesis is not a replacement for vector databases or code graph tools. It is an orchestration layer that combines graph DB + vector DB + metadata store into a unified knowledge system with provenance, versioning, and reasoning.


⚡ Quick Start

pip install noesis

noesis init              # generate noesis.yaml (zero external dependencies)
noesis ingest ./project  # build knowledge graph from local files
noesis serve             # start FastAPI server + Web UI

Then open http://localhost:8000 to explore your knowledge graph.

Requirements:

Dependency Version Purpose
Python ≥ 3.11 Core engine (FastAPI, parsing, GraphRAG)
Node.js ≥ 20 Web UI development only
16 GB RAM — Local LLM + embedding (no GPU required)

🧠 GraphRAG Engine

The core of Noesis is a traceable GraphRAG fusion engine:

User Query
    │
    ▼  ─────────────────────────────────────────
    │  Layer 1: Graph Traversal  Kuzu/Neo4j  <500ms │
    │  ─────────────────────────────────────────│
    │  Layer 2: Semantic Search  LanceDB     <3s    │
    │  ─────────────────────────────────────────│
    │  Layer 3: Fusion + Reasoning  LLM      variable│
    └──────────────────────────────────────────
                              │
                              ▼
                    Answer + Reasoning Path + Evidence
Layer Store Latency Role
L1 Kuzu (default) / Neo4j (optional) < 500ms Exact graph traversal, entity/relation queries
L2 LanceDB < 3s Dense vector semantic search over chunks
L3 Fusion Engine + Ollama variable Combine graph paths + semantic chunks → LLM reasoning

Every answer includes:

  • paths: graph traversal route (nodes → edges → evidence)
  • sources: original file references with line/span
  • confidence: EXTRACTED / INFERRED / AMBIGUOUS

📡 API

Noesis exposes a FastAPI server:

POST /api/query              # GraphRAG question answering
GET  /api/graph/entity/:id   # entity details + relations + provenance
GET  /api/trace/:answer_id   # full reasoning path with evidence
POST /api/ingest             # trigger knowledge graph ingestion
GET  /api/snapshot           # list graph versions (v0.2)

📦 Project Structure

Noesis/
├── noesis/                  # Python main package
│   ├── core/               # types, config, constants
│   ├── ingest/             # data ingestion (local files, GitHub)
│   ├── parse/              # multimodal parsing (code, docs, images)
│   ├── cognify/            # entity/relation extraction, embedding
│   ├── store/              # hybrid storage (Kuzu + LanceDB + SQLite)
│   ├── graphrag/           # traversal + semantic search + fusion
│   ├── api/                # FastAPI REST endpoints
│   └── cli/                # Typer CLI
├── packages/
│   └── web/                # React + Cytoscape.js knowledge workspace
├── tests/
├── docs/
└── docker-compose.yml

🗺️ Roadmap

Milestone Scope Status
v0.1 Nebula Static knowledge graph MVP: ingest, GraphRAG, traceable answers, Web UI skeleton 🔧 In progress
v0.2 Pulse Dynamic evolution: file watcher, incremental updates, graph versioning, snapshots 🔜 Planned
v0.3 Synapse Proactive intelligence: MCP server, anomaly detection, user feedback loop, conflict resolution 🔜 Planned

🛠️ Development

pytest              # Python unit tests

🤝 Contributing

Contributions are welcome. Before starting:

  1. Read CLAUDE.md for full architecture and development guidelines
  2. Open an issue to discuss your proposed change before submitting a PR

📄 License

MIT — see LICENSE


Noesis — from the Greek νόησις: process of thinking, rational cognition

Contributors

Ceng-0324

Issues