You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Same LLM, same fixture, same scoring code. ctxgraph's single-call schema-typed prompt vs Graphiti's 6-call pipeline:
21
+
> **Correction (2026-06):** an earlier headline here claimed "+0.227 combined F1 over Graphiti." That was a **measurement bug** — an un-scoped Graphiti relation query (`LIMIT 50`, no `group_id`) scored Graphiti against the whole accumulating graph. Fixed. The honest picture: **extraction quality is at parity with Graphiti and with cloud frontier models; the win is architectural — one LLM call, fully local, $0.** Full detail + audit in [docs/BENCHMARKS.md](docs/BENCHMARKS.md).
22
22
23
-
| Metric (Gemma 4 26B-A4B in both columns) | ctxgraph | Graphiti | Δ |
|**relation F1 (pair-fuzzy)**|**0.555**| 0.096 |**+0.459 (5.8×)**|
27
-
|**combined F1**|**0.687**| 0.460 |**+0.227**|
23
+
**Third-party accuracy — CoNLL04** (standard RE dataset neither tool authored), **strict directional + typed** relation scorer, 80 test sentences, single call. Reproduce: `scripts/conll04_bench.py`.
24
+
25
+
| Model (single call) | entity F1 | relation F1 (directional + typed) |
26
+
|---|---|---|
27
+
| anthropic/claude-haiku-4.5 | 0.864 |**0.604**|
28
+
| z-ai/glm-5.2 | 0.867 |**0.589**|
29
+
| google/gemini-2.5-flash-lite | 0.846 | 0.560 |
30
+
| minimax/minimax-m3 | 0.840 | 0.541 |
31
+
| deepseek/deepseek-v4-flash | 0.844 | 0.525 |
32
+
| deepseek/deepseek-v3.2 | 0.861 | 0.514 |
28
33
29
-
The win **replicates** with Gemma 4 31B (ctxgraph 0.739 vs Graphiti 0.467, +0.272 combined / +0.499 relation). It's architectural, not model-specific. Graphiti's 6-call pipeline tops out at combined F1 ≈ 0.46 regardless of which Gemma you feed it.
34
+
**vs Graphiti — same model (gemini-2.5-flash-lite), same fixture, same scorer** (after fixing the bug): combined F1 **0.638 (ctxgraph) vs 0.636 (Graphiti)** — a statistical tie on extraction. The real, measured advantage is efficiency:
30
35
31
-
Fixture: 29 hand-labeled cross-domain episodes covering 25 domains (`crates/ctxgraph-extract/tests/fixtures/cross_domain_v2.json`). Scoring code: `scripts/openrouter_bench.py` + `scripts/graphiti_openrouter_bench.py`. Raw per-episode outputs: `scripts/results/v0.9_cross_domain_v2/*.json`. Total cost to reproduce: ~$0.15.
0 commit comments