Skip to content

Latest commit

 

History

History
314 lines (244 loc) · 16.4 KB

File metadata and controls

314 lines (244 loc) · 16.4 KB

Foundry Toolkit + Foundry Hosted Agents Workshop

Python Microsoft Agent Framework Hosted Agents Microsoft Foundry Azure OpenAI Azure CLI Azure Developer CLI Docker Foundry Toolkit License

Byg, test og deploy AI-agenter til Microsoft Foundry Agent Service som Hosted Agents - helt fra VS Code ved hjælp af Microsoft Foundry-udvidelsen og Foundry Toolkit.

Hosted Agents er i øjeblikket i preview. Understøttede regioner er begrænsede - se region tilgængelighed.

Mappen agent/ inden i hvert lab bliver automatisk scaffoldet af Foundry-udvidelsen - du tilpasser derefter koden, tester lokalt og deployer.

🌐 Multisprog support

Understøttet via GitHub Action (Automatiseret & Altid Opdateret)

Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Khmer | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese

Foretrækker du at klone lokalt?

Dette repository inkluderer 50+ sprogoversættelser, hvilket væsentligt øger downloadstørrelsen. For at klone uden oversættelser, brug sparse checkout:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git
cd Foundry_Toolkit_for_VSCode_Lab
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

CMD (Windows):

git clone --filter=blob:none --sparse https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git
cd Foundry_Toolkit_for_VSCode_Lab
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

Dette giver dig alt, hvad du behøver for at gennemføre kurset med en meget hurtigere download.


Arkitektur

flowchart TB
    subgraph Local["Lokal Udvikling (VS Code)"]
        direction TB
        FE["Microsoft Foundry
        Udvidelse"]
        FoundryToolkit["Foundry Toolkit
        Udvidelse"]
        Scaffold["Skabelon Agent Kode
        (main.py · agent.yaml · Dockerfile)"]
        Inspector["Agent Inspektør
        (Lokal Test)"]
        FE -- "Opret Ny
        Hostet Agent" --> Scaffold
        Scaffold -- "F5 Fejlfinding" --> Inspector
        FoundryToolkit -.- Inspector
    end

    subgraph Cloud["Microsoft Foundry"]
        direction TB
        ACR["Azure Container
        Register"]
        AgentService["Foundry Agent Service
        (Hostet Agent Runtime)"]
        Model["Azure OpenAI
        (gpt-4.1 / gpt-4.1-mini)"]
        Playground["Foundry Legeplads
        & VS Code Legeplads"]
        ACR --> AgentService
        AgentService -- "/responses API" --> Model
        AgentService --> Playground
    end

    Scaffold -- "Deploy
    (Docker build + push)" --> ACR
    Inspector -- "POST /responses
    (localhost:8088)" --> Scaffold
    Playground -- "Test forespørgsler" --> AgentService

    style Local fill:#f0f4ff,stroke:#4a6cf7,stroke-width:2px
    style Cloud fill:#fff4e6,stroke:#f59e0b,stroke-width:2px
Loading

Flow: Foundry-udvidelsen scaffolder agenten → du tilpasser kode & instruktioner → tester lokalt med Agent Inspector → deployer til Foundry (Docker-image pushes til ACR) → verificerer i Playground.


Hvad du vil bygge

Lab Beskrivelse Status
Lab 01 - Single Agent Byg "Explain Like I'm an Executive" Agent'en, test den lokalt, og deploy til Foundry ✅ Tilgængelig
Lab 02 - Multi-Agent Workflow Byg "Resume → Job Fit Evaluator" - 4 agenter samarbejder om at score CV-pasform og generere en læringsplan ✅ Tilgængelig

Mød Executive Agent

I denne workshop bygger du "Explain Like I'm an Executive" Agent'en - en AI-agent, der tager komplekst teknisk fagsprog og oversætter det til rolige, bestyrelsesklare opsummeringer. For lad os være ærlige, ingen i C-suiten ønsker at høre om "thread pool exhaustion forårsaget af synkrone kald introduceret i v3.2."

Jeg byggede denne agent efter alt for mange hændelser, hvor min perfekt udarbejdede post-mortem fik svaret: "Så... er websitet nede eller ej?"

Hvordan det virker

Du fodrer den med en teknisk opdatering. Den spytter en ledelsesopsummering tilbage - tre punktformspunkter, ingen jargon, ingen stacktraces, ingen eksistentiel angst. Bare hvad der skete, forretningspåvirkningen, og næste skridt.

Se den i aktion

Du siger:

"API latencyen steg på grund af trådpool-udtømning forårsaget af synkrone kald introduceret i v3.2."

Agenten svarer:

Ledelsesopsummering:

  • Hvad der skete: Efter den seneste release gik systemet langsommere.
  • Forretningspåvirkning: Nogle brugere oplevede forsinkelser ved brug af servicen.
  • Næste skridt: Ændringen er blevet rullet tilbage, og en løsning forberedes før redeployment.

Hvorfor denne agent?

Det er en død-simple, enkeltformåls-agent - perfekt til at lære hosted agent workflow fra ende til anden uden at blive fanget i komplekse værktøjskæder. Og helt ærligt? Hvert ingeniørteam kunne bruge en af disse.


Workshop struktur

📂 Foundry_Toolkit_for_VSCode_Lab/
├── 📄 README.md                      ← You are here
├── 📂 ExecutiveAgent/                ← Standalone hosted agent project
│   ├── agent.yaml
│   ├── Dockerfile
│   ├── main.py
│   └── requirements.txt
└── 📂 workshop/
    ├── 📂 lab01-single-agent/        ← Full lab: docs + agent code
    │   ├── README.md                 ← Hands-on lab instructions
    │   ├── 📂 docs/                  ← Step-by-step tutorial modules
    │   │   ├── 00-prerequisites.md
    │   │   ├── 01-install-foundry-toolkit.md
    │   │   ├── 02-create-foundry-project.md
    │   │   ├── 03-create-hosted-agent.md
    │   │   ├── 04-configure-and-code.md
    │   │   ├── 05-test-locally.md
    │   │   ├── 06-deploy-to-foundry.md
    │   │   ├── 07-verify-in-playground.md
    │   │   └── 08-troubleshooting.md
    │   └── 📂 agent/                 ← Reference solution (auto-scaffolded by Foundry extension)
    │       ├── agent.yaml
    │       ├── Dockerfile
    │       ├── main.py
    │       └── requirements.txt
    └── 📂 lab02-multi-agent/         ← Resume → Job Fit Evaluator
        ├── README.md                 ← Hands-on lab instructions (end-to-end)
        ├── 📂 docs/                  ← Step-by-step tutorial modules
        │   ├── 00-prerequisites.md
        │   ├── 01-understand-multi-agent.md
        │   ├── 02-scaffold-multi-agent.md
        │   ├── 03-configure-agents.md
        │   ├── 04-orchestration-patterns.md
        │   ├── 05-test-locally.md
        │   ├── 06-deploy-to-foundry.md
        │   ├── 07-verify-in-playground.md
        │   └── 08-troubleshooting.md
        └── 📂 PersonalCareerCopilot/ ← Reference solution (multi-agent workflow)
            ├── agent.yaml
            ├── Dockerfile
            ├── main.py
            └── requirements.txt

Note: Mappen agent/ inde i hvert lab er det, som Microsoft Foundry-udvidelsen genererer, når du kører Microsoft Foundry: Create a New Hosted Agent fra Command Palette. Filene tilpasses så med din agents instruktioner, værktøjer og konfiguration. Lab 01 guider dig gennem at genskabe dette fra bunden.


Kom godt i gang

1. Klon repository

git clone https://github.com/microsoft-foundry/Foundry_Toolkit_for_VSCode_Lab.git
cd Foundry_Toolkit_for_VSCode_Lab

2. Opsæt et Python virtual environment

python -m venv venv

Aktivér det:

  • Windows (PowerShell):
    .\venv\Scripts\Activate.ps1
  • macOS / Linux:
    source venv/bin/activate

3. Installer afhængigheder

pip install -r workshop/lab01-single-agent/agent/requirements.txt

4. Konfigurer miljøvariable

Kopiér eksempel-.env-filen inde i agentmappen og udfyld dine værdier:

cp workshop/lab01-single-agent/agent/.env.example workshop/lab01-single-agent/agent/.env

Rediger workshop/lab01-single-agent/agent/.env:

AZURE_AI_PROJECT_ENDPOINT=https://<your-account>.services.ai.azure.com/api/projects/<your-project>
MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

5. Følg workshop-labs

Hvert lab er selvstændigt med sine egne moduler. Start med Lab 01 for at lære det grundlæggende, og fortsæt så til Lab 02 for multi-agent workflows.

Lab 01 - Single Agent (fulde instruktioner)

# Modul Link
1 Læs forudsætningerne 00-prerequisites.md
2 Installer Foundry Toolkit & Foundry extension 01-install-foundry-toolkit.md
3 Opret et Foundry projekt 02-create-foundry-project.md
4 Opret en hosted agent 03-create-hosted-agent.md
5 Konfigurer instruktioner & miljø 04-configure-and-code.md
6 Test lokalt 05-test-locally.md
7 Deploy til Foundry 06-deploy-to-foundry.md
8 Verificer i playground 07-verify-in-playground.md
9 Fejlfinding 08-troubleshooting.md

Lab 02 - Multi-Agent Workflow (fulde instruktioner)

# Modul Link
1 Forudsætninger (Lab 02) 00-prerequisites.md
2 Forstå multi-agent arkitektur 01-understand-multi-agent.md
3 Scaffold multi-agent projekt 02-scaffold-multi-agent.md
4 Konfigurer agenter & miljø 03-configure-agents.md
5 Orkestreringsmønstre 04-orchestration-patterns.md
6 Test lokalt (multi-agent) 05-test-locally.md
7 Udrul til Foundry 06-deploy-to-foundry.md
8 Bekræft i playground 07-verify-in-playground.md
9 Fejlfinding (multi-agent) 08-troubleshooting.md

Vedligeholder

Shivam Goyal
Shivam Goyal


Nødvendige tilladelser (hurtig reference)

Scenario Nødvendige roller
Opret nyt Foundry-projekt Azure AI Owner på Foundry-ressource
Udrul til eksisterende projekt (nye ressourcer) Azure AI Owner + Contributor på abonnement
Udrul til fuldt konfigureret projekt Reader på konto + Azure AI User på projekt

Vigtigt: Azure Owner og Contributor roller inkluderer kun administrations tilladelser, ikke udviklings (datahandling) tilladelser. Du behøver Azure AI User eller Azure AI Owner for at bygge og udrulle agenter.


Referencer


Licens

MIT


Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå ved brug af denne oversættelse.