Skip to Content
RAG with Python Cookbook
book

RAG with Python Cookbook

by Dominik Polzer
May 2026
Intermediate to advanced
378 pages
8h 17m
English
O'Reilly Media, Inc.
Content preview from RAG with Python Cookbook

Chapter 4. Data Preparation

When feeding longer texts into RAG systems, preprocessing breaks the document into smaller chunks. Each chunk is converted into an embedding vector that captures its semantic meaning. During retrieval, the system measures similarity by calculating distances between these vectors to find relevant text.

This works best when each chunk contains exactly one piece of information and can be understood independently. The key challenge is preparing chunks that stand alone without relying on surrounding context. A robust processing pipeline cleans raw text and splits it at the right points to produce meaningful chunks.

Figure 4-1 illustrates common preprocessing techniques:

Text preparation

Replace abbreviations and clean the text.

Metadata collection

Store page numbers, source, and author.

Text splitting

Apply character, recursive, semantic, or agentic chunking.

The goal is producing clear, unambiguous chunks that don’t require surrounding context.

Diagram illustrating the simplified RAG indexing pipeline, showing stages of processing, chunking, and embedding model.
Figure 4-1. A simplified RAG indexing pipeline including potential data processing techniques

Store useful metadata with each chunk to enable filtering during retrieval, making the process both faster and more accurate.

You can find all the code examples for this chapter in the book’s GitHub repository.

4.1 Adding Metadata to Enable Metadata Filtering

Problem

You want to store metadata alongside the text ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Python Polars: The Definitive Guide

Python Polars: The Definitive Guide

Jeroen Janssens, Thijs Nieuwdorp

Publisher Resources

ISBN: 9798341600553Errata Page