Neuro-Symbolic Inference Engine
An intelligent data understanding and storage system with ontology-driven reasoning for events and relations.
Built entirely with open source models and infrastructure
The end-to-end pipeline has not yet been fully tested.
Individual components are functional, but complete end-to-end behavior is missing - need to validate and add later
KURSE is a neuro-symbolic inference engine that combines:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ SQL DB │ │ Vector DB │ │ Knowledge Graph │
│ (SQLite) │ │ (Qdrant) │ │ (Memgraph) │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌───────────┴───────────┐
│ Ingestion Pipeline │
└───────────┬───────────┘
│
┌───────────┴───────────┐
│ Input Processing │
│ (olmOCR) │
└───────────┬───────────┘
│
Raw Documents
Identify N-ary → Ambiguity → Initial → Standardization → Ontology → Knowledge
Relations Resolution Assignment Check Graph
Relations involving 3+ participants that can't be reduced to binary pairs:
(Person: "Marcus") –[COMMITTED]– (Crime: "Heist_NYC_2024")
–[LOCATION]– (Place: "Manhattan")
–[WITH]– (Person: "Sofia")
–[ON_DATE]– (Date: "2024-03-15")
| Component | Technology |
|---|---|
| Language | Python |
| Framework | LangChain |
| Vector DB | Qdrant, Chroma |
| Graph DB | Memgraph |
| LLM | NVIDIA NIM APIs |
| OCR | olmOCR (Qwen 7B) |
KURSE/
├── pipeline/
│ ├── kg_ingestion/ # Knowledge Graph ingestion
│ │ ├── phase1/ # N-ary event identification
│ │ └── phase2/ # Relation extraction
│ ├── vdb_ingestion/ # Vector DB ingestion
│ └── sql_ingestion/ # SQL ingestion
├── ontology/ # Ontology definitions
├── config/ # Configuration files
└── input_pdfs/ # Sample input documents
git clone <repo-url>
cd KURSE
pip install -r requirements.txt
# Start Qdrant
docker run -p 6333:6333 qdrant/qdrant
# Start Memgraph
docker run -p 7687:7687 memgraph/memgraph
cp .env.example .env
# Edit .env with your NVIDIA NIM API keys
python pipeline/run_ingestion.py --input ./input_pdfs/
Neuro-Symbolic Inference Engine
An intelligent data understanding and storage system with ontology-driven reasoning for events and relations.
Built entirely with open source models and infrastructure
The end-to-end pipeline has not yet been fully tested.
Individual components are functional, but complete end-to-end behavior is missing - need to validate and add later
KURSE is a neuro-symbolic inference engine that combines:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ SQL DB │ │ Vector DB │ │ Knowledge Graph │
│ (SQLite) │ │ (Qdrant) │ │ (Memgraph) │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌───────────┴───────────┐
│ Ingestion Pipeline │
└───────────┬───────────┘
│
┌───────────┴───────────┐
│ Input Processing │
│ (olmOCR) │
└───────────┬───────────┘
│
Raw Documents
Identify N-ary → Ambiguity → Initial → Standardization → Ontology → Knowledge
Relations Resolution Assignment Check Graph
Relations involving 3+ participants that can't be reduced to binary pairs:
(Person: "Marcus") –[COMMITTED]– (Crime: "Heist_NYC_2024")
–[LOCATION]– (Place: "Manhattan")
–[WITH]– (Person: "Sofia")
–[ON_DATE]– (Date: "2024-03-15")
| Component | Technology |
|---|---|
| Language | Python |
| Framework | LangChain |
| Vector DB | Qdrant, Chroma |
| Graph DB | Memgraph |
| LLM | NVIDIA NIM APIs |
| OCR | olmOCR (Qwen 7B) |
KURSE/
├── pipeline/
│ ├── kg_ingestion/ # Knowledge Graph ingestion
│ │ ├── phase1/ # N-ary event identification
│ │ └── phase2/ # Relation extraction
│ ├── vdb_ingestion/ # Vector DB ingestion
│ └── sql_ingestion/ # SQL ingestion
├── ontology/ # Ontology definitions
├── config/ # Configuration files
└── input_pdfs/ # Sample input documents
git clone <repo-url>
cd KURSE
pip install -r requirements.txt
# Start Qdrant
docker run -p 6333:6333 qdrant/qdrant
# Start Memgraph
docker run -p 7687:7687 memgraph/memgraph
cp .env.example .env
# Edit .env with your NVIDIA NIM API keys
python pipeline/run_ingestion.py --input ./input_pdfs/