1. Project Overview & Quickstart (DataTalksClub/llm-zoomcamp)
File: README.md
Quick Links
| Resource | Link |
|---|---|
| ๐ฌ Course launch stream | Watch on YouTube |
| Course materials | GitHub repository |
| Video lectures | YouTube playlist |
| Documentation | Zoomcamp Logistics ยท LLM Zoomcamp |
| Cohort schedule & deadlines | courses.datatalks.club |
| Slack community | #course-llm-zoomcamp |
| Announcements | Telegram |
| 2025 cohort projects | courses.datatalks.club/llm-zoomcamp-2025/projects |
About the Course
LLM Zoomcamp teaches you how to build practical, production-ready LLM applications step by step. Over 10 weeks you'll learn Retrieval-Augmented Generation, vector search, embeddings, AI agents, function calling, evaluation, monitoring, hybrid search, reranking, and more - all free, open-source, and hands-on.
Who Should Join
This course is for people who learn by doing. After completing it, you'll have a working codebase and the hands-on experience to build your own LLM-powered applications.
- Software Engineers: Add LLMs, RAG, and modern search capabilities to real products
- Data Engineers: Understand how vector search, hybrid search, and retrieval pipelines fit into production systems
- ML Practitioners: Get a structured way to evaluate and monitor LLM-based applications
Prerequisites
- Python: You can write code confidently
- Command Line: Comfortable with terminal
- Docker: Basic familiarity
- ML / LLMs: Not required
- Hardware: Any laptop or PC. No GPU needed
- Expenses: ~$1-5 in API credits
[!NOTE]
If you can write a Python function and have heard of ChatGPT, you have enough to get started.
How to Take the Course
There are two ways to follow the course: live and self-paced.
| Live Cohort | Self-Paced | |
|---|---|---|
| Start | June 8, 2026, 17:00 CET | Anytime |
| Lectures | Pre-recorded | Pre-recorded |
| Homework | Graded | Available but not scored |
| Leaderboard | โ Yes | โ No |
| Peer Review | โ Yes | โ No |
| Certificate | โ Yes | โ No |
| Cost | Free | Free |
| Register | Sign up here | Just start learning! |
[!IMPORTANT]
"Live cohort" does not mean live classes. All lectures are pre-recorded. "Live" means working with others, having deadlines, getting your homework and project scored, review your peers, and getting a certificate at the end.
Self-paced steps:
- Follow the materials on GitHub
- Ask questions and share progress in Slack
- Do homeworks (self-checked) and build a project for your portfolio
Syllabus
[Module 1: Agentic RAG](01-agentic-rag/)
- Build a RAG pipeline with keyword search
- Make it agentic with function calling
[Module 2: Vector Search](02-vector-search/)
- Semantic search with embeddings
- minsearch, sqlitesearch, and PGVector
[Module 3: Orchestration](03-orchestration/)
- AI orchestration with Kestra
[Workshop: Data Ingestion](cohorts/2026/workshops/dlt.md)
- Build dlt pipelines to ingest and analyze LLM traces
- Filesystem and REST API sources, DuckDB, and marimo dashboards
[Module 4: Evaluation](04-evaluation/)
- Measure retrieval and answer quality
- Offline and online evaluation
[Module 5: Monitoring](05-monitoring/)
- Monitor user feedback and system health
- Live dashboards
[Module 6: Best Practices](06-best-practices/)
- LangChain
- Hybrid search: combine vector and keyword search
- Rerank results for higher precision
[Module 7: End-to-End Project](07-project-example/)
- A complete project example: a fitness assistant built with LLMs
[Capstone Project](project.md)
- Ship a complete end-to-end project of your choice from scratch
Recommended approach:
- Watch the video for each module
- Complete the homework to reinforce the concepts
- Build your capstone project applying everything end-to-end
Capstone Project
The capstone is your chance to apply everything end-to-end. You'll build a complete, working RAG application built and owned by you.
What you'll build:
- A searchable knowledge base. Choose a dataset, ingest, clean, and store it for retrieval
- A retrieval pipeline. Implement the full RAG flow: retrieve context, assemble prompts, call an LLM, return grounded answers
- An evaluation process. Measure how well your system retrieves and answers using search metrics or LLM-as-a-Judge
- A user-facing interface. A simple UI or API (Streamlit, FastAPI, or similar) so others can try your app
- Monitoring & feedback loops. Track queries, feedback, and performance over time
Past community project ideas
- Fitness & nutrition assistant
- Study companion for textbooks or course notes
- Medical FAQ assistant
- Codebase Q&A bot
- News summarization and retrieval tool
[!NOTE]
See the full capstone project guidelines and browse all 2025 and 2024 cohort submissions for inspiration.
Certificate
To earn your certificate:
- Complete the final project. Build a real-world RAG application demonstrating all course concepts
- Peer review 3 projects. Evaluate and provide written feedback on three fellow students' submissions
- Meet the deadlines. Submit your project and reviews within the cohort schedule
Certificates are issued after all peer reviews are completed. Self-paced learners are not eligible for certification but can build portfolio projects freely.
See the certificate guide for how the certificate is issued and how to add it to LinkedIn.
Instructors
- Alexey Grigorev - Founder of DataTalks.Club and creator of the Zoomcamp series. Principal data scientist.
- Will Russell - Developer Relations at Kestra.
- Timur Kamaliev - AI engineer building production LLM systems, RAG pipelines, and agentic applications.
Testimonials
"This course gave me hands-on experience in building LLM-powered applications, including prompt engineering, retrieval-augmented generation (RAG), pipeline orchestration, and vector search optimization."
โ Alexander Daniel Rios, LLM Zoomcamp Graduate
"Not gonna lie - this course took longer than planned. By the end, I was running on fumes, forcing myself to push through the final modules. But I made it. What I loved: hands-on experience building real AI systems (not just theory!), deep dives into RAG, vector databases, evaluation, and monitoring, and the wealth of production-ready practices that matter in enterprise environments."
โ Vasiliy Chernykh, LLM Zoomcamp Graduate
Read more testimonials from past graduates โ
Community & Support
Getting Help on Slack
Join the #course-llm-zoomcamp channel on DataTalks.Club Slack for discussions, troubleshooting, and networking with fellow learners and the course team.
To keep discussions useful for everyone:
- Follow our posting guidelines when asking questions
- Review the community guidelines
Learning in Public
We actively encourage sharing your progress online throughout the course. Post what you're building on LinkedIn, X, or a blog. It helps you get noticed and connect with others in the field. It also earns you bonus points toward your homework and project scores.
AI Shipping Labs
If you want extra support and structure while going through the course, AI Shipping Labs is an optional paid community focused on AI engineering. On top of the free course it adds office hours, accountability sprints, personalized onboarding, and member-only workshops. It is also a way to support the course.
Everything we do at DataTalks.Club is free and will stay free. AI Shipping Labs is only for people who want extra on top of the free content. See the AI Shipping Labs guide for what's included and how membership works.
Sponsors
A huge thanks to our sponsors for making this course possible!
[!TIP]
Interested in supporting the DataTalks.Club community? Reach out to [email protected].
FAQ
A few common questions. For everything else, see the full LLM Zoomcamp FAQ.
Q: Is this course really free?
A: Yes. All videos, materials, and homework are free. You may spend $1-5 in OpenAI API credits if you run the code yourself.
Q: Do I need a GPU?
A: No. All exercises are designed to run on a standard laptop using cloud APIs.
Q: What does "live cohort" mean? Are there live classes?
A: No mandatory live classes. All lectures are pre-recorded. "Live" means deadlines, scored homework, a leaderboard, peer review, and certificate eligibility.
Q: Can I take it self-paced, and will I get a certificate?
A: Yes, you can start anytime. Certificates require completing the final project and peer reviews during a live cohort.
Contributing
Found a bug in the course materials? Know how to improve an explanation or fix broken code? Contributions are welcome and appreciated.
- Fork the repository
- Make your fix or improvement
- Open a pull request with a clear description
Every contribution helps future learners. Thank you ๐
About DataTalks.Club
DataTalks.Club is a global online community of data enthusiasts - a place to learn, share knowledge, ask questions, and support each other through free courses, events, and an active Slack community.
[!NOTE]
Most activity happens on Slack. Join us there for updates, discussions, and community events. Learn more at DataTalks.Club docs.
File: 02-vector-search/README.md
Module 2: Vector Search
In this module, we extend the RAG pipeline from
module 1 with vector search. Vector search
matches documents by semantic meaning instead of exact keyword
overlap. We start from embeddings and end with persistent vector
indexes (sqlitesearch, PGVector) and ONNX-based embedders for
lightweight deployments.
Lessons
The lessons cover vector search end to end, from embeddings to
persistent indexes.
- What is Vector Search - Keyword search vs vector search, why it matters
- Embeddings - Turning text into vectors with sentence-transformers
- Embedding Our Dataset - Generating embeddings for the FAQ dataset
- Vector Search - Vector search with numpy
- Vector Search with minsearch - In-memory vector search
- RAG with Vector Search - Replacing keyword search with vector search in our RAG pipeline
- Vector Search with sqlitesearch - Persistent vector search backed by SQLite
- Vector Search with PGVector - Production vector search with PostgreSQL and pgvector
- ONNX Embedder (Optional) - Using ONNX Runtime instead of PyTorch for embeddings
- Next Steps - When to use vector search and what's next
Homework
Original workshop recording
This module was taught as a live workshop, which we chopped into the
per-lesson videos above. To watch the full uncut recording:
Old content
Earlier cohorts taught vector search differently. See the archived
materials for the 2024 and
2025 cohorts.
Notes
- Cohort 2026| Notes by Nitin Gupta
- Add your notes above this line
File: cohorts/2025/README.md
LLM Zoomcamp 2025 Edition
Important links:
- Pre-Course Q&A Stream: video, summary
- Course Launch Stream: video, summary
- 2025 Edition Youtube Playlist
- Course management platform
Module 1: Introduction to LLMs and RAG
File: cohorts/2024/competition/README.md
LLM Zoomcamp 2024 Competition
In the competition, you need to use LLMs to solve high school mathematics problems.
Your task is to develop models that can accurately solve these problems and submit your predictions.
For more details, visit the competition page.
Getting started
Getting started code: starter_notebook.ipynb
You will need to install langchain for this code:
pip install -qU langchain-openai langchainThanks Blaq for contibuting the notebook!
Note that the solution is not deterministic: when you run
it again on the same record, sometimes the solution is different
from the initial run.
Which might be more a feature than a bug:
what if you run it multuple times and get the majority vote?
Community solutions
- Pastor Solo - getting started notebook on Kaggle - https://www.kaggle.com/code/pastorsoto/starter-notebook
- Slava Shen - chain of thoughts - https://www.kaggle.com/code/vyacheslavshen/double-check-with-llms
Evaluation
We use accuracy as the evaluation metric. Sometimes multiple
answers are correct. In this case, a solution is correct if
it matches at least one of the possible answers.
You can find the code for evaluation in scorer.py - it's taken from kaggle
and this is exactly the code we use in the competition.
File: cohorts/2024/05-orchestration/README.md
Data Preparation in RAG
Getting started
- Clone repository
git clone https://github.com/mage-ai/rag-project
cd rag-project- navigate to the
rag-project/llmdirectory, addspacyto the requirements.txt. - Then update the
Dockerfilefound in therag-projectdirectory with the following:
RUN python -m spacy download en_core_web_sm- Run
`./scripts/start.sh`Once started, go to http://localhost:6789/
For more setup information, refer to these instructions
0. Module overview
1. Ingest
In this section, we cover the ingestion of documents from a single data source.
2. Chunk
Once data is ingested, we break it into manageable chunks.
The Q&A data is already chunked - the texts are small
and easy to process and index. But other datasets might
not be (book texts, transcripts, etc).
In this video, we will talk about turning large texts
into smaller documents - i.e. chunking.
3. Tokenization
Tokenization is a crucial step in text processing and preparing the data for effective retrieval.
4. Embed
Embedding data translates text into numerical vectors that can be processed by models.
Previously we used sentence transformers for that. In this video we show a different strategy for it.
5. Export
After processing, data needs to be exported for storage so that it can be retrieved for better contextualization of user queries.
Here we will save the embeddings to elasticsearch
please make sure to use the name given to your elasticsearch service in your docker compose file followed by the port as the connection string, e.g below
<docker-compose-service-name> http://elasticsearch:9200
6. Retrieval: Test Vector Search Query
After exporting the chunks and embeddings, we can test the search query to retrieve relevant documents on sample queries.
7. Trigger Daily Runs
Automation is key to maintaining and updating your system.
This section demonstrates how to schedule and trigger daily runs for your data pipelines, ensuring up-to-date and consistent data processing.
Homework
See here.
Notes
- First link goes here
- Notes by Abiodun Mage RAG error fixes.
- Did you take notes? Add them above this line (Send a PR with links to your notes)
2. Official Technical Reference & Guides (DataTalksClub/docs)
DataTalks.Club Zoomcamps Notes
This website is currently under development and contains community-contributed notes and resources. Content is being actively added and improved by DataTalks.Club community.
| Course | Duration | Next Cohort | Description | Register | Repository |
|---|---|---|---|---|---|
| Machine Learning Zoomcamp | 16 weeks | September 15, 2025 | ML engineering with deployment focus covering regression, classification, deep learning, and practical projects | Register | |
| AI Dev Tools Zoomcamp | 6 weeks | November 18, 2025 | Modern AI development tools and workflows for building, testing, and deploying AI applications | Register | |
| Data Engineering Zoomcamp | 9 weeks | January 2026 | Complete data engineering bootcamp covering Docker, SQL, Terraform, GCP, Kafka, and Spark | Register | |
| MLOps Zoomcamp | 12 weeks | โ | Production ML systems & best practices including experiment tracking, model deployment, and monitoring | Register | |
| LLM Zoomcamp | 10 weeks | June 2026 | Large Language Models course covering fine-tuning, RAG systems, and LLM application development | Register | |
| Stock Market Analytics Zoomcamp | 8 weeks | April 2026 | Financial data analysis and algorithmic trading strategies using Python and modern analytics tools | Register |
Running Locally
This site is built with Rustkyll. To run it locally:
Using Make (recommended)
make install # Install dependencies (first time only)
make serve # Start the development server at http://localhost:4000Available make targets:
make help- Show all available targetsmake install- Download the pinned Rustkyll release binarymake serve- Start the Rustkyll development servermake serve-livereload- Start server with live reloadmake build- Build the site for productionmake clean- Remove generated files and caches
Manual commands
mkdir -p .bin
curl -fsSL -o .bin/rustkyll https://github.com/alexeygrigorev/rustkyll/releases/download/v0.4.6/rustkyll-linux-amd64
chmod +x .bin/rustkyll
.bin/rustkyll serveWhat's in this Repository
- Course Notes: Detailed notes from each course session
- Resources: Links to datasets, tools, and materials
- Tips & Tricks: Best practices and helpful hints
- Examples: Sample projects and implementations
About DataTalks.Club
DataTalks.Club of the biggest global online community of data enthusiasts with more than 79,000 members. We organize free online events, courses, and other community activities.
All the activity at DataTalks.Club mainly happens on Slack. We post updates there and discuss different aspects of data, career questions, and more.
At DataTalksClub, we organize online events, community activities, and free courses. You can learn more about what we do at DataTalksClub Community Navigation.
Contributing
We welcome contributions from the community! You can help by:
- Reporting Issues: Found an error or broken link? Let us know
- Improving Content: Submit pull requests with corrections or enhancements
- Adding Notes: Share your own course notes and insights
- Answering Questions: Help fellow learners in discussions
How to Contribute
- Fork this repository
- Create a new branch for your changes
- Make your improvements
- Submit a pull request with a clear description
Contact
- Alexey Grigorev: [email protected]: Founder and Community Lead
- Valeriia Kuka: [email protected]: Content Manager