11 hands-on labs
Every command and expected output captured on live Azure. A reference solution for the end of every lab, and one command to catch up if you skip ahead.
RAG on Azure · 11 labs · verified on live Azure, Oct 2026
You take Fieldnotes, a small working team app, and build a complete RAG system into it on Azure: messy documents in, cited answers out, then measured, monitored, and hardened. Text and code, no video. Every command was run on live Azure before it shipped.
One-time purchase · 12 months of updates · Azure usage about $4–14 in total, on your own subscription
python3 scripts/ask.py "When do the old office badges stop working, and which vendor is doing the replacement?" ANSWER: Old badges stop working on April 14, 2026, and the replacement vendor is NorthPeak Cloud field services.[1] CITATIONS: [1] scanned-facilities-memo.pdf [2] policy-badge-access.html [3] vendors.csv (2.33s)
python3 scripts/ask.py "What is our policy on quantum computing purchases?" ANSWER: I can't find that in your documents.
pytest -m eval tests/eval/test_eval_gate.py ... [100%] 3 passed, 38 deselected in 190.78s
Most tutorials stop when the demo answers one question. Real systems fail in ways those demos never show. Every one of these happened while the labs were built and verified on live Azure, and each one is a step you work through.
What you build
Azure OpenAI · Document Intelligence · AI Search · Application Insights. All keyless: your app signs in with your Entra ID identity, with no API keys anywhere.
The labs
| # | Lab | What you build | Time | Azure cost |
|---|---|---|---|---|
| 01 | Run the app and meet the corpus | the stack running on your machine; a tour of the code and the 100 documents | 60–90 min | $0 |
| 02 | Your first LLM call | a keyless Azure OpenAI client; the Summarize feature | 2–3 h | ≈ $0.50–2 |
| 03 | Prompting that works in apps | streaming answers; structured-output auto-tagging | 2–3 h | ≈ $0.50–2 |
| 04 | Document ingestion: the real pipeline | six-format ingestion, OCR for scans, visible failure | 2.5–3.5 h | ≈ $0 |
| 05 | Embeddings: search by meaning | chunking, batched embeddings, semantic search | 2–3 h | ≈ $0.10–0.50 |
| 06 | Azure AI Search: the production store | the search index; hybrid keyword + vector search | 2–3 h | ≈ $0–1 |
| 07 | RAG v1: "Ask your docs" | cited, streamed answers with a testable refusal | 2–3 h | ≈ $0.50–2 |
| 08 | Retrieval quality: measure, don't argue | a quality harness; ranker and chunk-size experiments | 2–3 h | ≈ $0.50–2 |
| 09 | Evaluate the RAG like production | an evaluation gate for CI, with a model as judge | 2–3 h | ≈ $0.50–2 |
| 10 | Observability | traces, and the token and dollar cost of every answer | 2–3 h | ≈ $0.50–1 |
| 11 | Hardening & responsible AI | injection defense in layers; token budget; cache | 2.5–3 h | ≈ $0.50–1 |
| Total | ≈ 22–32 h | ≈ $4–14 |
Azure costs are estimates. Actual costs vary with how long you keep resources running, your region, and Azure's current prices. Every lab ends with a teardown that brings your run-rate back to $0/day.
What's included
Every command and expected output captured on live Azure. A reference solution for the end of every lab, and one command to catch up if you skip ahead.
65 topics, from tokens and context windows to agents and Azure's AI services. Each is tagged beginner, intermediate, or advanced, with links for further reading.
One more feature, built to a written contract with no steps given. A grader checks your work offline. No solution ships, so the design is yours to defend.
62 questions interviewers ask about LLMs and RAG, with strong answers tied to what you built.
Every error these labs can produce, on one page, with the cause and the fix.
The 52 key terms as a deck for Anki. And 12 months of updates: fixes and re-verified editions, listed in the public changelog.
Who it's for
Who it's not for
Why this, not a video course or a chatbot
Every command was run on live Azure, and every expected output in the labs is a real capture.
You build one app end to end, the way a team would, instead of collecting disconnected snippets.
Retrieval metrics, an evaluation gate, and the cost of every answer: numbers you can quote.
Dated editions and a public changelog. When Azure changes, the labs change with it.
2027 Edition · early access
$149 $99 USD, one-time
Early-access price. It goes to $149 at full release.
All sales are final: your GitHub invite goes out the moment you pay. Try the free lab first; it's written exactly like the paid labs. If the invite never arrives, or you're charged twice, we refund in full.
Early access: all 11 labs were verified on live Azure in October 2026. Fixes ship through the changelog.
About $4–14 in total, if you tear down when each lab says so. Most services bill per use and cost nothing while idle. The one that bills by the hour is the paid search tier in lab 8, about $0.11 an hour, and every lab ends with a teardown that brings you back to $0/day. These are estimates; your region and Azure's prices change them.
Python basics and comfort in a terminal. No prior LLM, embeddings, or Azure AI experience. You need an Azure subscription with billing enabled; lab 1 runs entirely on your machine.
No, by design. Text and code is searchable, works offline, and every command is exact.
No course can promise that, and we don't: no promise of employment, interviews, certification, or income. What you get is the skill, and a working system you built yourself and can explain in detail. See the terms.
This package is Azure-only, by design. The ideas carry over; the commands don't.
Your purchase includes 12 months of updates: fixes, re-verified commands, and new material, all listed in the changelog. You keep permanent access to the edition you bought.
After checkout you get an invite to a private GitHub repository within minutes. You'll need a free GitHub account.
Yes. Checkout runs through Polar, the merchant of record, so you get a proper invoice for expenses. For a team purchase, email support@labwrights.io.
Lab 2 shows how to check retirement dates and switch models with one setting. Updates re-verify the labs when Azure changes.