This lesson's interactive features are locked, please to keep using them
Click to play video
Imagine if you had to scroll through every single movie on Netflix to find the movie you're looking for.
Search is a non-negotiable feature of nearly all content-based web applications. In this course, we'll learn how it works, then focus on using AI, LLMs, and search together for an even better user experience. Good search is about much more than exact keyword matches. We want to be able to:
To do that, we'll learn about RAG, or "Retrieval Augmented Generation." "Retrieval" is the first component in RAG:

We're going to build pieces of a make-believe product called Hoopla, a Netflix-like streaming service. Specifically, we'll build the technologies that power its search bar.
Hoopla needs movie data to search through. Let's download the dataset we'll use throughout this course.
uv init rag-search-engine
cd rag-search-engine
uv venv
Make sure the venv directory is in your .gitignore file. uv init usually adds it for you.
source .venv/bin/activate
You should see (rag-search-engine) at the beginning of your terminal prompt; for example, mine is:
(rag-search-engine) wagslane@MacBook-Pro-2 rag-search-engine %
Always make sure that your virtual environment is activated when running the code or using the Boot.dev CLI in this course.
Run and submit the CLI tests.