Skip to content

Latest commit

 

History

History
311 lines (239 loc) · 16.3 KB

File metadata and controls

311 lines (239 loc) · 16.3 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, testa och distribuera AI-agenter till Microsoft Foundry Agent Service som Hosted Agents – helt och hållet från VS Code med hjälp av Microsoft Foundry-tillägget och Foundry Toolkit.

Hosted Agents är för närvarande i förhandsgranskning. Stödda regioner är begränsade – se regiontillgänglighet.

Mappen agent/ inuti varje labb genereras automatiskt av Foundry-tillägget – du anpassar sedan koden, testar lokalt och distribuerar.

🌐 Mångspråkigt stöd

Stöds via GitHub Action (Automatiserat & Alltid Uppdaterat)

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

Föredrar du att klona lokalt?

Detta arkiv inkluderar över 50 språköversättningar vilket kraftigt ökar nedladdningsstorleken. För att klona utan översättningar, använd 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"

Detta ger dig allt du behöver för att slutföra kursen med en mycket snabbare nedladdning.


Arkitektur

flowchart TB
    subgraph Local["Lokal utveckling (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 Felsökning" --> 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)" --> Stomme
    Playground -- "Testpromptar" --> AgentService

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

Flöde: Foundry-tillägget skapar agenten → du anpassar kod & instruktioner → testar lokalt med Agent Inspector → distribuerar till Foundry (Docker-bild skickas till ACR) → verifierar i Playground.


Vad du kommer att bygga

Labb Beskrivning Status
Labb 01 - Enkel Agent Bygg "Förklara som om jag vore en chef"-agenten, testa lokalt och distribuera till Foundry ✅ Tillgänglig
Labb 02 - Flermedlarflöde Bygg "CV → Jobbanpassare" – 4 agenter samarbetar för att poängsätta CV-anpassning och skapa en lärande vägplan ✅ Tillgänglig

Möt Executive Agent

I denna workshop kommer du att bygga "Förklara som om jag vore en chef"-agenten – en AI-agent som tar besvärlig teknisk jargong och översätter till lugna, styrelserumsfärdiga sammanfattningar. För ärligt talat, ingen i ledningsgruppen vill höra om ”trådpoolens utmattning orsakad av synkrona anrop införda i v3.2.”

Jag byggde denna agent efter fler än ett tillfälle där min perfekt formulerade efteranalys fick svaret: "Så... är webbplatsen nere eller inte?"

Hur det fungerar

Du matar in en teknisk uppdatering. Den ger tillbaka en chefssammanfattning – tre punktlistor, ingen jargong, inga stackspår, ingen existentiell ångest. Bara vad som hände, affärspåverkan och nästa steg.

Se det i aktion

Du säger:

"API-fördröjningen ökade på grund av trådpoolutarmning orsakad av synkrona anrop som infördes i v3.2."

Agenten svarar:

Chefssammanfattning:

  • Vad som hände: Efter den senaste releasen saktade systemet ner.
  • Affärspåverkan: Vissa användare upplevde förseningar vid användning av tjänsten.
  • Nästa steg: Ändringen har rullats tillbaka och en fix förbereds innan ny distribution.

Varför denna agent?

Det är en supersimpel, enkelriktad agent – perfekt för att lära sig det hostade agentflödet från början till slut utan att trassla in sig i komplexa verktygskedjor. Och ärligt? Varje teknikteam skulle kunna ha en sån här.


Workshopstruktur

📂 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

Notera: Mappen agent/ inuti varje labb är det som Microsoft Foundry-tillägget genererar när du kör Microsoft Foundry: Create a New Hosted Agent från Kommandopaletten. Filerna anpassas sedan med agentens instruktioner, verktyg och konfiguration. Labb 01 leder dig genom att skapa detta från början.


Kom igång

1. Klona repot

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

2. Sätt upp en Python-virtuell miljö

python -m venv venv

Aktivera den:

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

3. Installera beroenden

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

4. Konfigurera miljövariabler

Kopiera exempel-filen .env inuti agentmappen och fyll i dina värden:

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

Redigera 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ölj workshopens labbar

Varje labb är självständig med egna moduler. Börja med Labb 01 för att lära dig grunderna och fortsätt sedan med Labb 02 för flermedlarflöden.

Labb 01 - Enkel agent (fullständiga instruktioner)

# Modul Länk
1 Läs förutsättningarna 00-prerequisites.md
2 Installera Foundry Toolkit & Foundry-tillägget 01-setup.md
3 Skapa ett Foundry-projekt 01-setup.md
4 Skapa en hostad agent 02-create-hosted-agent.md
5 Konfigurera instruktioner & miljö 03-configure-and-code.md
6 Testa lokalt 04-test-locally.md
7 Distribuera till Foundry 05-deploy-to-foundry.md
8 Verifiera i playground 06-verify-in-playground.md
9 Felsökning 08-troubleshooting.md

Labb 02 - Flermedlarflöde (fullständiga instruktioner)

# Modul Länk
1 Förutsättningar (Labb 02) 00-prerequisites.md
2 Förstå flermedlararkitektur 01-understand-multi-agent.md
3 Skapa flermedlarprojekt 02-scaffold-multi-agent.md
4 Konfigurera agenter & miljö 03-configure-agents.md
5 Orkestreringsmönster 04-orchestration-patterns.md
6 Testa lokalt (flermedlar) 05-test-locally.md

| 7 | Distribuera till Foundry | 06-deploy-to-foundry.md | | 8 | Verifiera i lekplats | 07-verify-in-playground.md | | 9 | Felsökning (multi-agent) | 08-troubleshooting.md |


Underhållare

Shivam Goyal
Shivam Goyal


Krävs behörigheter (snabbreferens)

Scenario Krävs roller
Skapa nytt Foundry-projekt Azure AI Owner på Foundry-resurs
Distribuera till befintligt projekt (nya resurser) Azure AI Owner + Contributor på prenumeration
Distribuera till helt konfigurerat projekt Reader på konto + Azure AI User på projekt

Viktigt: Azure Owner och Contributor roller inkluderar endast hanteringsbehörigheter, inte utvecklings (dataåtgärds-) behörigheter. Du behöver Azure AI User eller Azure AI Owner för att bygga och distribuera agenter.


Referenser


Licens

MIT


Ansvarsfriskrivning: Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.