Skip to content

Latest commit

 

History

History
311 lines (239 loc) · 16.1 KB

File metadata and controls

311 lines (239 loc) · 16.1 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 begrensede - se region tilgjengelighet.

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

🌐 Flerspråklig støtte

Støttet via GitHub Action (Automatisert og 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 over 50 språkoversettelser, noe som øker nedlastingsstørrelsen betydelig. For å klone uten oversettelser, bruk spars 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 mye raskere nedlasting.


Arkitektur

flowchart TB
    subgraph Local["Lokal utvikling (VS Code)"]
        direction TB
        FE["Microsoft Foundry
        Extension"]
        FoundryToolkit["Foundry Toolkit
        Extension"]
        Scaffold["Scaffolded Agent Code
        (main.py · agent.yaml · Dockerfile)"]
        Inspector["Agent Inspector
        (Local Testing)"]
        FE -- "Create New
        Hosted Agent" --> Scaffold
        Scaffold -- "F5 Feilsøking" --> Inspector
        FoundryToolkit -.- Inspector
    end

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

    Scaffold -- "Deploy
    (Docker build + push)" --> ACR
    Inspector -- "POST /responses
    (localhost:8088)" --> Stillas
    Playground -- "Testoppfordringer" --> AgentService

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

Flyt: Foundry-utvidelsen lager agenten → du tilpasser kode og instruksjoner → tester lokalt med Agent Inspector → distribuerer til Foundry (Docker-image pushes til ACR) → verifiser i Playground.


Hva du vil bygge

Lab Beskrivelse Status
Lab 01 - Enkel Agent Bygg "Forklar som jeg er en leder" Agent, test den lokalt, og distribuer til Foundry ✅ Tilgjengelig
Lab 02 - Multi-Agent Workflow Bygg "CV → Jobb Match Evaluator" - 4 agenter samarbeider om å score CV-match og generere en læringsplan ✅ Tilgjengelig

Møt Ledelsesagenten

I denne workshoppen bygger du "Forklar som jeg er en leder" Agent - en AI-agent som tar komplisert teknisk sjargong og oversetter det til rolige, styreklare sammendrag. For la oss være ærlige, ingen i ledergruppen vil høre om "trådbasseng-utmattelse forårsaket av synkrone kall introdusert i v3.2."

Jeg bygde denne agenten etter altfor mange hendelser der min perfekt formulerte etter-analyse fikk svaret: "Så… er nettsiden nede eller ikke?"

Slik fungerer den

Du gir den en teknisk oppdatering. Den spytter tilbake et ledelses-sammendrag - tre punkter, 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 trådbasseng-utmattelse forårsaket av synkrone kall introdusert i v3.2."

Agenten svarer:

Ledelses-sammendrag:

  • Hva skjedde: Etter siste utgivelse ble systemet tregere.
  • Forretningspåvirkning: Noen brukere opplevde forsinkelser ved bruk av tjenesten.
  • Neste steg: Endringen er reversert og en rettelse forberedes før ny distribusjon.

Hvorfor denne agenten?

Den er en dødslett, enkel agent med ett formål - perfekt for å lære hosted agent-arbeidsflyten fra ende til annen uten å bli viklet inn i komplekse verktøykjeder. Og ærlig talt? Hvert ingeniørteam kunne ha nytte av en slik.


Workshop-struktur

📂 Foundry_Toolkit_for_VSCode_Lab/
├── 📄 README.md                      ← You are here
└── 📂 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-setup.md
    │   │   ├── 02-create-hosted-agent.md
    │   │   ├── 03-configure-and-code.md
    │   │   ├── 04-test-locally.md
    │   │   ├── 05-deploy-to-foundry.md
    │   │   ├── 06-verify-in-playground.md
    │   │   ├── 07-summary.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
        └── 📂 PersonalCareerCopilotCompleted/ ← 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 kommandopaletten. Filene tilpasses deretter med agentens instruksjoner, verktøy og konfigurasjon. Lab 01 går gjennom å lage dette på nytt fra bunnen av.


Komme i gang

1. Klon repositoriet

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 inn 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>
AZURE_AI_MODEL_DEPLOYMENT_NAME=<your-model-deployment-name>

5. Følg workshop-labene

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

Lab 01 - Enkel Agent (fullstendige instruksjoner)

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

Lab 02 - Multi-Agent Workflow (fullstendige instruksjoner)

# Modul Lenke
1 Forutsetninger (Lab 02) 00-prerequisites.md
2 Forstå multi-agent arkitektur 01-understand-multi-agent.md
3 Scaffold 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 (rask referanse)

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

Viktig: Azure Owner og Contributor roller inkluderer kun administrasjons-tillatelser, ikke utviklings (datahandling) tillatelser. 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, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal 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 ved bruk av denne oversettelsen.