How madmando/prism works
PRISM builds a typed epistemic graph over an existing vector corpus, then retrieves structured answers by combining vector-search seeds with graph spreading activation. The README also documents graph visualization, export, inspection, and a local interactive explorer. The sampled source confirms the main build/retrieval orchestration and explorer endpoints; links for unsampled CLI behavior and some adapter internals are limited to documented capabilities.
Main entry points: prism.py PRISM interface · graph.py Epistemic graph · retriever.py Retrieval pipeline · adapters Vector adapters
Components 22
Graph building
- PRISM interface
prism/prism.py - Build CLI
prism/cli.py - Candidate pairs
prism/adapters/lancedb.py - Pair filter
prism/filter.py - Edge extraction
prism/extractor.py - LLM services
Structured retrieval
- Retrieval client
prism/prism.py - Retrieval pipeline
prism/retriever.py - Spreading activation
prism/activation.py - Edge semantics
prism/edges.py - Structured result
prism/result.py
Corpus and graph
- Vector adapters
prism/adapters - Vector store
- Embedding provider
- Epistemic graph
prism/graph.py - Graph file
Explore and inspect
- Explorer API
prism/explorer/server.py - Explorer UI
prism/explorer/static/index.html - Graph visualization
prism/viz_cli.py - Graph export
prism/export_cli.py - Graph inspection
prism/inspect_cli.py
Other components
- Application developer
Connections 33
- Application developer → Build CLI: runs build
- Build CLI → PRISM interface: invokes build
- Application developer → PRISM interface: calls API
- PRISM interface → Vector adapters: connects
- Vector adapters → Vector store: reads corpus
- Vector adapters → Embedding provider: embeds queries
- PRISM interface → Candidate pairs: requests pairs
- Candidate pairs → Vector store: searches neighbors
- PRISM interface → Pair filter: filters pairs
- Pair filter → LLM services: screens pairs
- PRISM interface → Edge extraction: extracts edges
- Edge extraction → LLM services: classifies relations
- PRISM interface → Epistemic graph: builds graph
- Edge extraction → Epistemic graph: adds edges
- PRISM interface → Graph file: saves or loads
- Epistemic graph → Graph file: serializes
- Application developer → Retrieval client: requests retrieval
- Retrieval client → Retrieval pipeline: delegates query
- Retrieval pipeline → Vector adapters: searches seeds
- Retrieval pipeline → Spreading activation: propagates seeds
- Spreading activation → Epistemic graph: traverses edges
- Retrieval pipeline → Edge semantics: classifies valence
- Retrieval pipeline → Structured result: structures buckets
- Application developer → Explorer UI: uses explorer
- Explorer UI → Explorer API: requests graph or retrieval
- Explorer API → Epistemic graph: serves graph
- Explorer API → Retrieval client: requests retrieval
- Application developer → Graph visualization: exports visualization
- Graph visualization → Epistemic graph: reads graph
- Application developer → Graph export: exports graph
- Graph export → Epistemic graph: reads graph
- Application developer → Graph inspection: inspects graph
- Graph inspection → Epistemic graph: reads graph