NZ

nursnaaz/zero-to-genai-engineer

Developer tools
21 stars Quality 67 Trend 24MIT

A free, open GenAI curriculum built from scratch. Start from zero, build real projects, and work your way up to production AI systems.

Overview

New sessions drop every . Star the repo to get notified. Questions → . Then open that weekend's folder README. That's the start page. There is no root requirements.txt; each session and app has its own (10_RAG/notebooks/requirements.txt, 11_LangGraph/notebooks/requirements.txt, and so on). Copy .env.example to .env. Don't commit the real one. Every weekend is notebooks you actually run. Most also leave you with an app, a paper, or a dataset you can talk about in an interview. Quick naming trap: folder 10_RAG/ is session , which covers modules (memory went into the RAG chatbot, not its own weekend). 11_LangGraph/ is session = module . 12_deepagents/ is . 13_Project_Implementation/ is (Dining Bot). 14_Bedrock_AgentCore/ is — six sub-labs numbered 01. → 06.. 15_LLM_Fine_Tuning/ is (LoRA / QLoRA). 16_Full_Course_Recap/ recaps S00–S15 and does replace S08. 17_Decision_Models/ is . 18_Final_Project/ is . S14 goes beyond the original 23-module syllabus (see Module map).

README


18 sessions 60 notebooks 12 research papers 22 HTML decks
Pre-work → S17 Colab-ready, commented GPT-1 → DPO + Attention Open in any browser
9 industry RAG briefs 11+ in-repo apps 18 RAG notebooks 5 LangGraph notebooks
Banking → insurance Streamlit · FastAPI · React Chunking → MCP helpdesk Graphs · HITL · teams

New sessions drop every Saturday / Sunday. Star the repo to get notified. Questions → WhatsApp cohort group.


Table of contents

  1. Start here
  2. Prerequisites
  3. What’s in this repo
  4. The MISSING chain
  5. Your instructor
  6. How this repo is laid out
  7. Sessions shipped so far
  8. Full syllabus
  9. Projects
  10. Classroom presentations
  11. Tech stack
  12. Module map
  13. Contributing
  14. License

🚀 Start here

You are… Do this
New to Python / ML prereq/ (~3 hours) → then S00
Ready for the course Open the next session folder. The README inside is the start page. Run notebooks in order.
On RAG + memory (S10) 10_RAG/README.md. Notebooks 01–12 are required. 11, 13, and 14 are the chatbot / memory track.
On LangGraph (S11) 11_LangGraph/README.md. Notebooks 01–03 required; 04–05 are bonus.
On Deep Agents (S12) 12_deepagents/README.md. One notebook: files, AGENT.md, SKILL.md, your tools, subagents.
On the Dining Bot capstone (S13) 13_Project_Implementation/README.md. Spec + sample SQLite DB.
On Bedrock AgentCore + AWS (S14) 14_Bedrock_AgentCore/README.md. Compare frameworks in lab 04, deploy an agent Runtime in 01 / 02 / 03, then ship the full stack (Cognito + React + FastAPI + CDK) in 05 / 06.
On Fine-Tuning (S15) 15_LLM_Fine_Tuning/README.md. Classroom deck (RAG vs LoRA / QLoRA) + Unsloth notebook.
Full-course recap (S00–S15) 16_Full_Course_Recap/README.md. End-of-arc interactive deck — does not replace S08 mid-course recap.
On Decision Models (S17) 17_Decision_Models/README.md. RLCD / Jev classroom deck, 19 Jev use cases, and a three-model comparison.
Want the slides Class presentations. Open those links. Clicking the .html in GitHub just shows source.
Want a browser lab nursnaaz.github.io. Direct URLs are listed under each session below. No API key.
Caught up through S16 Start Decision Models (S17), or ship something from Projects.

Beginner notebooks (no install):

Notebook What you learn Time
01 — Python for GenAI Variables, loops, functions, dicts, f-strings 60 min
02 — Math Intuition Vectors, dot product, softmax 60 min
03 — Neural Networks How models learn, in plain English 60 min

Then keep the Cheat Sheet open during S00.


⚙️ Prerequisites

Need Detail
Python 3.11+ (3.12 is fine). Launch session apps with python3 -m streamlit so you hit the same environment.
Git Clone the repo. Don’t copy folders around by hand.
Notebooks Google Colab if you want zero install, or local Jupyter.
API keys S00–S03 (and most of S04 NB1) need none. S04 NB2 onwards uses Gemini. From S10, put OPENAI_API_KEY in a copy of 10_RAG/.env.example. Anthropic, Cohere, Pinecone, Tavily, LangSmith only when a notebook asks.
Local models (S05 / S06 Ollama notebook) Ollama or LM Studio on your laptop. These will not run in Colab.
GPU Only the S02 training loop wants Colab Pro / a real GPU. Everything else is CPU or an API.
Node 18+ Only if you run a React app (CineMatch, Distill, RAG Studio, Medium article agent, S14 labs 05/06). Streamlit paths don’t need it.
AWS account (S14 only) Bedrock AgentCore, Cognito, App Runner, CloudFront, IAM — plus Docker Desktop and the AWS CDK CLI for labs 05/06. Free-tier eligible; App Runner is the main “left it on overnight” cost — see the S14 cleanup steps.
git clone https://github.com/nursnaaz/zero-to-genai-engineer.git
cd zero-to-genai-engineer

Then open that weekend’s folder README. That’s the start page. There is no root requirements.txt; each session and app has its own (10_RAG/notebooks/requirements.txt, 11_LangGraph/notebooks/requirements.txt, and so on).

Copy .env.example to .env. Don’t commit the real one.


📦 What’s in this repo

Every weekend is notebooks you actually run. Most also leave you with an app, a paper, or a dataset you can talk about in an interview.

Kind of material Count Where it lives
Weekend sessions (S00–S15, S17) + pre-work 18 Numbered folders + prereq/
Jupyter notebooks 60 Session notebooks/, 11 S03 paper summaries, 2 S10 student copies, the RAG Studio and agentic-RAG capstone notebooks, the S14 framework-comparison notebook, and the S15 Unsloth notebook. Ignore 03_GPT_1_2_3/ — leftover from an older layout.
RAG teaching notebooks (01–16 + 2 student labs) 18 10_RAG/notebooks/
LangGraph teaching notebooks 5 11_LangGraph/notebooks/ (plus optional self_correcting_rag.ipynb in the capstone folder)
Original research PDFs 12 S02 Attention Is All You Need + S03 GPT / BERT / alignment
Beginner paper-summary notebooks 11 03_GPT_Evolution_and_Alignment/paper_summaries/
Classroom HTML decks 22 S03 papers (1) · S08 recap (2) · S10 (12) · S11 (4) · S12 (1) · S15 (1) · S17 (1)
PDF slide decks S00 (3) · S01 (1) · S02 (1) · S05 (slides.pdf) Each session’s slides/
Interactive browser tutorials 25 nursnaaz.github.io — deep links next to each session
Student group RAG datasets 9 companies 10_RAG/student_group_datasets/
AWS Bedrock AgentCore labs 6 14_Bedrock_AgentCore/ — LangGraph, Strands, and CrewAI agents on a managed AWS Runtime, plus a full Cognito + React + FastAPI + CDK production deploy (two paths: staged CDK or 10 progressive folders)
Fine-tuning (S15) Deck + Unsloth notebook 15_LLM_Fine_Tuning/ — PEFT / LoRA / QLoRA, RAG vs fine-tune decision
Decision models (S17) Deck + 19 Jev labs + 3-model comparison 17_Decision_Models/ — RLCD, Jev, Strands Decider 2B, OpenAI Decisions
Shippable apps in this repo 11+ See Projects

Quick naming trap: folder 10_RAG/ is session S10, which covers modules M07 + M08 + M06 (memory went into the RAG chatbot, not its own weekend). 11_LangGraph/ is session S11 = module M10. 12_deepagents/ is S12. 13_Project_Implementation/ is S13 (Dining Bot). 14_Bedrock_AgentCore/ is S14 — six sub-labs numbered 01. → 06.. 15_LLM_Fine_Tuning/ is S15 (LoRA / QLoRA). 16_Full_Course_Recap/ recaps S00–S15 and does not replace S08. 17_Decision_Models/ is S17. 18_Final_Project/ is S18. S14 goes beyond the original 23-module syllabus (see Module map).


🔗 The MISSING chain

Every session exists because the last one left a gap. That chain is how the course is sequenced.

S00  Search (TF-IDF)
  └─ MISSING: meaning  ─►  S01  Embeddings (BoW → FastText)
       └─ MISSING: context  ─►  S02  Transformers (self-attention)
            └─ MISSING: GPT story  ─►  S03  GPT-1→3 + alignment (11 papers)
                 └─ MISSING: tokens & sampling  ─►  S04  BPE / Temp / Top-K / Top-P
                      └─ MISSING: how to RUN a model  ─►  S05  Ollama · LM Studio · OpenRouter
                           └─ MISSING: better prompts  ─►  S06  DSPy · CoT · MIPROv2 · GEPA
                                └─ MISSING: one API for every model  ─►  S07  LangChain LCEL
                                     └─ S08 Recap (S00–S07 visual pass)
                                          └─ MISSING: AI that writes the code  ─►  S09  /goal · /loop
                                               └─ MISSING: YOUR documents  ─►  S10  RAG + memory + chatbots
                                                    └─ MISSING: loops, pause, teams  ─►  S11  LangGraph
                                                         └─ MISSING: files, skills, subagents  ─►  S12  Deep Agents
                                                              └─ MISSING: one product  ─►  S13  Dining Bot
                                                                   └─ MISSING: ship it — cloud, identity, real users  ─►  S14  Bedrock AgentCore + AWS
                                                                        └─ MISSING: the model still talks like a generic assistant  ─►  S15  Fine-Tuning (LoRA / QLoRA)
                                                                             └─ S16 Full-course recap (S00–S15; does not replace S08)
                                                                                  └─ MISSING: even a fine-tuned LLM writes text when you only needed a decision  ─►  S17  Decision Models (RLCD · Jev)
                                                                                       └─ MISSING: the skills still need a product a hiring manager can click  ─►  S18  Final projects  ← you are here

👨‍🏫 Your instructor

Mohamed Noordeen Alaudeen — Data Scientist at AWS Generative AI Innovation Center · Dubai

  • 🏆 Emerging Global Leader in GenAI — Internet 2.0 Conference Award (2024)
  • 👥 29,000+ LinkedIn followers · 1,000+ professionals mentored
  • 📚 Packt author (Data Science Interview Questions) · IIM Lucknow · 10+ years in AI/ML

“Learn GenAI the way professionals actually use it — not just theory, but systems that get you hired.”


📁 How this repo is laid out

One numbered folder per weekend. Open that folder’s README first. Class slides are linked in the session table, next to the notebooks in the syllabus, and collected in one list.

Folder Session What’s in it
prereq/ Pre-work 3 notebooks + cheat sheet
00_How_Search_Engine_Works/ S00 2 notebooks
01_Text_to_Numbers/ S01 2 notebooks + CineMatch
02_Transformer_Architecture/ S02 Notebook, Vaswani paper, animation
03_GPT_Evolution_and_Alignment/ S03 GPT from scratch + 11 papers
04_BPE_Temperature_Top_K_Top_P/ S04 2 notebooks + 2 Excel workbooks
05_Local_LLMs_and_API_Providers/ S05 6 notebooks + Distill
06_Prompt_Engineering_DSPY_GEPA_COT/ S06 DSPy → few-shot → MIPROv2 → GEPA
07_LangChain_Notebooks/ S07 One notebook: 4 providers, LCEL
08_Recap/ S08 Recap of S00–S07
09_AgenticCoding_LoopEngineering/ S09 AGENTIC_CODING_GUIDE.md
10_RAG/ S10 Start here — 16 teaching notebooks, apps, 9 group briefs
11_LangGraph/ S11 Start here — 5 notebooks, helpdesk, agentic RAG
12_deepagents/ S12 Start here — LangChain vs LangGraph vs Deep Agents
13_Project_Implementation/ S13 Start here — Dining Bot: teach dining_bot.py, run modular app.py + dining_bot/ package, sample SQLite DB
14_Bedrock_AgentCore/ S14 Start here — 6 labs: LangGraph / Strands / CrewAI on AgentCore Runtime, a framework-comparison notebook, and a full Cognito + React + FastAPI + CDK AWS deploy (staged or progressive)
15_LLM_Fine_Tuning/ S15 Start here — PEFT / LoRA / QLoRA classroom deck + Unsloth notebook
16_Full_Course_Recap/ Recap Start here — interactive S00→S15 classroom recap (separate from S08)
17_Decision_Models/ S17 Start here — RLCD / Jev classroom deck, 19 Jev use cases, Jev vs Strands vs OpenAI Decisions
18_Final_Project/ S18 Start here — final projects. 01 Talking Avatar · 02 Newspaper · 03 Apex Counter · 04 Document desk

S11 extra (separate repo, not in this clone): Medium article agent.


🗺️ Sessions shipped so far

Session Topic What you build Slides
Pre-work Python, vectors, how NNs learn 3 Colab notebooks + cheat sheet
S00 How Search Engines Work TF-IDF engine from scratch Intro · Search · Claude leak
S01 Text to Numbers 5 embedding methods, CineMatch Text to Numbers
S02 Transformer Architecture Encoder–Decoder in PyTorch, EN→IT Transformers
S03 GPT Evolution & Alignment GPT from scratch, 11 papers GPT papers
S04 BPE & Sampling Tokenize from scratch, temperature / top-k / top-p Excel workbooks in the folder
S05 Local LLMs & APIs Ollama, LM Studio, OpenRouter, Distill Session PDF
S06 Prompt Optimisation DSPy, CoT, MIPROv2, GEPA
S07 LangChain One API for OpenAI, Claude, Gemini, Ollama
S08 Recap Visual pass of S00–S07 Interactive · Full text
S09 Agentic Coding /goal vs /loop Guides in the folder
S10 RAG + Memory & Chatbots Chunking → hybrid → RAGAS → chatbot with memory 12 decks, also next to each notebook below
S11 LangGraph Graphs, HITL, helpdesk, ReAct→ToT, SQL 4 decks, also next to each day below
S12 Deep Agents Chat vs files, AGENT.md, SKILL.md Food-delivery deck
S13 Dining Bot capstone Teach one file + modular package: RAG, read-only SQL, HITL, Weather + Chart MCP, Deep Agents planning
S14 Bedrock AgentCore & AWS deploy LangGraph / Strands / CrewAI on a managed Runtime, then Cognito + React + FastAPI + CDK on your own AWS account
S15 LLM Fine-Tuning RAG vs fine-tune decision · PEFT · LoRA · quantization · QLoRA · Unsloth lab Fine-tuning deck
S16 Full-course recap Interactive pass of S00–S15 (does not replace S08) Recap deck
S17 Decision Models RLCD · Jev · 19 use cases · Strands Decider + OpenAI Decisions RLCD / Jev deck
S18 Final projects 01 Talking Avatar · 02 Newspaper · 03 Apex Counter · 04 Document desk Expected avatar demo

📚 Full syllabus (every session)

Setup lives in each session README. If that weekend has slides, they are linked in the section (and again in the presentation index).


Pre-work — Python, math, neural nets

If S00 looks like a stretch, start here. About three hours of Python, vectors, and how a network learns.

# Notebook Topics Time
01 Python for GenAI Variables, lists, loops, dicts, f-strings, functions 60 min
02 Math intuition Vectors, dot product, probability, softmax 60 min
03 Neural nets How a model learns, in plain English 60 min

Also: prereq/cheatsheet.md — keep it open during S00.


S00 — How Search Engines Work

MISSING after this: TF-IDF misses "car crash" when you search "automobile accident". That is why S01 exists.

# Open You build Time
01 search_engine.ipynb Tokenise · stop words · stem · inverted index · TF-IDF rank 30 min
02 tfidf_explained.ipynb Why raw counts fail · TF × IDF scored by hand 45 min

Slides: GenAI intro · How search works · Claude Code leak

Browser: How Search Engines Work (~45 min, no API key)
Write-up: How I Taught 100 Students to Build Google’s Core Algorithm in 30 Minutes

No API key. Pure Python.


S01 — Text to Numbers

MISSING after this: "bank" (river) and "bank" (finance) share one vector. S02 adds context.

# Open You build Time
01 text_to_numbers.ipynb BoW → TF-IDF → Word2Vec → GloVe → FastText 60 min
02 cosine_similarity.ipynb Why cosine beats Euclidean for meaning 30 min

App: CineMatch — FastAPI + React, 5 embedders on 1,000 IMDB movies.

Assignments: Medium article on the 5 methods · Medium article cosine vs Euclidean · product recommender (Amazon descriptions).

Slides: Text to Numbers
Browser: Cosine Similarity & Movie Recommender
Write-up: Words Don’t Have Meaning. Sentences Do.


S02 — Transformer Architecture

MISSING after this: Training from scratch is expensive. S03 is how that architecture became GPT and then ChatGPT.

Open You build
transformer_from_scratch.ipynb InputEmbeddings · sinusoidal PE · LayerNorm · residual · FFN · 8-head attention · 6-layer encoder + decoder · EN→IT on opus_books

Paper: Attention_Is_All_You_Need.pdf
Slides: Transformer architecture

Do these in the browser before the notebook:

Tutorial Time Write-up
Self-Attention 30 min Computed by hand
Positional Encoding 35 min
Multi-Head Attention 60 min
Transformer code 60 min

Assets: SelfAttentionFull.mp4 · attention GIF · architecture spreadsheet.

GPU note: building blocks run on CPU; the training loop wants Colab Pro / H100.


S03 — GPT Evolution & Alignment

M00 (foundations) ends here. S00–S03 take you from raw text to how modern assistants are trained and aligned.

Path: text prediction (GPT-1) → scale (GPT-2/3) → alignment (RLHF → CAI → DPO).

Track What you open
Overview slides 14-slide paper deck
NB2 — map TensorFlow minimal GPT (~30 min)
NB1 — deep dive PyTorch Holmes GPT (~2–3 hr) — char / word / BPE, AdamW, attention heatmaps
App holmes_gpt_ui.py — Streamlit generator

11 papers (PDF + beginner summary notebook each):

# Paper Year The question it answers
1 GPT-1 2018 Does pre-train + fine-tune beat training from scratch?
2 GPT-2 2019 What if we scale and drop task-specific fine-tuning?
3 GPT-3 2020 What happens at 175B — few-shot in the prompt?
4 BERT 2018 What if we read both directions?
5 BART 2019 What if we combine BERT + GPT?
6 InstructGPT / RLHF 2022 How does GPT-3 become ChatGPT?
7 HH-RLHF 2022 Helpful and harmless — the Claude research
8 Constitutional AI 2022 Can a written constitution replace human safety labels?
9 RLAIF 2023 Does AI feedback match human feedback at scale?
10 DPO 2023 Can we align without a reward model / PPO?
11 SELF-REFINE 2023 Can a model improve its own outputs?

Summaries: paper_summaries/. PDFs: papers/.

Browser: BERT for text classification (after paper 4)


S04 — BPE, Temperature, Top-K, Top-P

MISSING from S03: How does the model turn words into IDs? How does it pick the next token?

# Open You implement Time
Excel bpe_step_by_step.xlsx Watch merge rounds grow a vocab 15 min
Excel llm_temperature_topp_topk.xlsx Sliders on a fixed distribution 15 min
NB1 BPE Tokenization build_bpe_vocab() · tokenize_with_bpe() · tiktoken GPT-2 vs GPT-4 45 min
NB2 Temperature / Top-K / Top-P apply_temperature() · filters · Gemini experiments · sample_token() in the correct order 45 min

Browser (do these before the Excel / notebooks): Tokens / BPE · Temperature, top-k, top-p · Context window budget
Write-up (BPE): One Word. Two Tokens. Here Is How BPE Builds Them.

Order that matters: temperature → top-K → top-P → sample. Getting this wrong is a common production bug.


S05 — Local LLMs & API Providers

MISSING from S04: One provider’s API is a lock-in. Run a model on your laptop, or switch cloud providers by changing one variable.

# Notebook Where it runs Time
NB1 Multi-provider chat() Colab or local — OpenAI · Gemini · Anthropic · Ollama · OpenRouter · Databricks 30 min
NB2 Map-reduce summariser Split a 50-page doc → map → reduce 45 min
NB3 Ollama Laptop only — Phi-3 / Llama 3.2 45 min
NB4 OpenRouter One key, 100+ models, cost compare 20 min
NB5 LM Studio Laptop only — OpenAI-compatible :1234 30 min
NB6 Databricks serving Enterprise REST pattern 15 min

Demos: apps/multi_provider_race.py · apps/map_reduce_demo.py

Portfolio: Distill — FastAPI + React + Whisper classroom tool (contribute).

Browser: Your first LLM call · Local vs cloud

Slides: S05 session PDF


S06 — Prompt Optimisation (DSPy · MIPROv2 · GEPA)

MISSING from S05: We could call models. Prompts were still handwritten guesses. Treat them as typed, versioned, scored code.

Day Optimiser What it changes Artifact
S06a dspy.Signature + ChainOfThought Schema → prompt; visible Reasoning: cot_zero_shot.json
S06b LabeledFewShot Random k demos cot_few_shot.json
S06b BootstrapFewShot Keep only traces that pass the metric cot_boostraped_few_shot.json
S06b BootstrapFewShotWithRandomSearch Best of N bootstrap runs cot_bootstraped_rs_few_shot.json
S06c MIPROv2 Searches the instruction wording + demos MiproV2Prompt.json
S06d GEPA Rewrites the instruction from its own errors generated in-notebook

Benchmark used throughout: ATIS airline-intent (26 classes).

File Use when
dspy_training.ipynb Cloud — all four optimisers
dspy_training_ollama.ipynb Local, no API key

Browser (before DSPy): Zero-shot / few-shot / CoT · JSON or bust


S07 — LangChain Fundamentals

MISSING from S06: Each notebook talked to one provider with custom glue. LangChain is one interface.

Notebook Topics Time
langchain_claude_openai_gemini_ollama_stream.ipynb Unified chat · ChatPromptTemplate · MessagesPlaceholder · InMemoryChatMessageHistory · .stream() · LCEL | pipes 60 min

Providers in the same notebook: gpt-4o-mini · Claude Haiku · Gemini Flash-Lite · Ollama llama3.2 / qwen2.5.

Browser: Chatbots forget (why you must send the message list) · First LLM call


S08 — Recap (S00–S07)

Visual pass of the MISSING chain before agentic coding.


S09 — Agentic Coding & Loop Engineering

MISSING from S07: You still typed every line. Spec the goal, verify with tests, loop until green.

Day Topic You learn
S09a Agentic coding Prompting → ReAct → AutoGPT → RALPH → loop · what makes a good /goal · Kiro spec files
S09b Loop engineering /goal vs /loop · Trigger → Action → Verify → Decide → Stop · Claude Code hooks
File What it is
AGENTIC_CODING_GUIDE.md History, patterns, tooling
LOOP_ENGINEERING_PLAYBOOK.md 20+ exercises
LoopEngineering.md Theory

Browser: ReAct with a calculator — thought → tool → observation → stop.

Demo (external): Bullish Stock Scanner V3. FastAPI + React, 308 tests, built through spec-driven loops.


S10 — RAG + Memory & Chatbots (M07 + M08 + M06)

MISSING from S09: Agents can write software. They still only know training data. RAG grounds answers in your PDFs, policies, and tickets.

Memory & chatbots (M06) live here too: short-term memory, summarisation, long-term Store, condense-question, streaming, guardrails, and HITL are in S10f + notebooks 13–14.

Start page: 10_RAG/README.md · notebook index: 10_RAG/notebooks/README.md

Browser: Tiny RAG · Chunking · Hybrid + RRF · Citations / refusals · RAG injection · Chat memory · Production challenges
Write-up (Tiny RAG): I Asked ChatGPT About Our Gym’s Refund Policy. It Invented One.

S10a  Why RAG
S10b  Chunking (LangChain) + same ideas in LlamaIndex
S10c  Embeddings → FAISS / Chroma / Pinecone
S10d  BM25 → hybrid (RRF) → reranking
S10e  RAGAS + DeepEval
S10f  Production chatbots = Memory & Chatbots track
S10g  Retrieval showdown on one Pinecone index
        │
        ├── 13–14  Production chatbot (+ durable memory)   capstone
        ├── 15      Multimodal RAG                          extra
        ├── 16      MCP helpdesk                            extra · required for S11c
        ├── RAG Studio                                      FastAPI + React portfolio
        └── 9 student group datasets                        real-company briefs

Core notebooks (required)

Day Notebook Topic Slides
S10a 01 — Why RAG Hallucination vs grounded retrieval ▶
S10b 02 — Chunking (LangChain) 6 chunking strategies ▶
S10b 03 — Chunking (LlamaIndex) Same ideas, second framework ▶
S10c 04 — Embeddings Geometry of meaning ▶
S10c 05 — Vector databases FAISS → Chroma → Pinecone ▶
Recap of 01–05 ▶ Revision
S10d 06 — Sparse retrieval BM25 vs dense vs SPLADE ▶
S10d 07 — Hybrid search RRF / weighted fusion ▶
S10d 08 — Reranking Cross-encoder / FlashRank / Cohere ▶
Pipeline recap ▶
S10e 09 — RAGAS Faithfulness, relevancy, context precision / recall
S10e 10 — DeepEval CI-native evals, hallucination, G-Eval
S10f 11 — Production chatbots Memory · streaming · guardrails · HITL ▶
S10g 12 — Retrieval showdown Dense vs BM25 vs hybrid on one Pinecone index

Memory & Chatbots — what S10f / 13 / 14 actually teach (M06)

The chatbot module sits next to retrieval on purpose. A production bot is RAG plus memory.

Topic Where What you can do after
Stateless vs thread_id NB11 §2–3 Same id remembers; new id is a new user
Short-term memory (checkpointer) NB11 InMemorySaver / SQLite — crash-safe turns
Token-budget trim (sliding window) NB11 §5b Drop oldest turns before the context explodes
Summarisation memory NB11 Auto-summarise when history crosses a token trigger
Long-term Store NB11 §6 Preferences that survive across threads
Condense-question NB13 Rewrite follow-ups (“what about that policy?”) into a standalone query
Streaming tokens NB11 Token-by-token UI, not a spinner
Guardrails NB11 Refuse / block before a bad generation
Human-in-the-loop NB11 §9 Pause a risky tool until a human says yes
Observability NB11 §12 LangSmith traces
Production Streamlit bot NB13 → production_rag_chatbot/ Hybrid retrieve → rerank → generate + citations
Same bot + durable memory NB14 → production_rag_chatbot_memory/ Memory that lasts after you close the tab
Student labs 13 STUDENT · 14 STUDENT Same pipeline, TODOs for you

S11 reuses condense(), trim_history(), the checkpointer, and Store. We don’t teach them again.

Capstones & extras

Item What it is
15 — Multimodal RAG (slides) Images + text in one index
16 — MCP helpdesk RAG + SQL tools over MCP. Required before S11 Day 3.
RAG Studio (eval slides) FastAPI + React. Swap retrieval strategies side by side, RAGAS + DeepEval.
9 group datasets Real-company briefs (below)

9 student group datasets (cohort project)

Every group ships a cited, refusal-aware support bot and 8 ablation tables (parse → chunk → embed → store → retrieve → fuse → rerank → generate). Spec: REQUIREMENTS_OVERVIEW.md · metrics: EVALUATION_METHODOLOGY.md.

# Folder Bot Core skill Data
1 01_banking Wells Fargo support Grounded fee/policy Q&A 3 PDF (60p) + XML
2 02_ecommerce Amazon seller support Seller-vs-buyer scope 3 PDF (56p) + XML
3 03_telecom Verizon support Wireless / Fios / international routing 3 PDF (40p) + XML
4 04_legal Law-firm contract search Cross-doc retrieval + client attribution 5 HTML (~105K words)
5 05_healthcare NIH-style health info Must refuse diagnosis 11k+ XML (download script)
6 06_finance_complaints Credit-rights helpline ECOA vs Fair Housing routing 4 PDF + CSV
7 07_airline_travel Delta passenger support Passenger-vs-cargo docs 2 PDF (45p) + XML
8 08_tax_government IRS taxpayer help Structured vs narrative retrieval 3 PDF (244p) + CSV/XLS
9 09_insurance State Farm support State + product-line routing 5 PDF (343p) + XLSX

S11 — LangGraph (stateful agents, M10)

MISSING from S10: ProductionRAGChatbot.chat() is a straight line. It cannot retry retrieval, rewrite a vague question, or pause for a human. LangGraph is that control flow.

Start page: 11_LangGraph/README.md · notebooks: notebooks/README.md

Browser: ReAct · HITL · MCP

S11a  Fundamentals & agents     required
S11b  Human-in-the-loop         required
S11c  Multi-agent orchestrator  required
  ├── S11d  Reasoning patterns  bonus (interview map)
  ├── S11e  SQL agent           bonus (Chinook)
  ├── capstone_agentic_rag/     optional self-correcting RAG
  └── medium-article-agent      optional FastAPI + React (separate repo)

Clone nursnaaz/medium-article-agent (Python 3.12+, Node 18+). Not bundled in this repo.

Day Open What you do Time Slides
S11a 01 — Fundamentals Draw a graph, wire nodes/edges, build ReAct by hand, then create_agent, checkpointer, stream ~2 hr fundamentals
S11b 02 — HITL interrupt() a risky tool, type yes/no, resume the same thread_id ~1 hr HITL
S11c 03 — Orchestrator + app Supervisor, RAG-as-tool, SQL over MCP, ticket writes pause ~2 hr live from the app
S11d 04 — Patterns Name ReAct, Reflection, Reflexion, REWOO, Tree-of-Thoughts, Self-Discover, and when to use each ~2 hr patterns
S11e 05 — SQL agent Force list-tables → schema → check → run on Chinook ~1.5 hr SQL

API you actually type: StateGraph · MessagesState · ToolNode · tools_condition · Command · interrupt() · MemorySaver · InMemoryStore · create_agent · create_supervisor.

Day 3 graph (the one you run):

top_supervisor
  ├── knowledge_team → rag_agent (search_knowledge_base) + search_agent (web)
  └── ops_team       → sql_agent (reads) + ticket_agent (writes → interrupt())
cd 11_LangGraph/multi_agent_orchestrator
python3 -m streamlit run app.py

Try: “What is our refund policy?” · “How many open tickets does Jane Doe have?” · “Add a note that we offered a refund” (then type yes or no).


S12 — LangChain vs LangGraph vs Deep Agents

MISSING from S11: LangChain talks. LangGraph is steps you wrote. Deep Agents is that graph with file tools, AGENT.md, SKILL.md, your tools, and helpers already attached — so “also add eggs” is not a new Python node.

Start page: 12_deepagents/README.md · notebook · slides

# What you run Proof
LangChain cell Shopping list in chat No files
LangGraph cell write_list → stop No add_eggs node
Ex 1 shopping.md then add eggs File tools
Ex 2 AGENT.md “Gulf Mart” not in the user prompt
Ex 3 SKILL.md INV-001 from the how-to
Ex 4 get_store_hours → hours.md Your tool + write_file
Ex 5 price-lister helper Empty-chat subagent

API: create_deep_agent · memory= · skills= · tools= · subagents= · write_file (built in).


S13 — Dining Bot (capstone)

MISSING from S12: a product. Dining Bot is one restaurant-manager chat: RAG over policies, read-only SQL over orders, two MCP servers (weather + charts), add menu item only after HITL, and multi-step planning via Deep Agents (AGENT.md + skills). The LLM proposes; code validates and executes.

Start page: 13_Project_Implementation/README.md · teach dining_bot.py (one file, SECTION 0→8) · run modular app.py + dining_bot/ · requirement (docx)

cd 13_Project_Implementation
python3.11 -m venv .venv && source .venv/bin/activate   # deepagents needs 3.11+
pip install -r requirements.txt
python build_db.py
streamlit run app.py
# optional CLI: python app.py --ask "Show me daily revenue for last week."

S14 — Bedrock AgentCore & Production AWS Deployment

MISSING from S13: Dining Bot runs on your laptop with one shared .env key. That is a demo, not a product. S14 is how the same kind of agent gets a managed Runtime, its own identity (Memory / Gateway / Identity), and a real deploy — Cognito login, a CDN URL, a container API, and infrastructure you can tear down and rebuild from code.

Start page: 14_Bedrock_AgentCore/README.md

Six self-contained labs, numbered 01. → 06.. Every Runtime lab starts from an empty AgentCore account — you create your own Memory, Gateway, and Identity. Never paste a classmate’s MEMORY_ID, Gateway credentials, or Runtime ARN.

S14 lab 04  Compare LangGraph vs Strands vs CrewAI, locally, in one notebook   ← start here (no AWS)
S14 lab 01  Same ideas on AgentCore, framework = LangGraph (+ Harness tools)
S14 lab 02  Same ideas on AgentCore, framework = Strands   (Support Copilot)
S14 lab 03  Same ideas on AgentCore, framework = CrewAI    (Competitor Brief)
S14 lab 05  Ship it: Strands agent + Cognito + React + FastAPI + CDK — one staged CDK app
S14 lab 06  Same ship-it stack, taught as 10 cumulative folders instead of stage flags

Recommended order: 04 (compare locally, free) → 01 / 02 / 03 in any order, each is “from scratch” → 05 or 06 (needs lab 02’s Runtime ARN first — pick the staged CDK app or the 10 folders, or do both).

Labs 01–03 — one agent, three frameworks, same AgentCore arc

Lab Framework Flagship demo You build (in order)
01.langraph-agentcore-bedrock LangGraph Research agent + Streamlit (+ managed Harness / Code Interpreter) Local env → Memory → Gateway → Identity → Runtime → 7 demos
02.strands-agentcore-bedrock Strands Support Copilot + Streamlit Local env → Memory → Gateway → Identity → Runtime → 5 demos
03.crewai-agentcore-bedrock CrewAI Competitor Brief crew (Researcher → Analyst → Writer) + Streamlit Local env → Memory → Gateway → Identity → Runtime → 5 demos

Each of these three is genuinely self-contained — you can do just one if that’s the framework you care about. The shape repeats on purpose: Memory (recall across turns) → Gateway (MCP tools behind Cognito M2M auth) → Identity (OAuth provider) → Runtime (agentcore deploy), so the second and third lab teach faster than the first.

Regions (the #1 support question in this session):

Resource Region Why
Memory / Runtime / Identity us-east-1 Memory ids and Identity providers are region-scoped; Runtimes must match
Gateway + Cognito (M2M) us-west-2 Created here by each lab’s scripts/create_mcp_gateway.py

Always pass --env AWS_REGION=us-east-1 on agentcore deploy — the Runtime does not read your local .env.

Lab 04 — compare the three frameworks locally (no AWS required)

04.framework-power-agents/ — one notebook, powerful_agents_comparison.ipynb, builds the same capable agent three ways (tools, RAG, optional MCP/Gateway, optional Memory) so you see the architectural difference before paying for AWS:

Framework Shape Best for
LangGraph Graph / create_agent ReAct loop Explicit control flow, tool nodes
Strands Single Agent + tools Fast, minimal — a clean tool list
CrewAI Multi-agent crew (roles + tasks) Researcher → Analyst → Writer style briefs
cd 14_Bedrock_AgentCore/04.framework-power-agents
uv sync --python 3.11
cp .env.example .env   # set OPENAI_API_KEY
source .venv/bin/activate
jupyter notebook powerful_agents_comparison.ipynb

Labs 05 & 06 — ship the full stack on your own AWS account

Both labs deploy the same production stack — they’re two teaching paths to one destination, not two different apps. Pick one, or do both.

05.agentcore-production-deploy/ — takes the Strands Support Copilot from lab 02 and puts a real product in front of it: Cognito username/password login → CloudFront (one HTTPS URL) → S3 (React chat UI) + App Runner (FastAPI) → IAM-invoked AgentCore Runtime. No AWS keys ever reach the browser.

Browser → Cognito login → ID token (JWT)
   ↓
CloudFront (one HTTPS URL)
   ├─ /* , /config.json  → S3 (React login + chat)
   └─ /api/* , /health   → App Runner (FastAPI)
                                │  verifies JWT, then uses an IAM role — no keys — to
                                ▼  call bedrock-agentcore:InvokeAgentRuntime
                          AgentCore Runtime (Strands Support Copilot, from lab 02)
Path What it is Best for
06.progressive-deploy/ ★ Sibling lab — 10 cumulative folders (01_empty_cdk → 10_agentcore_chat); each is a complete, runnable snapshot. Deploy folder N, open folder N+1 to see the delta, repeat. Seeing each AWS layer appear one at a time
05.agentcore-production-deploy/CLASSROOM_10_CDK_DEPLOYS.md The same 10 stages, but as one cdk/ app driven by -c stage=1..10 flags Once you understand the folders, or if you prefer fewer directories

Both walk the same 10 checkpoints: empty stack → Cognito pool → SPA app client → demo user → private S3 → CloudFront → React login (chat locked) → FastAPI /health → JWT-locked /api/me → full AgentCore chat.

First CDK deploy is usually 10–20 minutes (one-time account bootstrap). App Runner is the main always-on cost — lab 05’s Cleanup section tears it down; cdk destroy does not delete the AgentCore Runtime/Memory/Gateway/Guardrail from lab 02, so clean those up separately when you’re done.

What we learned building this session: the multi-framework labs (01–03) share almost all of their setup — Memory, Gateway, and Identity are identical concepts across LangGraph, Strands, and CrewAI, only the agent code differs. So labs 05/06 deliberately reuse lab 02’s flagship agent rather than building a fourth one — the point of S14 is deployment shape, not a new agent. Lab 06 exists as its own folder (not buried inside lab 05) because “one big CDK diff” hides which resource unlocked which capability; ten small, runnable, standalone snapshots make that visible.


S15 — LLM Fine-Tuning (PEFT · LoRA · QLoRA)

MISSING from S14: the agent is in the cloud, but it still talks like a generic model. Fine-tuning changes behavior (tone, format, domain phrasing). RAG still owns facts that change and need citations. This session teaches the decision, then the math that makes LoRA / QLoRA practical on one GPU.

Start page: 15_LLM_Fine_Tuning/README.md

Open What it is
Classroom deck RAG vs fine-tuning · PEFT · LoRA (ΔW = BA) · quantization (why then how) · QLoRA
unsloth_finetuning.ipynb Hands-on Unsloth fine-tuning lab (GPU recommended)
Need Prefer
Fresh facts / citations / policies that change RAG
Tone, format, slang, domain behavior Fine-tune (LoRA / QLoRA)
Both Hybrid

S17 — Decision Models (RLCD · Jev)

MISSING from S15 / S16: a fine-tuned LLM still writes text, and its confidence is still something you cannot act on. Decision models return a typed pick plus a calibrated probability. You automate the sure ones and send the rest to a person.

Start page: 17_Decision_Models/README.md

Open What it is
Classroom deck Calibration · Brier score · RLHF vs RLVR vs RLCD · parallel decisions · threshold gating · Jev vs Strands Decider 2B vs OpenAI Decisions
Jev/use_cases/ 19 runnable labs from the Jev use-cases guide (Easy → Advanced)
comparison/ Same 88 decisions on Jev, local Strands Decider 2B, and OpenAI Decisions

Copy 17_Decision_Models/Jev/.env.example to Jev/.env and set JEV_KEY. The comparison also needs OPENAI_API_KEY in 17_Decision_Models/.env.


S18 — Final projects

MISSING from S17: a decision model can tell you which call is safe. It does not modernize the .NET Framework desk the company still runs.

Start page: 18_Final_Project/README.md

Open What it is
01 AI Talking Avatar Airport kiosk: listen, retrieve from the NIA corpus, speak, Ditto talking head. Voice is Nova Sonic or Wispr + Kokoro. Expected demo
02 Newspaper Digitizer A fictional 1954 page in English and Tamil. PaddleOCR boxes, then a local decision model groups each article. No vision model.
03 Apex Counter ASP.NET Web Forms on .NET Framework 4.0, ported with AWS Transform to Blazor Server on .NET 8. Same SQL Server tables. Windows + Visual Studio.
04 Intelligent Document Desk English uses Textract boxes. Tamil and Arabic use PaddleOCR boxes plus a Bedrock vision model. Click a value and the box lands on the ink.

Apex Counter ships the legacy Web Forms app. Students convert a copy with AWS Transform, then run the ground-truth, evaluate, and repair prompts in that project’s README.


🏗️ Projects you can ship

Project Session Stack What it is
01 AI Talking Avatar S18 Sonic or Wispr+Kokoro, ChromaDB, Ditto, FastAPI Airport guide that listens, retrieves, speaks, and lip-syncs a photo
02 Newspaper Digitizer S18 PaddleOCR, Strands Decider 2B, Streamlit Group a 1954 newspaper page into articles. Local decision model. English and Tamil.
03 Apex Counter S18 ASP.NET Web Forms on .NET Framework 4.0 → Blazor Server on .NET 8, SQL Server Legacy parts desk. AWS Transform does the port. Students make the Blazor app match. Windows only.
04 Intelligent Document Desk S18 Textract, PaddleOCR, Bedrock vision, FastAPI Click a field on an English, Tamil, or Arabic page and the box lands on the ink.
Strands Support Copilot on AWS S14 Strands, Bedrock AgentCore, Cognito, React, FastAPI, CDK Full-stack cloud deploy: JWT-gated chat UI on CloudFront, App Runner API, IAM-invoked agent Runtime — no keys in the browser
Dining Bot S13 LangGraph, Deep Agents, RAG, SQLite, MCP, HITL Teach dining_bot.py; run modular app.py + dining_bot/ package + sample DB
Self-Correcting Agentic RAG S11 extra LangGraph, RAGAS, Streamlit Grade → rewrite → groundedness loop → escalate
Medium Article Agent S11 extra LangGraph, FastAPI, React Ingest PDF/PPTX/HTML → draft → 6 reviewers → HITL → Markdown. Separate repo — not in this clone.
RAG Studio S10 FastAPI, React, RAGAS, DeepEval Swap retrieval strategies and compare scores. Eval slides
Production RAG chatbot S10 Streamlit, hybrid + rerank Cited answers over a knowledge base
RAG chatbot + memory S10 / M06 Streamlit, checkpointer / Store Multi-turn support bot that remembers
MCP helpdesk server S10 extra MCP, SQL, RAG Tools the S11 orchestrator actually calls
Distill S05 FastAPI, React, Whisper Classroom assessment. Contribute
Provider race + map-reduce S05 Streamlit Same prompt to OpenAI, Gemini, Anthropic, Ollama and OpenRouter side by side, plus a long-document summariser
CineMatch S01 FastAPI, React 5 embedders, same 1,000 movies
Holmes GPT S03 PyTorch, Streamlit A GPT you trained yourself
Bullish Stock Scanner V3 S09 FastAPI, React, 308 tests Spec-driven loop engineering, outside this repo

What they look like

Live captures of the apps in this repo (same style as the Medium article agent README). Click a screenshot to open that project.

Dining Bot — RAG + SQL + HITL + MCP + Deep Agents planning for a restaurant manager.

Helpdesk Orchestrator — supervisor routes RAG, web, SQL, and ticket writes that pause for you.

Self-Correcting Agentic RAG — grade, rewrite, RAGAS, escalate.

Medium Article Agent — 23-node editorial graph (separate repo).

RAG Studio — ingest, swap strategies, chat, evaluate.

Production RAG chatbot — hybrid retrieval + rerank + cited answers.

RAG chatbot + memory — same engine, durable conversation memory.

Distill — transcript in, concept map + adaptive quiz out.

CineMatch — five embedders on the same 1,000 movies.

Holmes GPT — a GPT you trained yourself, streaming one token at a time.


🎮 Classroom presentations

GitHub’s file view shows HTML source, not slides. Use the links below, or the full index.

S00–S11 browser labs (no API key) live on nursnaaz.github.io. Same pairing as that site’s README. Medium write-ups are listed only when the article is live.

S04, S06, S07, S09, S10e, and S10g are notebook- or guide-led. S11c is the Streamlit orchestrator. S13 is the Dining Bot. S14 is lab-README-led (no browser tutorial). S15 has the fine-tuning deck + Unsloth notebook. Use 16_Full_Course_Recap/ for an end-of-arc pass through S00–S15. S17 has the decision-models deck.


🛠️ Tech stack (when each tool first appears)

Purpose Tools First used
Language / notebooks Python 3.11+ · Jupyter / Colab Pre-work
Classical search TF-IDF · inverted index S00
Embeddings BoW · TF-IDF · Word2Vec · GloVe · FastText · sentence-transformers S01, S10c
Deep learning PyTorch · TensorFlow/Keras S02–S03
Tokenisation / sampling BPE from scratch · tiktoken · temperature / top-k / top-p S04
Cloud LLMs OpenAI · Anthropic · Gemini S04–S07
Local / multi-model Ollama · LM Studio · OpenRouter · Databricks S05
Prompt compilers DSPy (LabeledFewShot · Bootstrap · MIPROv2 · GEPA) S06
Orchestration LangChain LCEL · create_agent S07, S10f
Vector stores FAISS · Chroma · Pinecone S10c
Sparse / hybrid BM25 · SPLADE · RRF S10d
Rerank Cross-encoder · FlashRank · Cohere S10d
Eval RAGAS · DeepEval S10e
Memory Checkpointer · token trim · summarisation · Store · condense-question S10f (M06)
Guardrails Input/output screens, groundedness refusal, healthcare diagnosis refusal NB11, healthcare brief
Agents / graphs LangGraph · MCP · create_supervisor · Deep Agents NB16, S11, S12
LlamaIndex Chunking (same ideas as LangChain NB02) NB03
UI / deploy Streamlit · FastAPI · React · Docker Compose S01+ · Medium article agent
Agent frameworks (cloud) Strands · CrewAI (LangGraph again, on a managed Runtime) S14
Managed agent hosting Amazon Bedrock AgentCore — Runtime, Memory, Gateway, Identity S14
Cloud identity & hosting Cognito · App Runner · CloudFront · S3 · IAM S14
Infra as code AWS CDK (Python) S14 lab 05 / lab 06
Fine-tuning PEFT · LoRA · QLoRA · Unsloth · quantization (INT8 / NF4) S15
Decision models Jev (TypeSafe) · Strands Decider 2B · OpenAI Decisions API S17

🧭 Where the 23-module syllabus stands

Status Modules
✅ Shipped in this repo M00–M12 · M15 · M16 · M18 · M19 · M20 (sessions S00–S15)
✅ M06 Memory & Chatbots Also done in S10 (notebooks 11, 13, 14)
✅ M09 LangChain Agents Also done in S11a (ToolNode, create_agent, ReAct)
✅ M11 CrewAI Shipped in S14 lab 03 (Runtime) and lab 04 (local comparison)
✅ M19 Fine-tuning (LoRA / QLoRA) Shipped in S15 (deck + Unsloth notebook)
🔜 Still ahead Dedicated document/code modules · deeper LLMOps · business capstone polish
Module Topic Covered in Presentation Status
M00 Foundations: Search → Text → Transformers → GPT S00–S03 S00 PDFs · S01 · S02 · S03 GPT papers ✅
M01 Tokenization & sampling S04 — ✅
M02 Local LLMs & multi-model APIs S05 — NB1 (OpenAI, Gemini, Anthropic, Ollama, OpenRouter, Databricks), NB4 OpenRouter, race app S05 PDF ✅
M03 Prompt engineering + LangChain S06a/b + S07 — ✅
M04 MIPROv2 & GEPA S06c/d — ✅
M05 Agentic coding & loop engineering S09 — ✅
M06 Memory & chatbots Also done in S10f, NB11, NB13, NB14 Production chatbots ✅ in S10
M07 RAG basics S10a–c Why RAG · chunking · LlamaIndex · embeddings · vector DBs ✅
M08 Production RAG S10d–g + extras BM25 · hybrid · rerank · pipeline · multimodal ✅
M09 LangChain agents Also done in S11a (ToolNode, create_agent, ReAct by hand) Fundamentals ✅ in S11
M10 LangGraph S11a–e Fundamentals · HITL · patterns · SQL ✅
M11 CrewAI S14 lab 03 (on AgentCore Runtime) + lab 04 (local, side-by-side with LangGraph/Strands) ✅
M12 MCP NB16 · MCP helpdesk server · S11c orchestrator (SQL + RAG tools over MCP) ✅
M13 Document intelligence S10 ingestion is the start 🔜
M14 Code intelligence 🔜
M15 Multimodal NB15 Multimodal RAG ✅
M16 FastAPI + Docker CineMatch · Distill · RAG Studio · Medium article agent (Dockerfile + Compose) ✅
M17 LLMOps & evaluation S10e RAGAS/DeepEval, LangSmith in S10f 🔜
M18 Guardrails & safety NB11 · production chatbot · healthcare brief (must refuse diagnosis) Production chatbots ✅
M19 Fine-tuning (LoRA / QLoRA) S15 deck + Unsloth notebook (S03 DPO paper is alignment theory) Fine-tuning deck ✅
M20 LlamaIndex NB03 LlamaIndex chunking ✅
M21–M22 Domain + business capstone Dining Bot is the build; 9 RAG group briefs were the rehearsal 🚧 S13

S14 goes beyond the original 23 modules. Bedrock AgentCore hosting, Cognito authentication, and CDK infrastructure-as-code were not in the M00–M22 plan — they came out of a straightforward question after S13: the agent works, now how do I actually ship it? Treat S14 as the course’s first cloud-deployment module, layered on top of the syllabus rather than replacing a slot in it. S15 fills M19 (fine-tuning) that the earlier map still listed as ahead.



🤝 Contributing

Cohort questions go to WhatsApp, not Discord. For typos, broken links, or notebook bugs, see CONTRIBUTING.md.


📄 License

Source code and course materials in this repository are released under the MIT License.


View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add nursnaaz/zero-to-genai-engineer
New to MCP? Start with the mcpskill.org guide →