Pick a depth. Each prompt opens in your AI pre-loaded with the lesson. Click a row to preview the prompt.
Most people who evaluate your repository will never run it. They will read the first screen, watch a video if there is one, and decide. That means ordering is not cosmetic: a benchmark table above the fold does the work that three paragraphs of architecture prose cannot. The conventional README order — install, usage, architecture, results — is exactly backwards for a portfolio piece, because it puts the thing that proves your competence below the thing anyone could copy from a template. Invert it.
The five sections below, in this order. Setup instructions go last because the reader who wants them has already decided you are worth the effort.
# Knowledge-Graph RAG over SEC Filings
Multi-hop question accuracy 71% vs 34% for vector-only retrieval,
across 420 filings, at 840ms p95.
| hops | vector-only | graph + vector | delta |
|-------------|-------------|----------------|--------|
| single | 89% | 88% | -1pp |
| two | 51% | 74% | +23pp |
| three | 18% | 62% | +44pp |
| out-of-scope| 72% refused | 94% refused | +22pp |
[90-second demo video]
## Architecture
(one diagram, showing the data path — not every class)
## Design decisions
- Template Cypher, not model-authored queries. Cost: less flexible.
Benefit: reproducible, and no injection surface.
- Entity resolution at 0.86 cosine threshold. Below it, "Acme Corp"
and "Acme Corporation" stay split; above it, unrelated firms merge.
## What didn't work
- Open-ended entity extraction produced 1,400 types and an unqueryable graph.
- Re-ingestion with CREATE duplicated every node. MERGE fixed it.
## Setup
...python3 main.py