Pure RAG breaks the moment a query needs logic — multi-hop, numerical, relational. In 8 hands-on hours, build production-grade GraphRAG in TypeScript: semantic search fused with knowledge-graph reasoning, a full 6-step ingestion pipeline, and a 4-level fallback chain. Three codebases you keep. Zero notebooks.
Multi-hop queries like “Who is the CEO of the company that acquired John’s startup?” fail completely.
Financial queries such as “revenue growth above 20% in Q3” produce unreliable, untrustworthy results.
Deadline and trend queries lack the precision needed for accurate business decisions.
Answers requiring four or more documents are incomplete and cannot be synthesised reliably.
“Which products depend on this failing service?” returns nothing useful from a flat vector store.
Understand why RAG fails on complex queries and how knowledge graphs solve logical, numerical, and relational gaps.
Implement the full 6-step ingestion pipeline — from raw document to a queryable, mutually indexed knowledge graph in TypeScript.
Build a smart query planner that routes to the right retrieval strategy and fuses vector and graph results optimally.
Build three real-world systems — academic research, legal case law, and customer support — each powered by hybrid GraphRAG.
Optimise, harden, and monitor your GraphRAG system with resilience patterns, tuning, and production-grade observability.
Leave with a clear decision framework for when to use each approach and curated next projects to consolidate skills.
Split into 512-token sentence-boundary chunks with 64-token overlap for context continuity.
Generate text-embedding-3-large vectors → store in Milvus with HNSW indexing.
Run BERT NER: PERSON, ORG, LOCATION, PRODUCT, DATE, MONEY entity types identified.
LLM identifies WORKS_AT, FOUNDED, ACQUIRED, CITES, SOLVED_BY typed relationship edges.
MERGE entities and relationships into Neo4j with typed nodes, edges, and Cypher properties.
Bidirectional MENTIONED_IN edges link graph entities ↔ text chunks for hybrid retrieval.
Academic research · ~40 min — paper ingestion → citation network → hybrid search across author, topic, and citation graph. Influence scoring via PageRank.
Legal / case law · ~40 min — case-law processor → precedent-chain traversal → overruled-case detection across 20 ingested cases.
Customer support · ~40 min — 500-ticket knowledge graph → solution recommender → auto-linking at 0.85 confidence threshold.
30-second timeout — vector + graph in parallel via Promise.all().
10-second timeout — Milvus HNSW search only.
Subgraph cache lookup — near-instant if warm.
Graceful degradation — always returns something useful.
Curriculum starts from RAG's real limitations — every KAG concept feels necessary, not theoretical.
All implementation in real, deployable TypeScript — not Python notebooks or pseudo-code.
Every choice — HNSW params, fusion weights, chunk strategy — explained with the reasoning behind it.
Working codebases across three industries — not exercises. Adaptable to real enterprise problems.
Circuit breakers, 4-level fallback chains, Redis caching, and p95 monitoring built in from day one.
Milvus, Neo4j, OpenAI embeddings, BERT NER, Redis, Docker — one cohesive stack in a single day.
30 min — Docker Compose spin-up for Milvus and Neo4j, .env config, API-key validation.
1 hr 45 min — RAG limitations, KAG components, knowledge graph fundamentals.
1 hr 30 min — Full 6-step ingestion pipeline, Milvus HNSW, Neo4j, BERT NER, mutual indexing.
1 hr — Semantic / structural / hybrid routing, parallel search, 60/40 fusion.
2 hrs — Research assistant, legal document search, intelligent support system.
1 hr — HNSW tuning, 4-level fallback chain, circuit breakers, p50/p95/p99 monitoring.
15 min — Decision matrix, project ideas, community resources.
Eight hours, five blocks, three GraphRAG codebases in TypeScript. October 21, 2026 · OTEAcademy Athens.