diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index ef0166e..ea67784 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -31,8 +31,11 @@ ], "settings": { "workbench.colorTheme": "GitHub Dark Default", - "python.defaultInterpreterPath": "/usr/local/bin/python" + "python.defaultInterpreterPath": "/usr/local/bin/python", + "workbench.editorAssociations": { + "*.md": "vscode.markdown.preview.editor" + } } } } -} +} \ No newline at end of file diff --git a/callcenter/README.md b/callcenter/README.md index 642d091..ae0d4db 100644 --- a/callcenter/README.md +++ b/callcenter/README.md @@ -2,6 +2,8 @@ ## Background +![scenario](./images/scenario.png) + **NovaTel Communications** is a telecom provider handling hundreds of customer calls daily across their support center. Today's queue has 7 active calls spanning different issue types: - **CALL-001** — Maria Gonzalez (Premium, 3 years) — Unexpected charge dispute @@ -12,8 +14,12 @@ - **CALL-006** — David Park (Premium, 1 year) — Charged for returned device - **CALL-007** — Emma Wilson (Basic, 8 months) — Suspected account hack + + ## Your Mission +![agentic-orchestration](./images/agentic-orchestration.png) + Build an AI agent system that: 1. **Classifies intent** — Determines what each customer needs (billing, tech, cancellation, upsell, support, security) @@ -44,26 +50,7 @@ Build an AI agent system that: ## Architecture -``` -┌─────────────────────────────────────────────────────────┐ -│ Microsoft Foundry │ -│ │ -│ ┌─────────────────┐ ┌──────────────────────┐ │ -│ │ Intent Agent │ │ Resolution Advisor │ │ -│ │ (+ tool: │─────▶│ Agent │ │ -│ │ lookup_cust.) │ │ │ │ -│ └────────┬────────┘ └──────────┬───────────┘ │ -│ │ │ │ -│ ▼ ▼ │ -│ ┌─────────────────────────────────────────────────┐ │ -│ │ Call Center Triage Workflow │ │ -│ └─────────────────────────────────────────────────┘ │ -│ │ -│ ┌──────────────┐ ┌───────────────┐ ┌────────────┐ │ -│ │ App Insights │ │ Evaluation │ │ Tracing │ │ -│ └──────────────┘ └───────────────┘ └────────────┘ │ -└─────────────────────────────────────────────────────────┘ -``` +![architecture](./images/architecture.png) ## Next Steps diff --git a/callcenter/challenge-0-setup/README.md b/callcenter/challenge-0-setup/README.md index 26fa94a..4ec914b 100644 --- a/callcenter/challenge-0-setup/README.md +++ b/callcenter/challenge-0-setup/README.md @@ -11,6 +11,8 @@ By the end of this challenge, you will have: - ✅ Verified authentication from your local machine to Foundry - ✅ Confirmed your agent endpoint is working +![setup](./images/setup.png) + ## Get Started There are two ways to get started — pick one: diff --git a/callcenter/challenge-0-setup/images/setup.png b/callcenter/challenge-0-setup/images/setup.png new file mode 100644 index 0000000..db8878e Binary files /dev/null and b/callcenter/challenge-0-setup/images/setup.png differ diff --git a/callcenter/challenge-1-build/README.md b/callcenter/challenge-1-build/README.md index 7d91237..6d157fc 100644 --- a/callcenter/challenge-1-build/README.md +++ b/callcenter/challenge-1-build/README.md @@ -10,6 +10,7 @@ By the end of this challenge, you will have: - ✅ A **Resolution Advisor Agent** that recommends optimal handling strategies - ✅ Both agents tested against real call center data +![build](./images/build.png) ## Context diff --git a/callcenter/challenge-1-build/images/build.png b/callcenter/challenge-1-build/images/build.png new file mode 100644 index 0000000..4ea54cf Binary files /dev/null and b/callcenter/challenge-1-build/images/build.png differ diff --git a/callcenter/challenge-2-monitor/README.md b/callcenter/challenge-2-monitor/README.md index c53b35c..eea2daf 100644 --- a/callcenter/challenge-2-monitor/README.md +++ b/callcenter/challenge-2-monitor/README.md @@ -10,6 +10,7 @@ By the end of this challenge, you will have: - ✅ Agent interactions visible as traces in Application Insights - ✅ Understanding of how to debug agent behaviour in production +![monitor](./images/monitor.png) ## Context diff --git a/callcenter/challenge-2-monitor/images/monitor.png b/callcenter/challenge-2-monitor/images/monitor.png new file mode 100644 index 0000000..61f5f89 Binary files /dev/null and b/callcenter/challenge-2-monitor/images/monitor.png differ diff --git a/callcenter/challenge-3-evaluate/README.md b/callcenter/challenge-3-evaluate/README.md index e74ab86..983da4e 100644 --- a/callcenter/challenge-3-evaluate/README.md +++ b/callcenter/challenge-3-evaluate/README.md @@ -11,6 +11,7 @@ By the end of this challenge, you will have: - ✅ Interpreted evaluation metrics and identified areas for improvement - ✅ Understanding of how to integrate evaluations into a CI/CD pipeline +![evaluate](./images/evaluate.png) ## Context diff --git a/callcenter/challenge-3-evaluate/images/evaluate.png b/callcenter/challenge-3-evaluate/images/evaluate.png new file mode 100644 index 0000000..a5e456a Binary files /dev/null and b/callcenter/challenge-3-evaluate/images/evaluate.png differ diff --git a/callcenter/challenge-4-deploy/README.md b/callcenter/challenge-4-deploy/README.md index 014cffc..b91bd4a 100644 --- a/callcenter/challenge-4-deploy/README.md +++ b/callcenter/challenge-4-deploy/README.md @@ -10,6 +10,8 @@ The individual agents you built in Challenge 1 are valuable — but in productio **together** as an automated pipeline. In this challenge you wire the two agents into a full call center triage workflow, run it from code, then build and test it visually in the Foundry portal. +![deploy](./images/deploy.png) + ## Learning Objectives - Deploy persistent production agents (create once, reuse forever) diff --git a/callcenter/challenge-4-deploy/images/deploy.png b/callcenter/challenge-4-deploy/images/deploy.png new file mode 100644 index 0000000..afb2cfd Binary files /dev/null and b/callcenter/challenge-4-deploy/images/deploy.png differ diff --git a/callcenter/images/agentic-orchestration.png b/callcenter/images/agentic-orchestration.png new file mode 100644 index 0000000..9154bb7 Binary files /dev/null and b/callcenter/images/agentic-orchestration.png differ diff --git a/callcenter/images/architecture.png b/callcenter/images/architecture.png new file mode 100644 index 0000000..c8046e3 Binary files /dev/null and b/callcenter/images/architecture.png differ diff --git a/callcenter/images/scenario.png b/callcenter/images/scenario.png new file mode 100644 index 0000000..6ecae2a Binary files /dev/null and b/callcenter/images/scenario.png differ diff --git a/claims/README.md b/claims/README.md index c0a2ecc..dd2ee7b 100644 --- a/claims/README.md +++ b/claims/README.md @@ -2,10 +2,14 @@ ## Scenario +![scenario](./images/scenario.png) + You work at **ClaimSight Insurance**, a property and auto insurance company that processes hundreds of claims daily. Each claim has associated metrics: document completeness, damage-vs-estimate consistency, fraud risk scoring, and policy coverage matching. Lately, fraudulent claims and processing delays have been costing the company millions. Your mission: **Build AI agents using Microsoft Foundry** that can triage incoming claims and make intelligent processing decisions — flagging suspicious claims for investigation while fast-tracking legitimate ones. +![orchestration](./images/agentic-orchestration.png) + You'll build two agents: 1. **Claims Triage Agent** — Assesses claim metrics against acceptable thresholds and flags anomalies @@ -56,36 +60,7 @@ All challenges are Python SDK-based. Challenge 4 also walks you through the Foun ## Architecture -``` -┌──────────────────────────────────────────────────────┐ -│ Microsoft Foundry │ -│ ┌──────────────────┐ ┌──────────────────────────┐│ -│ │ Claims Triage │ │ Claims Decision Agent ││ -│ │ Agent │ │ (persistent v1) ││ -│ │ (persistent v1) │ │ ││ -│ │ │ │ Recommends: APPROVE / ││ -│ │ Tools: │ │ INVESTIGATE / REQUEST / ││ -│ │ - assess_claim │ │ DENY ││ -│ └──────────────────┘ └──────────────────────────┘│ -│ │ -│ ┌─────────────────────────────────────────────────┐ │ -│ │ Application Insights (GenAI Tracing) │ │ -│ │ Traces every agent call, tool invocation, │ │ -│ │ token usage, and latency │ │ -│ └─────────────────────────────────────────────────┘ │ -└──────────────────────────────────────────────────────┘ - ▲ ▲ - │ │ - assess_claim() Decision input - (local tool) (from triage flags) - │ │ -┌────────┴───────────────────────────┴─────────────────┐ -│ Python Orchestration (deploy.py) │ -│ 1. Triage all claims │ -│ 2. For each flagged claim → get decision │ -│ 3. Print consolidated claims report │ -└──────────────────────────────────────────────────────┘ -``` +![architecture](./images/architecture.png) ## Next Steps diff --git a/claims/challenge-0-setup/README.md b/claims/challenge-0-setup/README.md index 39c5074..a7aa164 100644 --- a/claims/challenge-0-setup/README.md +++ b/claims/challenge-0-setup/README.md @@ -11,6 +11,8 @@ By the end of this challenge, you will have: - ✅ Verified authentication from your local machine to Foundry - ✅ Confirmed your agent endpoint is working +![setup](./images/setup.png) + ## Get Started There are two ways to get started — pick one: diff --git a/claims/challenge-0-setup/images/setup.png b/claims/challenge-0-setup/images/setup.png new file mode 100644 index 0000000..7679597 Binary files /dev/null and b/claims/challenge-0-setup/images/setup.png differ diff --git a/claims/challenge-1-build/README.md b/claims/challenge-1-build/README.md index 2e47ad6..3fa33b4 100644 --- a/claims/challenge-1-build/README.md +++ b/claims/challenge-1-build/README.md @@ -10,6 +10,7 @@ By the end of this challenge, you will have: - ✅ A **Claims Decision Agent** that analyzes flagged claims and recommends actions - ✅ Both agents tested against real claims data +![build](./images/build.png) ## Context diff --git a/claims/challenge-1-build/images/build.png b/claims/challenge-1-build/images/build.png new file mode 100644 index 0000000..33fc5a0 Binary files /dev/null and b/claims/challenge-1-build/images/build.png differ diff --git a/claims/challenge-2-monitor/README.md b/claims/challenge-2-monitor/README.md index 614371d..9b8f8ac 100644 --- a/claims/challenge-2-monitor/README.md +++ b/claims/challenge-2-monitor/README.md @@ -10,6 +10,7 @@ By the end of this challenge, you will have: - ✅ Agent interactions visible as traces in Application Insights - ✅ Understanding of how to debug agent behaviour in production +![monitor](./images/monitor.png) ## Context diff --git a/claims/challenge-2-monitor/images/monitor.png b/claims/challenge-2-monitor/images/monitor.png new file mode 100644 index 0000000..02b2c0c Binary files /dev/null and b/claims/challenge-2-monitor/images/monitor.png differ diff --git a/claims/challenge-3-evaluate/README.md b/claims/challenge-3-evaluate/README.md index b4f3641..43fde1f 100644 --- a/claims/challenge-3-evaluate/README.md +++ b/claims/challenge-3-evaluate/README.md @@ -11,6 +11,7 @@ By the end of this challenge, you will have: - ✅ Interpreted evaluation metrics and identified areas for improvement - ✅ Understanding of how to integrate evaluations into a CI/CD pipeline +![evaluate](./images/evaluate.png) ## Context diff --git a/claims/challenge-3-evaluate/images/evaluate.png b/claims/challenge-3-evaluate/images/evaluate.png new file mode 100644 index 0000000..cc309b5 Binary files /dev/null and b/claims/challenge-3-evaluate/images/evaluate.png differ diff --git a/claims/challenge-4-deploy/README.md b/claims/challenge-4-deploy/README.md index b7c21d8..656ad09 100644 --- a/claims/challenge-4-deploy/README.md +++ b/claims/challenge-4-deploy/README.md @@ -10,6 +10,8 @@ The individual agents you built in Challenge 1 are valuable — but in productio **together** as an automated pipeline. In this challenge you wire the two agents into a full claims processing workflow, run it from code, then build and test it visually in the Foundry portal. +![deploy](./images/deploy.png) + ## Learning Objectives - Deploy persistent production agents (create once, reuse forever) diff --git a/claims/challenge-4-deploy/images/deploy.png b/claims/challenge-4-deploy/images/deploy.png new file mode 100644 index 0000000..923dff6 Binary files /dev/null and b/claims/challenge-4-deploy/images/deploy.png differ diff --git a/claims/images/agentic-orchestration.png b/claims/images/agentic-orchestration.png new file mode 100644 index 0000000..357906e Binary files /dev/null and b/claims/images/agentic-orchestration.png differ diff --git a/claims/images/architecture.png b/claims/images/architecture.png new file mode 100644 index 0000000..6da5030 Binary files /dev/null and b/claims/images/architecture.png differ diff --git a/claims/images/scenario.png b/claims/images/scenario.png new file mode 100644 index 0000000..e1c0d56 Binary files /dev/null and b/claims/images/scenario.png differ diff --git a/factory/README.md b/factory/README.md index 3764de6..66d41f4 100644 --- a/factory/README.md +++ b/factory/README.md @@ -2,6 +2,8 @@ ## Background +![scenario](./images/scenario.png) + **TireForge Industries** operates a tire manufacturing plant with 5 critical machines: - **MX-001** (Mixer) — Blends raw rubber compounds @@ -12,8 +14,12 @@ Each machine emits real-time sensor data: temperature, pressure, vibration, and RPM. + + ## Your Mission +![agentic-orchestration](./images/agentic-orchestration.png) + Build an AI agent system that: 1. **Detects anomalies** — Compares sensor readings against thresholds @@ -43,26 +49,8 @@ Build an AI agent system that: ## Architecture -``` -┌─────────────────────────────────────────────────────────┐ -│ Microsoft Foundry │ -│ │ -│ ┌─────────────────┐ ┌──────────────────────┐ │ -│ │ Anomaly Agent │ │ Fault Diagnosis │ │ -│ │ (+ tool: │─────▶│ Agent │ │ -│ │ check_thresh.) │ │ │ │ -│ └────────┬────────┘ └──────────┬───────────┘ │ -│ │ │ │ -│ ▼ ▼ │ -│ ┌─────────────────────────────────────────────────┐ │ -│ │ Factory Health Workflow │ │ -│ └─────────────────────────────────────────────────┘ │ -│ │ -│ ┌──────────────┐ ┌───────────────┐ ┌────────────┐ │ -│ │ App Insights │ │ Evaluation │ │ Tracing │ │ -│ └──────────────┘ └───────────────┘ └────────────┘ │ -└─────────────────────────────────────────────────────────┘ -``` +![architecture](./images/architecture.png) + ## Next Steps diff --git a/factory/challenge-0-setup/README.md b/factory/challenge-0-setup/README.md index 94d312e..aa8b19e 100644 --- a/factory/challenge-0-setup/README.md +++ b/factory/challenge-0-setup/README.md @@ -11,6 +11,8 @@ By the end of this challenge, you will have: - ✅ Verified authentication from your local machine to Foundry - ✅ Confirmed your agent endpoint is working +![setup](./images/setup.png) + ## Get Started There are two ways to get started — pick one: diff --git a/factory/challenge-0-setup/images/setup.png b/factory/challenge-0-setup/images/setup.png new file mode 100644 index 0000000..a4b0336 Binary files /dev/null and b/factory/challenge-0-setup/images/setup.png differ diff --git a/factory/challenge-1-build/README.md b/factory/challenge-1-build/README.md index e89375e..eddda9d 100644 --- a/factory/challenge-1-build/README.md +++ b/factory/challenge-1-build/README.md @@ -10,6 +10,7 @@ By the end of this challenge, you will have: - ✅ A **Fault Diagnosis Agent** that analyzes flagged anomalies and recommends maintenance actions - ✅ Both agents tested against real sensor data from the factory floor +![build](./images/build.png) ## Context diff --git a/factory/challenge-1-build/images/build.png b/factory/challenge-1-build/images/build.png new file mode 100644 index 0000000..40f36ee Binary files /dev/null and b/factory/challenge-1-build/images/build.png differ diff --git a/factory/challenge-2-monitor/README.md b/factory/challenge-2-monitor/README.md index 70dfbe3..0c07f7e 100644 --- a/factory/challenge-2-monitor/README.md +++ b/factory/challenge-2-monitor/README.md @@ -10,6 +10,7 @@ By the end of this challenge, you will have: - ✅ Agent interactions visible as traces in Application Insights - ✅ Understanding of how to debug agent behaviour in production +![monitor](./images/monitor.png) ## Context diff --git a/factory/challenge-2-monitor/images/monitor.png b/factory/challenge-2-monitor/images/monitor.png new file mode 100644 index 0000000..08ba457 Binary files /dev/null and b/factory/challenge-2-monitor/images/monitor.png differ diff --git a/factory/challenge-3-evaluate/README.md b/factory/challenge-3-evaluate/README.md index 7623032..c38d2c2 100644 --- a/factory/challenge-3-evaluate/README.md +++ b/factory/challenge-3-evaluate/README.md @@ -11,6 +11,7 @@ By the end of this challenge, you will have: - ✅ Interpreted evaluation metrics and identified areas for improvement - ✅ Understanding of how to integrate evaluations into a CI/CD pipeline +![evaluate](./images/evaluate.png) ## Context diff --git a/factory/challenge-3-evaluate/images/evaluate.png b/factory/challenge-3-evaluate/images/evaluate.png new file mode 100644 index 0000000..45f12f9 Binary files /dev/null and b/factory/challenge-3-evaluate/images/evaluate.png differ diff --git a/factory/challenge-4-deploy/README.md b/factory/challenge-4-deploy/README.md index 15bd43b..6d4df03 100644 --- a/factory/challenge-4-deploy/README.md +++ b/factory/challenge-4-deploy/README.md @@ -10,6 +10,8 @@ The individual agents you built in Challenge 1 are valuable — but in productio **together** as an automated pipeline. In this challenge you wire the two agents into a full factory health workflow, run it from code, then build and test it visually in the Foundry portal. +![deploy](./images/deploy.png) + ## Learning Objectives - Deploy persistent production agents (create once, reuse forever) diff --git a/factory/challenge-4-deploy/images/deploy.png b/factory/challenge-4-deploy/images/deploy.png new file mode 100644 index 0000000..1b97872 Binary files /dev/null and b/factory/challenge-4-deploy/images/deploy.png differ diff --git a/factory/images/agentic-orchestration.png b/factory/images/agentic-orchestration.png new file mode 100644 index 0000000..a099814 Binary files /dev/null and b/factory/images/agentic-orchestration.png differ diff --git a/factory/images/architecture.png b/factory/images/architecture.png new file mode 100644 index 0000000..91ef281 Binary files /dev/null and b/factory/images/architecture.png differ diff --git a/factory/images/scenario.png b/factory/images/scenario.png new file mode 100644 index 0000000..e7c539b Binary files /dev/null and b/factory/images/scenario.png differ