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

Bygg, test og distribuer AI-agenter til Microsoft Foundry Agent Service som Hosted Agents – helt fra VS Code ved hjelp av Microsoft Foundry-utvidelsen og Foundry Toolkit.

Hosted Agents er for øyeblikket i forhåndsvisning. Støttede regioner er begrenset – se regiontilgjengelighet.

Mappen agent/ inne i hver lab blir automatisk generert av Foundry-utvidelsen – deretter tilpasser du koden, tester lokalt og distribuerer.

🌐 Støtte for flere språk

Støttet via GitHub Action (Automatisk & Alltid Oppdatert)

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

Foretrekker du å klone lokalt?

Dette depotet inkluderer 50+ språkoversettelser som øker nedlastingsstørrelsen betydelig. For å klone uten oversettelser, bruk 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 gir deg alt du trenger for å fullføre kurset med en mye raskere nedlasting.


Arkitektur

flowchart TB
    subgraph Local["Lokal utvikling (VS Code)"]
        direction TB
        FE["Microsoft Foundry
        Utvidelse"]
        FoundryToolkit["Foundry Toolkit
        Utvidelse"]
        Scaffold["Skalert agentkode
        (main.py · agent.yaml · Dockerfile)"]
        Inspector["Agentinspektør
        (Lokal testing)"]
        FE -- "Opprett ny
        Vert agent" --> Scaffold
        Scaffold -- "F5 Debugg" --> Inspector
        FoundryToolkit -.- Inspector
    end

    subgraph Cloud["Microsoft Foundry"]
        direction TB
        ACR["Azure Container
        Register"]
        AgentService["Foundry agenttjeneste
        (Vert agent runtime)"]
        Model["Azure OpenAI
        (gpt-4.1 / gpt-4.1-mini)"]
        Playground["Foundry lekeområde
        & VS Code lekeområde"]
        ACR --> AgentService
        AgentService -- "/responses API" --> Model
        AgentService --> Playground
    end

    Scaffold -- "Distribuer
    (Docker build + push)" --> ACR
    Inspector -- "POST /responses
    (localhost:8088)" --> Scaffold
    Playground -- "Test prompt" --> AgentService

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

Flyt: Foundry-utvidelsen genererer agenten → du tilpasser kode & instruksjoner → tester lokalt med Agent Inspector → distribuerer til Foundry (Docker-image push til ACR) → verifiserer i Playground.


Hva du skal bygge

Lab Beskrivelse Status
Lab 01 - Enkelt Agent Bygg "Forklar som om jeg er en leder"-agenten, test den lokalt og distribuer til Foundry ✅ Tilgjengelig
Lab 02 - Multi-Agent Arbeidsflyt Bygg "CV → Jobbtilpasningsvurderer" – 4 agenter samarbeider om å score CV-tilpasning og generere en læringsplan ✅ Tilgjengelig

Møt lederagenten

I denne workshopen skal du bygge "Forklar som om jeg er en leder"-agenten – en AI-agent som tar komplisert teknisk sjargong og oversetter det til rolige, styreklare sammendrag. For ærlig talt, ingen i ledelsen ønsker å høre om "thread pool exhaustion forårsaket av synkrone kall introdusert i v3.2."

Jeg bygde denne agenten etter altfor mange hendelser der min perfekt utformede etteranalyse fikk svaret: "Så... er nettsiden nede eller ikke?"

Hvordan den fungerer

Du gir den en teknisk oppdatering. Den gir tilbake et leder-sammendrag – tre kulepunkter, ingen sjargong, ingen stack traces, ingen eksistensiell angst. Bare hva som skjedde, forretningspåvirkning, og neste steg.

Se den i aksjon

Du sier:

"API-forsinkelsen økte på grunn av thread pool exhaustion forårsaket av synkrone kall introdusert i v3.2."

Agenten svarer:

Leder sammendrag:

  • Hva som skjedde: Etter siste utgivelse ble systemet tregere.
  • Forretningspåvirkning: Noen brukere opplevde forsinkelser under bruk av tjenesten.
  • Neste steg: Endringen er rullet tilbake, og en fiks forberedes før ny distribusjon.

Hvorfor denne agenten?

Den er en veldig enkel, enkeltformålsagent – perfekt for å lære hosted agent-arbeidsflyten fra start til slutt uten å bli fanget i komplekse verktøykjeder. Og ærlig talt? Hvert ingeniørteam kunne hatt en slik.


Workshopstruktur

📂 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

Merk: Mappen agent/ inne i hver lab er det Microsoft Foundry-utvidelsen genererer når du kjører Microsoft Foundry: Create a New Hosted Agent fra Command Palette. Filene tilpasses så med dine instruksjoner, verktøy og konfigurasjon. Lab 01 guider deg gjennom hvordan du lager dette fra bunnen av.


Komme i gang

1. Klon depotet

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

2. Sett opp et Python virtuelt miljø

python -m venv venv

Aktiver det:

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

3. Installer avhengigheter

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

4. Konfigurer miljøvariabler

Kopier eksempel-.env-filen inne i agent-mappen og fyll ut dine verdier:

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-labbene

Hver lab er selvstendig med egne moduler. Start med Lab 01 for å lære det grunnleggende, så går du videre til Lab 02 for multi-agent arbeidsflyter.

Lab 01 - Enkelt Agent (fullstendige instruksjoner)

# Modul Lenke
1 Les forutsetningene 00-prerequisites.md
2 Installer Foundry Toolkit & Foundry-utvidelsen 01-install-foundry-toolkit.md
3 Opprett et Foundry-prosjekt 02-create-foundry-project.md
4 Opprett en hosted agent 03-create-hosted-agent.md
5 Konfigurer instruksjoner & miljø 04-configure-and-code.md
6 Test lokalt 05-test-locally.md
7 Distribuer til Foundry 06-deploy-to-foundry.md
8 Verifiser i playground 07-verify-in-playground.md
9 Feilsøking 08-troubleshooting.md

Lab 02 - Multi-Agent Arbeidsflyt (fullstendige instruksjoner)

# Modul Lenke
1 Forutsetninger (Lab 02) 00-prerequisites.md
2 Forstå multi-agent arkitektur 01-understand-multi-agent.md
3 Generer multi-agent prosjekt 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 Distribuer til Foundry 06-deploy-to-foundry.md
8 Verifiser i playground 07-verify-in-playground.md
9 Feilsøking (multi-agent) 08-troubleshooting.md

Vedlikeholder

Shivam Goyal
Shivam Goyal


Nødvendige tillatelser (hurtigreferanse)

Scenario Nødvendige roller
Opprett nytt Foundry-prosjekt Azure AI Owner på Foundry-ressurs
Distribuer til eksisterende prosjekt (nye ressurser) Azure AI Owner + Contributor på abonnement
Distribuer til fullt konfigurert prosjekt Reader på konto + Azure AI User på prosjekt

Viktig: Azure-roller Owner og Contributor inkluderer kun administrasjonstillatelser, ikke utvikling (datahandlingstillatelser). Du trenger Azure AI User eller Azure AI Owner for å bygge og distribuere agenter.


Referanser


Lisens

MIT


Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på dets opprinnelige språk bør betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår på grunn av bruk av denne oversettelsen.