Free to read

Stop hallucinations with real RAG and reranking

A grounded chatbot needs more than embeddings. Scrape real websites, index them in ChromaDB, and rerank retrieved chunks with a cross-encoder so the LLM answers from facts, not fiction.

Still deciding? Ask first.

Message a mentor about fit, prerequisites, or where to start. Replies come on WhatsApp, usually within a day.

  • Curriculum fit, prerequisites, or where to start
  • Honest answer, no pressure to enroll

Taught by an engineer who has shipped this

  • ISO 27001

    Led the engineering work behind the certification of a regulated EU platform.

  • Series A platform

    Architected the case-management product that became the business a €11.6M round was raised on.

  • 3x faster deploys

    Cut time-to-deploy by migrating to Kubernetes on GCP with deploy-on-merge.

Build a production-ready RAG chatbot that scrapes websites, indexes content in ChromaDB, and reranks results with a cross-encoder for higher answer quality. Learn retrieval, reranking, metadata filtering, and trustworthy grounded responses.

Build a grounded RAG chatbot with ChromaDB, web scraping, and cross-encoder reranking.

What you'll ship

Real projects, not toy demos.

  • Scrape any public website and turn its pages into searchable chunks
  • Index content in ChromaDB with embeddings and per-source metadata
  • Retrieve candidate chunks with vector similarity and filter by source URL
  • Rerank candidates with a cross-encoder for sharper top-k results
  • Ground the LLM with retrieved context so it stops hallucinating

What you'll learn

You finish able to:

  • Scrape web pages cleanly with BeautifulSoup and chunk them with recursive splitting
  • Generate embeddings with sentence-transformers and store them in ChromaDB
  • Retrieve candidate chunks and filter by source URL with metadata queries
  • Rerank with a cross-encoder to push the most relevant chunks to the top
  • Write grounded RAG prompts that refuse to answer when sources are missing
  • Scale the pipeline to multiple source websites with clean separation

Curriculum

From a raw URL to a reranked, grounded answer.

  1. 01

    Content ingestion

    Set up the project, scrape real web pages, and see why a naive chatbot falls apart without grounding

  2. 02

    The RAG pipeline

    Build the full pipeline: embeddings, ChromaDB storage, retrieval, and grounded answer generation

  3. 03

    Quality and scale

    Tune retrieval quality and extend the pipeline to multiple source sites

Who it's for

Is this for you?

Backend engineers

who need a real RAG pipeline, not a LangChain quickstart that breaks in production

AI practitioners

tired of hallucinating chatbots and want grounded answers with source attribution

Python developers

curious about embeddings, vector stores, and reranking but unsure how they fit together

FAQ

Common questions.

  • Do I need a GPU for this?

    No. The embedding and cross-encoder models used here (all-MiniLM-L6-v2, ms-marco-MiniLM-L-6-v2) run fine on CPU. They are small enough for a laptop.

  • Why ChromaDB and not Pinecone or Weaviate?

    ChromaDB runs locally with zero setup and persists to disk. It is perfect for learning and shipping small production workloads. The patterns you learn transfer directly to any vector database.

  • Is reranking really necessary?

    Yes, if you care about answer quality. Bi-encoder similarity search is fast but coarse. A cross-encoder compares the query against each candidate directly and is noticeably more accurate. You retrieve many, then rerank to a few.

  • Does this replace the RAG Fundamentals course?

    No. RAG Fundamentals teaches the concepts. This course builds a real, scalable implementation with reranking and metadata filtering that production systems actually use.