A close‑up of a search query interface with data streams visualisation

Mastering BM25: How to Tune Search Relevance in Large‑Scale Indexes

A hands‑on guide to adjusting BM25 k1 and b, handling document length normalization, and scaling BM25 for low‑latency search at scale.

October 5, 2026 · 7 min · 1295 words · martinuke0
BM25+ formula visualized on a search interface

Deep Dive into BM25+: Tuning Parameters for Large‑Scale Enterprise Search

BM25+ extends classic BM25 with term frequency saturation and document length normalization. This guide walks you through parameter selection, real-world tuning, and production patterns for enterprise search.

October 1, 2026 · 10 min · 2089 words · martinuke0
A terminal showing BM25 retrieval scores alongside a RAG pipeline diagram

Build a RAG Pipeline with From-Scratch BM25: A Hands-On Portfolio Project

A hands-on guide to building a Retrieval-Augmented Generation pipeline with a from-scratch BM25 scorer. Covers architecture, real Python code, testing, and a senior-level roadmap for extending it into a production-grade system.

September 23, 2026 · 13 min · 2598 words · martinuke0
A diagram of a RAG pipeline with BM25 and transformer

A BM25 Sparse Retriever + Tiny Transformer Generator RAG Pipeline in Pure Python

This guide walks you through implementing a BM25 sparse retriever and a tiny decoder‑only transformer generator from scratch in pure Python, producing a functional RAG pipeline you can showcase on your CV.

September 20, 2026 · 8 min · 1628 words · martinuke0
A sleek Python code editor with a RAG pipeline diagram.

Build a Pure‑Python Hybrid RAG Engine with BM25, HNSW, and Cross‑Encoder Reranking

Learn to stitch together BM25, HNSW, and a miniature GPT‑2 model in pure Python for a standout RAG project.

September 18, 2026 · 8 min · 1568 words · martinuke0
Feedback