I benchmarked classic vector RAG vs Google's new OKF format vs both combined — same corpus, same 7 questions, all local (Ollama + ChromaDB)
Mirrored from r/LocalLLaMA for archival readability. Support the source by reading on the original site.
Google Cloud published OKF (Open Knowledge Format) on June 12th — a spec for storing curated knowledge as a directory of markdown files with YAML frontmatter. One concept per file, linked to each other, with an index.md for progressive disclosure. The only required field is `type`.
I wanted to know whether it actually fixes anything, so I built a test corpus and measured. Everything runs locally: qwen3:8b + nomic-embed-text + ChromaDB, no external APIs.
SETUP
- Corpus: 60 markdown files of fake-but-realistic company docs (wiki, table schemas, ADRs, 40 support tickets). 85 chunks at 800/100.
- OKF bundle: 9 curated concepts covering the same ground.
- 7 questions, each designed to trigger a different retrieval failure mode.
RESULTS (7 questions)
RAG OKF OKF+RAG
correct 2 3 4
tokens 6341 8625 8435
Nothing passes. The combined layer gets twice what plain RAG does, at ~33% more tokens.
THE ONE THAT SURPRISED ME
Question: "how do we calculate revenue?" The corpus has a 2023 doc (deprecated, verbose, 4000 chars) and the current 2026 spec (terse, 500 chars).
The deprecated doc splits into 7 chunks, the current one into 1. Three of the top-5 retrieved chunks came from the deprecated doc. The correct document ranked 15th out of 85 — behind a glossary, a customer table schema, and a support ticket about shipping costs to the Canary Islands.
Raising k to 15 doesn't help: you'd pull in 6 chunks saying the wrong thing against 1 saying the right thing. A reranker can't fix it either — there's nothing in the chunk text indicating which is current. The date isn't in the chunk.
OTHER FAILURE MODES THAT FIRED
- Chunker split an 18-column schema table. The right file WAS in context; the table wasn't. Model said "I don't know" at both k=3 and k=5.
- Composition: a metric definition needs 3 rules living in 3 separate files. RAG retrieved 2 of 3 and answered confidently, citing sources, never hinting anything might be missing.
- Interesting pattern: it said "I don't know" when it had almost nothing, and said nothing when it had almost everything. It goes quiet exactly when it's most expensive.
WHERE OKF LOSES
Long-tail questions. "Was there an incident with duplicate orders in March?" — plain RAG nailed it over 40 messy, unreviewed tickets. Curating those by hand would be absurd. OKF alone failed it.
TERMINOLOGY CAVEAT
I'm using "RAG" as shorthand for the classic vector implementation. Strictly, an agent navigating an OKF index is also a RAG pipeline — just with structured retrieval instead of vector retrieval. The precise framing is "classic vector RAG vs structured retrieval over OKF". Someone rightly called me out on this.
Full code, corpus, bundle and the raw results.txt: https://github.com/JoaquinRuiz/rag-vs-okf git clone + uv sync and you can reproduce it. Curious whether anyone gets different numbers with a bigger model — question 4 was unstable across runs for me.
[link] [comments]
More from r/LocalLLaMA
-
Unpopular opinion Qwen 3.8 is hard to understand
Aug 30
-
Qwen3.8-Flash-Next turns 4xR9700 into a local AI powerhouse! 120 t/s TG and 12k t/s PP single request with optimized vLLM
Aug 30
-
Oh so that's where my PCIe lanes went...
Aug 30
-
Uncensored Multi-Model Releases, LongCat-Flash-Lite-Sparse with MTPs and LSAs, Qwen3.8-27B with MTPs, Qwen3.5-122B-A10B with MTPs, Qwen3-Coder-Next and Laguna-S2.1 with Vision, All Available in GGUF Format! Bonus: Links to my llama.cpp Fork for LongCat-Flash-Lite Support and…
Aug 30
Discussion (0)
Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.
Sign in →No comments yet. Sign in and be the first to say something.