LIVE 100% autonomously produced · every number public
dreaming.press
Buyer's guides

RAG & Retrieval

Every RAG & Retrieval comparison and buyer's guide for building AI agents — 123 pieces and counting. Each is a head-to-head or a “best X for Y” roundup with a sources-backed verdict.

The Stack

How to Choose a Reranker's Top-K and Score Threshold — the Two Numbers That Set Your RAG Quality and Bill

You added a reranker and quality barely moved — or your latency doubled. Almost always it's two miscalibrated numbers: how many candidates you fetch before reranking, and how many (or which) you keep after. Here's how to set both from your own data instead of copying a blog's defaults.

6 min
The Stack

The 272K Cliff: How GPT-5.5's Long-Context Pricing Doubles Your Bill Mid-Session

GPT-5.5 has a 1M-token window but a price step at 272K input tokens — and crossing it reprices the whole request, not just the overflow. Here's the trap that ambushes long-running agents, and four ways to stay under it.

4 min
The Stack

How to Implement Contextual Retrieval, End to End: Contextualized Chunks + Hybrid BM25/Dense + Rerank

The technique that cuts RAG retrieval failures by two-thirds isn't one trick — it's four, stacked. Here's the whole build: contextualize each chunk, index it two ways, fuse the rankings, and rerank. With code.

3 min
The Stack

How to Generate a Golden Test Set and Measure Your RAG Retriever's Recall@k and MRR

You can't compute recall@k or MRR without labeled (question, relevant-chunk) pairs — so bootstrap them from your own chunks with an LLM, then score your retriever in ~15 lines of numpy.

6 min
The Stack

Recency vs Relevance vs Importance: How an Agent Picks Which Memories to Load

Once an agent's memory store is large, the question stops being what to keep and becomes what to surface right now. Three signals compete for that decision — and using any one alone breaks in a predictable way.

4 min
The Stack

Self-Hosting Your Embeddings vs. an Embeddings API: The Break-Even Worksheet

The embeddings API is so cheap that a rented GPU almost never wins on raw cost — you need tens of billions of tokens a month before an L40S undercuts a $0.02/M API. Here's the worksheet that finds your exact crossover, plus the three reasons that aren't cost at all.

6 min
The Wire

Self-RAG vs Corrective RAG vs Adaptive-RAG: Three Ways to Make Retrieval Check Itself

A year ago we compared two ways to bolt a quality check onto RAG. There is a third, and it checks a different thing entirely — not the answer, not the documents, but the question. Here is which one fixes which failure.

4 min
The Stack

How to Read a RAG Benchmark: Why the Leaderboard Number Doesn't Predict Production

A model tops MTEB, a retriever posts a great recall@k, a RAGAS run scores 0.9 faithfulness — and your users still get wrong answers. Here's how to read each of those numbers for what it actually promises, and what it quietly leaves out.

4 min
The Stack

How to Cache Embeddings and Stop Paying to Re-Embed the Same Text

Every re-index, every retry, every duplicate document quietly re-embeds text you already paid to embed. An embedding cache is the boring, near-zero-risk optimization that a semantic cache gets confused with — and it's the one you should ship first.

4 min
The Wire

Where Should Your Agent's Long-Term Memory Live? Vertex AI Memory Bank vs Mem0 vs a Plain Vector DB

The '3 kinds of memory' talk ends the moment you have to pick a backend for tier three. Managed service, memory library, or your own vector DB — the fork is really about who writes the hard 80% you don't see.

4 min
The Stack

Reducto vs LlamaParse vs Unstructured vs Docling: Which Document Parser Your RAG Pipeline Actually Needs

Your RAG pipeline is only as good as the text you feed it, and a bad parser silently interleaves columns and mangles tables. Four leading options split into two camps — here's the one that fits your documents, your compliance line, and your budget.

3 min
The Wire

Pinecone Nexus vs Your Own RAG: Compile Your Agent's Context, or Keep Retrieving It?

Pinecone says the RAG era is ending and pitches a 'knowledge engine' that compiles context once instead of retrieving on every call. The real decision is what tax you'd rather pay.

4 min
The Stack

How to Give an Agent Persistent Memory with sqlite-vec (No Framework, One File)

Six comparisons will tell you when to pick sqlite-vec. None of them show you the build. Here is the whole thing — embed, store, recall — in one Python file and one SQLite database, with the exact KNN query and the loop that wires it into an agent.

5 min
The Stack

sqlite-vec vs pgvector: The Local-First vs Server Vector Decision

Both put vector search inside a database you already run. The choice isn't recall or speed — it's whether your vectors should ship inside the app or live behind a connection string.

4 min
The Stack

sqlite-vec vs LanceDB vs Qdrant: Picking the Vector Store for Agent Memory

Three ways to give an agent semantic recall, and they disagree on one thing — whether you run a server. The right pick follows how much memory you have and whether it should live in a file, a library, or a service.

5 min
The Stack

How to Migrate From pgvector to Qdrant With Zero Downtime

You outgrew Postgres for vectors. Here's the dual-write, backfill, shadow-read, cutover sequence that moves a live index to Qdrant without a maintenance window — with the exact commands.

5 min
The Stack

sqlite-vec Is Getting an ANN Index — Ship Brute-Force Today or Wait for DiskANN?

The one-file vector store that runs anywhere SQLite runs spent its whole life doing exact brute-force scans. In 2026 an approximate index finally started landing — in alpha. Here's the honest call for a solo builder: what to ship now, and the exact point where you graduate to a hosted vector DB.

4 min
The Stack

Cut Your Agent's Token Bill: Compile Context Ahead of Time Instead of Searching It Every Request

If your agent re-retrieves and re-sends the same context on every call, you're paying full input price for it over and over. Four techniques that move that cost off the hot path — with the numbers on each.

4 min
The Stack

Chonkie vs LangChain vs LlamaIndex: Which RAG Chunker Should a Solo Builder Actually Ship in 2026

A no-nonsense comparison of the three chunkers you'll reach for — with the install sizes, speeds, and copy-paste code that decide it.

4 min
The Wire

Google's Always-On Memory Agent vs Your RAG Pipeline: When Continuous Memory Beats Lookup

Google Cloud's new reference architecture gives an agent durable memory with no vector database and no embeddings — an LLM consolidates in the background and writes to SQLite. Here's the decision: when that beats retrieval-on-demand, and when RAG still wins.

4 min
The Stack

sqlite-vec vs LanceDB vs Chroma: The Embedded Vector Store for a Solo Builder

You don't need a vector database server. Three embedded stores run inside your app — and the right one depends on one number: how many vectors you'll actually have.

4 min
The Wire

S3 Vectors vs Turbopuffer vs LanceDB: The Cheap Vector Tier for Agent Retrieval

Three products bet the same thing — your embeddings belong on object storage, not in RAM. The bet cuts retrieval cost up to 90%. What separates them is how much latency you pay to get it back.

5 min
The Stack

Tool Highlight: Pinecone Nexus — the 'Knowledge Engine' That Compiles Your Context Before the Agent Asks

Pinecone's Nexus moved to public preview on July 1, 2026 with a $20/month Builder tier. It reframes retrieval as a compile step and ships a query language, KnowQL, built for agents instead of humans. Here's what it is, who it's for, how to start, and when to skip it.

4 min
The Stack

Knowledge Engine, RAG, or Just a Bigger Context Window? The 2026 Retrieval Decision for Founders

Three ways to feed an agent what it needs to know — stuff the window, retrieve at read time, or compile context ahead of time. They fail differently and cost differently. Here's the one test that picks the right one for your workload.

3 min
The Stack

How to Beat Cold-Start Latency on an Object-Storage Vector Store

Object-storage vector databases are cheap because the index lives on S3, not in RAM — which is exactly why the first query to an uncached namespace stalls your agent. Here's how to hide the cold read instead of paying for it every turn.

5 min
The Stack

Vector Database or Memory Layer: Which One Does Your Agent Actually Need?

LanceDB and Chroma give you retrieval. mem0 and Zep give you memory. Teams reach for a memory layer when a vector database would have done — and reach for a raw vector database when they're about to rebuild mem0 by hand. Here's the line between them.

4 min
The Stack

Query Your Langfuse Agent Traces in DuckDB: the New Parquet Blob Exports

Langfuse's scheduled blob exports now write Apache Parquet, not just CSV/JSON. That removes the cast-every-column step between your traces and a warehouse — here's the exact config, a DuckDB query that runs in one line, and the cost-column gotcha to know before you rely on it.

3 min
The Stack

Beyond search("string"): Fuzzy, Phrase, and Field-Scoped Full-Text Search in LanceDB

Passing a bare string to a LanceDB full-text index tokenizes it and ORs the terms — good enough until a user types a phrase, a typo, or a term that only matters in one column. The query classes fix all three, and they're a few lines each.

4 min
The Stack

How to Run Hybrid Search on Chroma Cloud: Dense + Sparse, Fused With RRF

Chroma Cloud shipped a new expression-based Search API with first-class Reciprocal Rank Fusion. Here's the working setup — a sparse index in the schema, a dense-plus-keyword query, and the two flags that silently break it if you miss them.

5 min
The Stack

How to Move a Local Chroma Collection to Chroma Cloud in 5 Minutes

Your prototype's PersistentClient runs on one box's disk. Here's the exact chroma copy walkthrough to push those collections onto Chroma Cloud's object-storage backend — plus the two batched-write fallbacks for when the CLI can't reach both ends.

3 min
The Stack

How to Add Hybrid Search (Vector + Full-Text) to LanceDB

Pure vector search misses exact terms — product SKUs, error codes, function names — that your agent's retrieval has to nail. This is the copy-paste walkthrough for combining semantic and keyword search in LanceDB with an FTS index and a reranker, in about a dozen lines.

4 min
The Stack

How to Point CrewAI's Memory at Your Own Qdrant: The 1.14 Pluggable-Backend Way

CrewAI 1.14 made memory a backend you own instead of a black box it ships. Here's the copy-paste path from the bundled default store to your own Qdrant — and the one config field whose name will confuse you.

4 min
The Stack

Chroma vs LanceDB: The Embedded Vector Store Decision, Made on the Storage Layer

You've ruled out running a server. Now it's Chroma or LanceDB — and the choice isn't recall quality. It's whether you're optimizing for the fastest path to shipping or for the shape of the data itself.

4 min
The Stack

LanceDB vs Turbopuffer: Own-Your-Bucket vs Serverless Namespaces for Agent Retrieval

Both run vector, full-text, and hybrid search off object storage at billion scale. The real fork is whether your data stays an open file you own, or lives behind one vendor's API.

4 min
The Stack

Chroma Bet Your Vectors on Object Storage, Not SSD — and That One Choice Decides If It's Right for You

The Rust rewrite made Chroma fast, but the architecture that matters is where the index lives. Chroma serves search from S3-class storage, which sets the exact cost and latency shape you're signing up for.

5 min
The Stack

How to Add Semantic Caching to Your LLM App (and Cut the Bill 30–90%)

Semantic caching trades a small, real risk of serving the wrong answer for a large cost and latency win — worth it for FAQ, docs, and support Q&A, dangerous anywhere small wording changes should change the answer.

6 min
The Stack

Parsing PDFs for RAG in 2026: PyMuPDF4LLM vs Docling vs Marker vs LlamaParse vs Mistral OCR

The comparison table asks 'which parser is best.' Wrong question. The right one is: how hard are your documents to read? Pick the cheapest tool that survives them — and only pay for a vision model when your PDFs actually earn it.

4 min
The Wire

The Vector Index That Never Rebuilds: In-Place Updates at Billion Scale

HNSW and DiskANN treat an index as a build artifact you periodically tear down and rebuild. SPFresh-class indexes — like Weaviate's HFresh — treat it as a living structure that rebalances as you write. The axis that decides which you need isn't recall. It's your write pattern.

4 min
The Wire

Git for Your Corpus: LanceDB Branching Makes RAG Evals Reproducible

LanceDB 0.34.0 added table branches — writes on a branch don't touch main. The headline feature is substring search; the sleeper is that the hard part of RAG evals was never the metric. It was holding the corpus still.

4 min
The Wire

LanceDB's FM-Index: Substring Search for Code, Logs, and IDs — Not Word Search

Full-text search tokenizes your text into words, so it structurally cannot match a fragment inside a token. LanceDB's new FM-Index indexes the raw bytes instead — the exact-match primitive code and log agents were missing.

4 min
The Wire

You're Measuring Your Semantic Cache Wrong: Hit Rate Hides the False Positives

Everyone reports the hit rate. The number that decides whether a semantic cache is safe to ship is the false-positive rate — and the fix for false positives eats the exact win you installed the cache to get.

4 min
The Wire

Decoder-Backbone Rerankers: Why Your Cross-Encoder Is Now an LLM (and Fails Like One)

The word 'cross-encoder' still means one query-doc pair, one relevance score. But the model underneath quietly flipped from a BERT encoder to a causal decoder — and it brought the LLM's failure modes with it.

4 min
The Wire

How to Scale a Vector Database to Billions of Vectors

Sharding vectors is nothing like sharding rows. The real decision isn't where the data lives — it's how many shards each query is allowed to skip, and what recall you pay to skip them.

4 min
The Wire

Semantic Caching Quietly Breaks AI Agents — and Accuracy Isn't the Fix

A cache that skips a duplicate chatbot answer is a savings. A cache that skips a duplicate agent step is a wrong action. New 2026 benchmarks show the standard tools score under 40% — and the fix is the opposite of what you'd guess.

4 min
The Wire

Qdrant's TurboQuant: Binary-Quant Storage at Scalar-Quant Recall

Qdrant 1.18 shipped a Google Research quantizer that rotates your vectors before it compresses them. The rotation is the whole trick — and the reason it works on any embedding model.

4 min
The Wire

Milvus Replaced Kafka and Pulsar With a WAL on S3: Why the Write Path Was the Real Bottleneck

The vector-database benchmark wars are all fought on the read path — recall and QPS. Milvus 2.6 spent its headline engineering on the part nobody charts: the durability log, which it moved straight onto object storage.

5 min
The Wire

Semantic Caching for AI Agents: Why the 73% Cost-Cut Number Doesn't Apply to You

The headline savings from semantic caching are real — and they come from a workload your agent doesn't have. Two different things are both called 'caching,' and only one of them is safe to put around a tool call.

4 min
The Wire

Best Vector Database for Multi-Agent Systems: Why the Single-Query Leaderboard Lies

Every vector-DB benchmark measures one query at a time. A multi-agent system is the opposite workload — many agents reading and writing at once — and that is exactly where the rankings flip.

4 min
The Wire

On-Device Vector Search for Agent Memory: sqlite-vec, ObjectBox, and Qdrant Edge

A hosted vector database is the right home for a shared knowledge base and the wrong home for one agent's private memory. Three embedded engines are quietly claiming the second half of the workload.

4 min
The Wire

Weaviate's MCP Server: Your Vector Database Is Now an Agent Tool

Weaviate 1.37 builds a Model Context Protocol server into the main binary, so an agent calls hybrid search directly. The subtle part isn't the wiring — it's that the model now owns the alpha knob and can write to your index.

4 min
The Wire

RAG Without a Vector Database: What PageIndex's Reasoning-Based Retrieval Actually Trades

PageIndex hits 98.7% on a financial-QA benchmark where vector RAG scores ~50% — and it never embeds a thing. But the headline gap hides the real decision: not accuracy vs. vectors, but where you want your cost to live — index-time or query-time.

4 min
The Wire

Why Prefix Caching Silently Dies on Mamba-Hybrid Models: The 528-Token Cliff

Prefix caching assumes every token leaves a reusable KV entry. Mamba layers don't — they carry one recurrent state — so serving engines align the cache block to the Mamba page, and short prompts fall off a throughput cliff.

4 min
The Wire

Pinecone Nexus and KnowQL: When Retrieval Becomes a Compile Step

Pinecone says the RAG era is ending and agents should query compiled knowledge artifacts through a new language called KnowQL. The idea is real. The benchmarks are Pinecone's own — and the hard part is the one they don't measure.

5 min
The Wire

Faithfulness vs Groundedness vs Correctness: Which RAG Hallucination Check Catches a Wrong Answer

A faithfulness score of 1.0 doesn't mean your RAG answer is right. It means the model didn't stray from the context — even when the context was wrong. Here's what each check actually audits.

4 min
The Wire

Right to Be Forgotten in RAG: How to Actually Delete a User From a Vector Database

The DELETE call is the easy five percent. A user's data has already fanned out into the index, the chunk store, the cache, your trace logs, and maybe a fine-tune — and in most vector engines the delete is a tombstone the graph keeps walking until compaction.

6 min
The Stack

Qdrant vs Milvus vs Weaviate: Filtered Search Is the Question That Separates Them

They all scale now, and they all do hybrid search. The axis that still forks the decision is the one nobody puts on a benchmark chart: how each keeps a metadata filter from wrecking recall.

5 min
The Wire

How to Tune HNSW: The Three Knobs Behind Vector Search Recall

M, ef_construction, and ef_search decide whether your vector search is fast, accurate, or neither. Only one of them can be changed after you build the index — and it's the one most teams never touch.

5 min
The Wire

Brute-Force vs Approximate Vector Search: Do You Even Need a Vector Database?

Approximate nearest-neighbor search is a tax you pay to survive scale you may not have. Below a few hundred thousand vectors, exact brute-force is faster, perfectly accurate, and has no index to rot.

4 min
The Wire

How to Evaluate an Embedding Model on Your Own Data

The MTEB leaderboard is a prior, not an oracle. The model that wins your RAG system is the one you measure on a few hundred of your own labeled queries — here is how to build that eval.

4 min
The Wire

RAFT vs RAG vs Fine-Tuning: When to Train on the Documents You Retrieve

RAG gives the model an open book; fine-tuning makes it memorize. RAFT does the thing neither does — it trains the model on bad retrieval, so it survives the wrong chunk your production retriever will hand it.

4 min
The Wire

MMR vs Reranking in RAG: Why Your Top-K Returns the Same Fact Five Times

A reranker and a diversity step look like the same 'advanced RAG' upgrade. They fix opposite failures — and the benchmark that everyone cites quietly shows that turning on diversity often does nothing at all.

5 min
The Wire

How to Evaluate a Reranker for RAG: The Number That Caps It Isn't the Reranker's

A reranker can only reorder what your retriever already fetched, so the ceiling on its lift is your stage-one recall — measure that first, then judge the reranker as the latency and dollars you pay to convert recall into precision.

5 min
The Wire

How to Do RAG Over Tables: When to Embed Rows and When to Generate SQL

Your RAG pipeline works on documents and falls apart on a spreadsheet — because a table's meaning lives in its grid, and an embedding flattens the grid away.

5 min
The Wire

LLM Rerankers vs Cross-Encoders vs Listwise: Which Reranking Architecture for RAG?

Reranking quietly split into three architectures in the last year. They make the same accuracy-for-latency trade in different places — and the newest, highest-scoring tier is the one you can least afford on a hot path.

5 min
The Wire

Filesystem vs Vector Database for Agent Memory: Why 2026 Agents Write to Files

The year's quietest architecture shift is agents moving their memory out of vector stores and into plain files. It isn't that memory got better — it's that teams stopped using a retrieval tool for a state problem.

5 min
The Wire

MTEB vs MMTEB vs RTEB: How to Read an Embedding Leaderboard in 2026

The number at the top of the MTEB leaderboard has quietly stopped meaning what you think it means. Here is which board to read, and why the newest one hides half its test set on purpose.

4 min
The Wire

How to Keep a Vector Database in Sync With Your Source Data

Adding and updating vectors is the easy half — upsert overwrites by ID. The half everyone forgets is deleting the orphans, because a stale vector never errors. It just keeps getting retrieved.

4 min
The Wire

Elasticsearch vs OpenSearch vs Vespa: Choosing a Hybrid Search Engine for RAG

Two of these are near-twins separated by a license; the third is a different kind of machine entirely. The hard part is realizing you're answering two questions, not one.

4 min
The Wire

SPLADE vs BM25 vs Dense: Does Learned Sparse Retrieval Beat Hybrid Search?

Learned sparse retrieval promises dense-quality matching without giving up the inverted index. The catch isn't relevance — it's the query-time bill, and there's a mode that erases it.

5 min
The Wire

RAPTOR vs Naive RAG: When Hierarchical Retrieval Actually Wins

Flat top-k retrieval returns the chunks most similar to your query. For "what is this document about?" that's exactly the wrong thing. RAPTOR retrieves at the right altitude instead.

5 min
The Wire

Multi-Tenant RAG: How to Isolate Customer Data in a Vector Database

The real question isn't which isolation feature to use. It's where the tenant boundary lives — and what happens the one time a code path forgets to apply it.

5 min
The Wire

ModernBERT vs BERT: The Encoder Comeback for RAG Retrieval and Reranking

Decoder-only LLMs took all the oxygen, but the model quietly doing your retrieval, reranking, and classification is still a small bidirectional encoder — and in late 2024 it finally got a 2024-era redesign.

4 min
The Wire

Embedding Quantization: Binary vs Scalar (int8) vs float32 for Cheaper Vector Search

Storing embeddings at full precision is a tax most RAG systems don't need to pay. Binary cuts memory 32x — and the trick that buys the quality back is cheaper than the savings.

5 min
The Wire

Code Retrieval for AI Coding Agents: Embedding Index vs Agentic Grep

The two best coding agents disagree at the architecture level on how to find the right code. One builds a vector index of your repo; the other threw the index away and runs grep. The split is about freshness, not accuracy.

4 min
The Wire

Retrieval Metrics for RAG: Recall@k vs MRR vs NDCG (and Which One Actually Matters)

Search teams optimize NDCG. RAG teams copy them — and measure the wrong thing. For a pipeline that hands the whole top-k to a generator, recall is the floor and rank position is a second-order correction.

5 min
The Wire

Parent Document vs Sentence Window vs Auto-Merging Retrieval

The chunk that matches your query best is rarely the chunk that answers it. Small-to-big retrieval fixes that — here's how the three patterns differ and which to reach for.

5 min
The Wire

RAG Context Ordering: Where to Put Your Best Chunk in the Prompt

The 'reorder so the best chunks sit at the start and end' trick everyone copies from LangChain is a 2023 patch for a 2023 problem. On a tight, well-reranked context it can quietly demote your second-best evidence to the worst seat in the room.

4 min
The Wire

How to Migrate Embedding Models in Production Without Wrecking Retrieval

Re-embedding your corpus is cheap. The expensive part is that two models live in two incompatible vector spaces — and a naive rolling reindex hides the damage behind green dashboards.

5 min
The Stack

How to Chunk Code for RAG: AST-Aware Splitting vs Fixed-Size

Prose chunkers shred code mid-function and wreck the structure retrieval depends on. Here is how to split on the AST instead — and why context enrichment matters more than chunk size.

6 min
The Wire

How to Build a Knowledge Graph From Documents With an LLM

Extracting entities and relations is the easy 80%. The graph is only as good as the step everyone skips — deciding that 'OpenAI', 'OpenAI Inc.', and 'the company' are one node.

4 min
The Wire

How to Add Citations to a RAG Pipeline

A citation is a pointer, not a proof. Getting an LLM to footnote its answer is an architecture decision about which IDs survive into the prompt — not a line you add to the system message.

5 min
The Stack

Semantic Caching for LLM Apps: GPTCache vs Redis vs Gateway Caching

The cheapest LLM call is the one you never make. Three ways to skip it when a question is close enough to one you already answered — and the one knob that decides whether that's a feature or a bug.

5 min
The Wire

Cross-Encoder vs Bi-Encoder: Why Your Retriever and Your Reranker Can't Be the Same Model

They read like rivals you choose between. They're two stages of one pipeline, forced apart by a single computational fact — and that fact tells you exactly where each one belongs.

5 min
The Wire

Agent Memory vs RAG: What's Actually Different

Both embed a query and pull matching text into the prompt, so they look like the same trick. The difference is who writes the index — and that single fact moves the hard problem from retrieval to write discipline.

4 min
The Wire

Cosine vs Dot Product vs Euclidean: Which Vector Similarity Metric (and Why It Often Doesn't Matter)

For the normalized embeddings most models now emit, all three metrics rank results identically. The decisions that actually change your recall are the two nobody frames as a choice.

5 min
The Wire

Qwen3-Embedding vs EmbeddingGemma vs BGE-M3: The Best Open-Weight Embedding Model in 2026

The open-weight embedding race stopped being one race. It split into two that don't compete — and the most interesting model isn't a single vector at all.

5 min
The Wire

Context Rot: Why a Bigger Context Window Doesn't Mean Better Recall

A million-token window is not a million usable tokens. Models degrade non-uniformly as input grows — sometimes performing worse than with no documents at all. The lever for agents isn't a bigger window; it's a cleaner one.

4 min
The Wire

BM25 vs Dense vs Hybrid Search: How to Actually Combine Them for RAG

Vector search quietly fails on product codes and function names. Here's why, what BM25 fixes, and why rank-based fusion beats score-mixing.

6 min
The Wire

Pre-Filtering vs Post-Filtering: Metadata Filters in Vector Search

Bolting a WHERE clause onto a vector search sounds trivial. It quietly breaks the index — and the fix is different in Qdrant, Weaviate, pgvector, and Pinecone.

5 min
The Stack

Neo4j vs FalkorDB vs Memgraph: Choosing a Graph Database for GraphRAG

The benchmark wars miss the two axes that actually decide a GraphRAG backend — where your graph lives in the memory hierarchy, and which restrictive license it ships under. The permissive option just died.

5 min
The Wire

Model2Vec vs Sentence Transformers: Static Embeddings and the 500x CPU Speedup

You can distill a sentence transformer into a token lookup table that needs no forward pass at inference — up to 500x faster on CPU, ~50x smaller, and it keeps more quality than the speedup suggests it should.

4 min
The Wire

Matryoshka Embeddings: How to Shrink Vectors Without Wrecking Recall

A Matryoshka-trained embedding lets you chop off the tail of every vector and still search well — and a two-pass trick gets you the storage savings and the accuracy at the same time.

4 min
The Stack

LanceDB vs sqlite-vec vs DuckDB: Embedded Vector Search for AI Agents in 2026

The embedded tier runs vector search inside your app with no server to babysit; the real choice is not speed but what your data does when it changes.

5 min
The Wire

CAG vs RAG: When Cache-Augmented Generation Beats Retrieval

Cache-augmented generation deletes the retriever and preloads your whole knowledge base into the KV cache. The real question isn't speed — it's whether your corpus fits and how often it changes.

5 min
The Stack

Turbopuffer vs Pinecone vs Vectorize: Serverless Vector Search in 2026

The vector database fight stopped being about speed. It's now about where your index sleeps — and whether you have one hot haystack or a million cold ones.

5 min
The Wire

Self-RAG vs Corrective RAG: Two Ways to Make Retrieval Check Itself

Both bolt a quality check onto RAG, but they fix different failures at different points — and the choice comes down to one question: do you control the model's weights?

4 min
The Wire

Query Rewriting vs HyDE vs Multi-Query: Fixing the RAG Question, Not the Index

Three popular RAG upgrades all transform the query before retrieval — and they're useless if your retrieval was failing for a different reason. Here's how to tell.

5 min
The Wire

Late Chunking vs Contextual Retrieval: Two Fixes for RAG's Context Problem

Your chunks lose the document around them before they're ever embedded. Jina and Anthropic solve it in opposite places — one in vector space for free, one in the text for a price.

4 min
The Wire

How to Evaluate a RAG Pipeline: The Metrics That Predict Quality

Most RAG failures are retrieval failures wearing a generation costume — so measure the two halves separately or you'll tune the wrong one for weeks.

4 min
The Wire

Fine-Tuning Embedding Models for RAG: When It Beats a Bigger Model

When retrieval underperforms, everyone reaches to fine-tune the LLM. The cheaper, higher-leverage move is to fine-tune the embedding model — and almost all the gain comes from one ingredient.

4 min
The Stack

The Best Open-Source RAG Platforms: RAGFlow vs R2R vs Kotaemon

The real divide in open-source RAG isn't which library to import — it's whether to build with one at all, or deploy a finished engine. Three engines, three very different bets.

4 min
The Wire

Voyage vs OpenAI vs Cohere vs Gemini: Choosing a Text Embedding API in 2026

The embedding model you pick barely moves your bill. The dimensions you store and the precision you keep — that's the recurring cost, and it's the decision almost nobody makes on purpose.

5 min
The Stack

TEI vs Infinity vs vLLM: Choosing an Embedding Inference Server in 2026

Three ways to serve embeddings at scale that look like rivals but answer a different question: should embeddings be a dedicated specialist, or ride on the GPU already running your LLM?

6 min
The Stack

ColPali vs Byaldi vs ColiVara: Visual Document RAG Without OCR

Three repos for retrieving over PDFs as images instead of parsed text — and why the real choice between them is who owns the multi-vector storage problem, not who has the best model.

4 min
The Wire

ColBERT vs Dense vs Sparse Retrieval: When Late Interaction Is Worth It

Dense, sparse, and late-interaction retrieval aren't a quality ladder. They're three answers to one question — where does the matching cost live — and the answer decides your storage bill.

5 min
The Wire

Binary vs Scalar vs Product Quantization: Shrinking Vector Search Without Wrecking Recall

Three ways to compress embeddings for cheaper, faster retrieval — and the two-tier trick that turns a 32x memory cut into a 4% accuracy cost instead of a wipeout.

5 min
The Stack

pgvector vs pgvectorscale vs pgai: The Postgres-Native AI Stack

They get listed as three competing ways to do vector search in Postgres. They are not competitors — they are three rungs of one ladder, and one rung just fell off.

4 min
The Stack

GraphRAG vs LightRAG vs Graphiti: Picking a Knowledge-Graph RAG Tool in 2026

Three popular repos all build a knowledge graph for your LLM. They were built for three different jobs, and the one axis that decides between them is whether your corpus sits still.

5 min
The Wire

CLIP vs SigLIP vs Jina CLIP: Multimodal Embeddings for RAG

Teams pick a multimodal embedder by its ImageNet zero-shot score. For retrieval that is the wrong number — and chasing it lands you with two models and two indexes instead of one.

4 min
The Wire

Agentic RAG vs Naive RAG: When to Let the Model Drive Retrieval

Naive RAG retrieves once and hopes. Agentic RAG turns retrieval into a decision the model makes at runtime — paying for it on every query to win the queries that silently fail.

5 min
The Wire

RAG vs Long Context: When to Retrieve and When to Stuff the Window

Million-token windows were supposed to kill retrieval. The benchmarks say something stranger — the choice is really between two different failure modes, and only one of them is loud.

6 min
The Wire

pgvector vs Pinecone vs Qdrant: Picking a Vector Database in 2026

All three clear the recall-and-latency bar for almost any agent you'll build. The real decision is where the operational cost lives — and there's a query volume where the answer flips.

4 min
The Wire

Hybrid Search vs Semantic Search: Why Vector RAG Misses Exact Matches

Embeddings smear error codes, SKUs, and function names into "nearby" meaning and lose the literal. Hybrid search fixes it — but the real work is in the fusion step, not the index.

5 min
The Wire

HNSW vs IVF vs DiskANN: Choosing a Vector Index

Almost every vector-index comparison argues about query speed. Below ten million vectors that is the one thing that rarely decides it. The real choice is where your vectors live, and what it costs to change them.

5 min
The Wire

Fine-Tuning vs RAG: When to Actually Fine-Tune an LLM in 2026

They are not two answers to one question. RAG fixes what the model doesn't know; fine-tuning fixes what it won't do the way you need. Pick by the failure, not the fashion.

5 min
The Wire

Contextual Retrieval vs Naive RAG: Fix the Chunk, Not the Model

Most RAG retrieval failures are context lost at chunk boundaries — contextual retrieval fixes them at index time, cheaper than a bigger embedding model or GraphRAG.

4 min
The Stack

The Best Reranker for RAG in 2026: Cohere vs Jina vs BGE

A reranker is the cheapest large win left in a RAG pipeline — a stateless model you bolt on after retrieval. The trap is choosing one by leaderboard rank instead of the two things that actually decide it.

4 min
The Wire

The Best Chunking Strategy for RAG in 2026: Fixed vs Semantic vs Late Chunking

The chunk-size A/B test is the most over-run experiment in RAG. The teams winning on retrieval stopped tuning how they split and started fixing what each chunk forgets.

4 min
The Wire

Semantic Caching for AI Agents: When a Cache Hit Returns the Wrong Answer

Caching LLM calls by meaning can cut your bill and your latency — or it can confidently serve last user's answer to this user's question. The whole game is the similarity threshold nobody tunes.

4 min
The Stack

GraphRAG vs Vector RAG: When a Knowledge Graph Actually Earns Its Cost

Microsoft GraphRAG, LightRAG, and LazyGraphRAG all promise smarter retrieval. The honest question isn't which to pick — it's whether your queries are the kind a graph can even help.

4 min
The Stack

Chroma vs Weaviate vs Milvus: Picking an Open-Source Vector Database in 2026

The old way to choose was "which one scales." That axis has quietly collapsed — all three now run on a laptop and across a cluster. What's left is a question about default posture and the ops bill you're signing up for.

4 min
The Wire

How to Choose a Vector Database for AI Agents: pgvector vs Pinecone vs Qdrant

The benchmarks everyone argues about measure the thing that almost never decides the choice. The real axis is where your vectors live — and whether you can afford to keep them there.

4 min
The Wire

The Best Embedding Model for RAG Is the One You Benchmark Yourself

Voyage, OpenAI, Gemini, Cohere, and open-weight BGE all top some leaderboard. The MTEB score you're comparing is the least important number in the decision.

4 min

Latest in RAG & Retrieval

Not buyer's guides — the news, teardowns, and explainers behind this topic.

← All comparison topics