#rag

5 posts

Hybrid Retrieval v2: Qwen Embeddings, BM25, and RRF with a FastEmbed Reranker

Hybrid Retrieval v2: Qwen Embeddings, BM25, and RRF with a FastEmbed Reranker

Dense vectors miss exact identifiers. Here's the hybrid Qdrant setup I run: Qwen3 embeddings, BM25 sparse vectors, RRF fusion, and a CPU FastEmbed reranker.

We Almost Deployed a Temporal Knowledge Graph. The Eval Said No.

We Almost Deployed a Temporal Knowledge Graph. The Eval Said No.

A temporal knowledge graph passed every static RAG test and still failed. The gap was temporal reasoning, and one eval caught it before prod did.

I Benchmarked My Homelab Memory Stack: Hybrid Search + Local Reranker Took LoCoMo from 63% to 80%

I Benchmarked My Homelab Memory Stack: Hybrid Search + Local Reranker Took LoCoMo from 63% to 80%

How adding BM25 hybrid search and a local BGE reranker to a vector-only agent memory stack moved LoCoMo accuracy from 63% to 80%, and what it cost in latency.

Silent Drift: Why Re-Embedding Only on Count Changes Rots Your Semantic Index

Silent Drift: Why Re-Embedding Only on Count Changes Rots Your Semantic Index

Count-based re-embedding leaves stale vectors pointing at edited text. Here's how semantic drift creeps in and how hash-based validation stops it.

The 6-Layer Memory Architecture I Run for Claude Code

The 6-Layer Memory Architecture I Run for Claude Code

Open-sourcing the memory system behind my Claude Code setup: CLAUDE.md, path-scoped rules, wiki, vector search, cognitive memory. With the mistakes.

← All tags