Graph RAG Is Not Better RAG

Graph RAG Is Not Better RAG Picture a small experiment. You have a handful of short documents about drug interactions - except the drugs are invented. Not real names: Faxiprine, Tricalamine, Renal Shimmer, Hydrolyx Draught. That matters, because if the drugs were real, a language model could answer from what it already learned in training and we’d never know whether retrieval was doing any work. Fictional drugs force every answer to come from the documents in front of it. Nowhere else. ...

July 28, 2026 · 11 min · biswajit

Why Raw Queries Break RAG

Why Raw Queries Break RAG Here’s the pitch for RAG in one sentence: embed the user’s question, search a vector store for the closest matching chunks, hand those chunks to an LLM, get a grounded answer back. Clean, mechanical, almost too simple to fail. So why do RAG systems keep retrieving the wrong thing? The pitch skips a step it shouldn’t. Before you can ask whether retrieval “worked,” you have to ask what the system was actually comparing — and once you look closely at that comparison, a raw, naturally-typed question turns out to be a strange thing to search with. ...

July 20, 2026 · 11 min · biswajit

Why Your B-tree Index Is Useless for Semantic Search — And What HNSW Does Instead

For software engineers who know what an index is and what an embedding is. Start Here: A Question You Think You Already Know the Answer To You have a chunks table with 50,000 rows. Each row has a text column and a vector column — a list of 1536 floating point numbers representing the semantic meaning of that text. A user query arrives. You embed it into another 1536-dimensional vector. Now you want the most semantically similar chunks. ...

June 6, 2026 · 9 min