Imported from venturemavenwill/azureaifundamentals (
ai-agents-for-beginners/translations/da/AGENTS.md). Install upstream withnpx skills add venturemavenwill/azureaifundamentals --skill da. Copyright stays with the author.
AGENTS.md
Projektoversigt
Dette repository indeholder "AI-agenter for begyndere" - et omfattende undervisningsforløb, der lærer alt, hvad der er nødvendigt for at bygge AI-agenter. Kurset består af 18 lektioner (nummereret 00-18), der dækker grundlæggende principper, designmønstre, frameworks, produktion-udrulning, lokale/enhedsbårne agenter og sikkerhed for AI-agenter.
Nøgleteknologier:
- Python 3.12+
- Jupyter Notebooks til interaktiv læring
- AI Frameworks: Microsoft Agent Framework (MAF)
- Azure AI Services: Microsoft Foundry, Microsoft Foundry Agent Service V2
Arkitektur:
- Lektion-baseret struktur (00-15+ mapper)
- Hver lektion indeholder: README-dokumentation, kodeeksempler (Jupyter notebooks) og billeder
- Multisprog-understøttelse via automatiseret oversættelsessystem
- Ét Python-notebook per lektion der bruger Microsoft Agent Framework
Opsætningskommandoer
Forudsætninger
- Python 3.12 eller nyere
- Azure-abonnement (til Microsoft Foundry)
- Azure CLI installeret og autentificeret (
az login)
Initial opsætning
-
Klon eller fork repositoryet:
gh repo fork microsoft/ai-agents-for-beginners --clone # ELLER git clone https://github.com/microsoft/ai-agents-for-beginners.git cd ai-agents-for-beginners -
Opret og aktiver Python virtual environment:
python3 -m venv venv source venv/bin/activate # På Windows: venv\Scripts\activate -
Installer afhængigheder:
pip install -r requirements.txt -
Sæt miljøvariabler op:
cp .env.example .env # Rediger .env med dine API-nøgler og slutpunkter
Krævede miljøvariabler
For Microsoft Foundry (påkrævet):
AZURE_AI_PROJECT_ENDPOINT- Microsoft Foundry projekt endepunktAZURE_AI_MODEL_DEPLOYMENT_NAME- Modeludrulningsnavn (f.eks. gpt-5-mini)
For Azure AI Search (Lektion 05 - RAG):
AZURE_SEARCH_SERVICE_ENDPOINT- Azure AI Search endepunktAZURE_SEARCH_API_KEY- Azure AI Search API nøgle
Autentificering: Kør az login før du kører notebooks (benytter AzureCliCredential).
Udviklingsworkflow
Kørsel af Jupyter Notebooks
Hver lektion indeholder flere Jupyter notebooks for forskellige frameworks:
-
Start Jupyter:
jupyter notebook -
Naviger til en lektionsmappe (f.eks.
01-intro-to-ai-agents/code_samples/) -
Åbn og kør notebooks:
*-python-agent-framework.ipynb- Brug af Microsoft Agent Framework (Python)*-dotnet-agent-framework.ipynb- Brug af Microsoft Agent Framework (.NET)
Arbejde med Microsoft Agent Framework
Microsoft Agent Framework + Microsoft Foundry:
- Kræver Azure-abonnement
- Bruger
FoundryChatClientfor Agent Service V2 (agenter synlige i Foundry-portalen) - Produktionsklar med indbygget observabilitet
- Filmønster:
*-python-agent-framework.ipynb
Testinstruktioner
Dette er et undervisningsrepository med eksempel-kode i stedet for produktionskode med automatiserede tests. For at verificere din opsætning og ændringer:
Manuel test
-
Test Python-miljøet:
python --version # Skal være 3.12+ pip list | grep -E "(agent-framework|azure-ai|azure-identity)" -
Test notebook-eksekvering:
# Konverter note bog til script og kør (tester imports) jupyter nbconvert --to script <lesson-folder>/code_samples/<notebook>.ipynb --stdout | python -
Verificer miljøvariabler:
python -c "import os; from dotenv import load_dotenv; load_dotenv(); print('✓ AZURE_AI_PROJECT_ENDPOINT' if os.getenv('AZURE_AI_PROJECT_ENDPOINT') else '✗ AZURE_AI_PROJECT_ENDPOINT missing')"
Kørsel af individuelle notebooks
Åbn notebooks i Jupyter og udfør cellerne sekventielt. Hver notebook er selvstændig og indeholder:
- Import-sætninger
- Konfigurationsindlæsning
- Eksempel på agent-implementeringer
- Forventede output i markdown-celler
Smoke-test af udrullede agenter
For lektioner, hvor en agent er udrullet som en Microsoft Foundry-hostet agent (01, 04, 05, 16), leverer repoet smoke-test kataloger under tests/, som køres af .github/workflows/smoke-test.yml workflowet via AI Smoke Test actionen. Disse er en letvægts post-udrulnings-gate (er agenten tilgængelig og følger basale promptforventninger?), som supplerer evalueringspipelinens lektioner 10 og 16. Se tests/README.md for katalog-til-lektion-til-agent mapping. Lektion 17 kører lokalt med Foundry Local og har ikke noget hostet endepunkt, så den valideres ved direkte kørsel af dens notebook.
Kodestil
Python-konventioner
- Python Version: 3.12+
- Kodestil: Følg standard Python PEP 8 konventioner
- Notebooks: Brug klare markdown-celler til at forklare koncepter
- Imports: Grupper efter standardbibliotek, tredjepart, lokale imports
Jupyter Notebook-konventioner
- Inkluder beskrivende markdown-celler før kodeceller
- Tilføj output-eksempler i notebooks til reference
- Brug klare variabelnavne, der matcher lektionskoncepter
- Hold notebook-eksekveringsrækkefølgen lineær (celle 1 → 2 → 3...)
Filorganisation
<lesson-number>-<lesson-name>/
├── README.md # Lesson documentation
├── code_samples/
│ ├── <number>-python-agent-framework.ipynb
│ └── <number>-dotnet-agent-framework.ipynb (optional)
└── images/
└── *.png
Byg og Udrul
Byg dokumentation
Dette repository bruger Markdown til dokumentation:
- README.md filer i hver lektionsmappe
- Hoved-README.md i repositoryets rod
- Automatiseret oversættelsessystem via GitHub Actions
CI/CD Pipeline
Placering i .github/workflows/:
- co-op-translator.yml - Automatisk oversættelse til 50+ sprog
- welcome-issue.yml - Velkomst til nye issue-oprettere
- welcome-pr.yml - Velkomst til nye pull request-bidragsydere
Udrulning
Dette er et undervisningsrepository - ingen udrulningsproces. Brugere:
- Fork eller klon repositoryet
- Kør notebooks lokalt eller i GitHub Codespaces
- Lær ved at modificere og eksperimentere med eksempler
Retningslinjer for Pull Requests
Før indsendelse
-
Test dine ændringer:
- Kør de berørte notebooks fuldstændigt
- Bekræft at alle celler kører uden fejl
- Kontrollér at output er passende
-
Opdater dokumentation:
- Opdater README.md hvis nye koncepter tilføjes
- Tilføj kommentarer i notebooks til kompleks kode
- Sørg for, at markdown-celler forklarer formålet
-
Filændringer:
- Undgå at commite
.envfiler (brug.env.example) - Commit ikke
venv/eller__pycache__/mapper - Behold notebook-output når de viser koncepter
- Fjern midlertidige filer og backup-notebooks (
*-backup.ipynb)
- Undgå at commite
PR-titel format
Brug beskrivende titler:
[Lesson-XX] Tilføj nyt eksempel til <concept>[Fix] Rettelse af fejl i lesson-XX README[Update] Forbedr kodeeksempel i lesson-XX[Docs] Opdater opstillingsinstruktioner
Påkrævede checks
- Notebooks skal køre uden fejl
- README-filer skal være klare og korrekte
- Følg eksisterende kode-mønstre i repositoryet
- Oprethold konsistens med andre lektioner
Yderligere noter
Almindelige faldgruber
-
Python version mismatch:
- Sikr brug af Python 3.12+
- Nogle pakker virker måske ikke på ældre versioner
- Brug
python3 -m venvfor eksplicit at specificere Python-version
-
Miljøvariabler:
- Opret altid en
.envfra.env.example - Commit ikke
.envfilen (den er i.gitignore) - Log ind med
az loginfor nøglefri Entra ID-autentificering
- Opret altid en
-
Pakke-konflikter:
- Brug et frisk virtual environment
- Installer fra
requirements.txtfremfor enkeltpakker - Nogle notebooks kan kræve ekstra pakker nævnt i deres markdown-celler
-
Azure services:
- Azure AI services kræver aktivt abonnement
- Nogle funktioner er regionsspecifikke
- Sikr at din Azure OpenAI modeludrulning understøtter Responses API
Læringsvej
Anbefalet progression gennem lektionerne:
- 00-course-setup - Start her for miljøopsætning
- 01-intro-to-ai-agents - Forståelse af AI-agenters grundlæggende
- 02-explore-agentic-frameworks - Lær om forskellige frameworks
- 03-agentic-design-patterns - Centrale designmønstre
- Fortsæt gennem nummererede lektioner sekventielt
Framework valg
Vælg framework baseret på dine mål:
- Alle lektioner: Microsoft Agent Framework (MAF) med
FoundryChatClient - Agenter registreres server-side i Microsoft Foundry Agent Service V2 og er synlige i Foundry-portalen
Få hjælp
- Deltag i Microsoft Foundry Community Discord
- Gennemgå lektions-README filer for specifik vejledning
- Se hoved-README.md for kursusoversigt
- Henvis til Course Setup for detaljerede opsætningsinstruktioner
Bidrag
Dette er et åbent undervisningsprojekt. Bidrag er velkomne:
- Forbedr kodeeksempler
- Rett fejl eller slå fejl op
- Tilføj forklarende kommentarer
- Foreslå nye lektionsemner
- Oversæt til yderligere sprog
Se GitHub Issues for nuværende behov.
Projektspecifik kontekst
Flersproget understøttelse
Dette repository bruger et automatiseret oversættelsessystem:
- 50+ sprog understøttet
- Oversættelser i
/translations/<lang-code>/mapper - GitHub Actions workflow håndterer oversættelsesopdateringer
- Kildefiler er på engelsk i repository-roden
Lektionsstruktur
Hver lektion følger et ensartet mønster:
- Videominiature med link
- Skriftligt lektionsindhold (README.md)
- Kodeeksempler i flere frameworks
- Læringsmål og forudsætninger
- Ekstra læringsressourcer linket
Navngivning af kodeeksempler
Format: <lesson-number>-python-agent-framework.ipynb
01-python-agent-framework.ipynb- Lektion 1, MAF Python14-sequential.ipynb- Lektion 14, MAF avancerede mønstre16-python-agent-framework.ipynb- Lektion 16, produktions kundeservice agent17-local-agent-foundry-local.ipynb- Lektion 17, lokal agent med Foundry Local + Qwen
Specielle mapper
translated_images/- Lokaliserede billeder til oversættelserimages/- Originale billeder til engelsk indhold.devcontainer/- VS Code udviklingscontainer konfiguration.github/- GitHub Actions workflows og skabeloner
Afhængigheder
Nøglepakker fra requirements.txt:
agent-framework- Microsoft Agent Frameworka2a-sdk- Agent-til-agent protokol supportazure-ai-inference,azure-ai-projects- Azure AI servicesazure-identity- Azure autentificering (AzureCliCredential)azure-search-documents- Azure AI Search integrationmcp[cli]- Model Context Protocol support
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 originale 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 opstår som følge af brugen af denne oversættelse.