This repository contains all the code exercises and project materials for the AI Agents course, created by Towards AI and Decoding ML. This course is designed for developers who want to move beyond basic LLM tutorials and build production-grade AI agents and workflows. It provides a hands-on, project-based approach to learning agentic architecture patterns, modern frameworks like LangGraph, and essential production skills like LLMOps, evaluation, and deployment.
The repository is organized to help you easily find and follow along with the course materials.
lessons/: This directory contains all the code notebooks (.ipynbfiles) for the course lessons. Each lesson has its own folder (e.g.,01_ai_agents_landscape/).utils/: Helper scripts and utility functions used in the notebooks..env.example: A template file for your environment variables.pyproject.toml: The main configuration file for project dependencies.uv.lock: A lock file generated byuvto ensure a reproducible environment.
For instructions on running the Nova research agent from the terminal (MCP server + client), see the dedicated README in
lessons/research_agent_part_2/README.md.
To run the course notebooks, you'll need to set up your local environment. Follow these steps to get everything installed and configured.
First, make sure you have Git and the uv package manager installed.
- Git: This is used to clone the repository.
uv: A modern, high-speed Python package manager that will handle all dependencies for this project.
Clone the course repository as described in the admin lesson of the course. It uses a fine-grained GitHub token to provide read-only access to its contents.
Navigate into the cloned repository's root directory and run uv sync --group dev. This will create a virtual environment (.venv folder) and install all the necessary packages defined in the pyproject.toml file.
cd course-ai-agents
uv sync --group devThe course notebooks use Google's Gemini models. To use them, you'll need to get a free API key from Google AI Studio.
- Copy the example environment file:
cp .env.example .env - Open the new
.envfile and replace the placeholder text with your actualGOOGLE_API_KEY.
The code exercises are in the form of Jupyter Notebooks (.ipynb files). You can run them using the classic browser interface or a modern code editor like VS Code.
Option A: Run in your Web Browser
- First, create a Jupyter kernel that points to your new virtual environment:
uv run ipython kernel install --user --name="ai-agents-course" - Launch the Jupyter Notebook interface:
uv run jupyter notebook
- This will open a new tab in your browser. Navigate to a lesson's notebook file.
- Once the notebook is open, click on Kernel > Change kernel in the top menu and select
"ai-agents-course"from the list.
Option B: Run in VS Code
- Make sure you have the official Jupyter extension installed from the marketplace.
- Open the
course-ai-agentsproject folder in VS Code. - Open any
notebook.ipynbfile from thelessonsdirectory. - Click on the “Select Kernel” button in the top-right of the editor.
- Choose “Python Environments” from the list of options.
- Select the virtual environment from the cloned repository, which will be located at
.venv/bin/python.
You are now ready to run the code cells in the notebook