Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Använd azd ai agent init för att skapa ett värdbaserat agentprojekt med de filer som du behöver för att skapa, testa och distribuera en AI-agent för att Microsoft Foundry. I den här artikeln väljer du en startpunkt och initierar projektet från en mall, från din egen kod eller mot ett befintligt Foundry-projekt.
Om du använder en kodningsagent som GitHub Copilot kan Microsoft Foundry Skill hjälpa dig att välja en startmall, skapa ett projekt och tolka den genererade azd konfigurationen.
Förutsättningar
- Azure Developer CLI Foundry-tilläggen installerades.
- En autentiserad Azure session (
azd auth login). - Deltagaråtkomst för din Azure-prenumeration.
Välj en startpunkt
Det finns tre sätt att starta ett projekt på. Välj den sökväg som matchar din situation.
| Övervägande | Börja från en mall | Ta med din egen kod | Ansluta ett befintligt projekt |
|---|---|---|---|
| Passar bäst för | Nya agenter som lär sig verktygen. | Befintlig agentkod som du vill köra på Foundry. | Agenter som redan kör i ett Foundry-projekt. |
| Kommando |
azd ai agent init i en tom katalog. |
azd ai agent init i en katalog med befintlig kod. |
azd ai agent initväljer du sedan ett befintligt projekt. |
| Vad du får | Ett komplett uppsatt projekt: en enda azure.yaml, agentkällkod under src/<agent-name>/ och en Dockerfile för containerdriftsättning. Infrastruktur är som standard utan Bicep och kan tas bort senare. |
En genererad azure.yaml tjänstpost och, för containerdriftsättning, en Dockerfile som kapslar in din kod. Infrastruktur är som standard utan Bicep och kan tas bort senare. |
Ett azure.yaml som är anslutet till ditt befintliga Foundry-projekt. Infrastruktur är som standard utan Bicep och kan tas bort senare. |
| Kodändringar | None. Klar att köra. | Kan behöva en protokolladapter. | None. |
Initiera från en mall
Kör den interaktiva guiden i en tom katalog och välj Starta nytt från en mall:
azd ai agent init
Guiden leder dig genom följande val.
| Prompt | Description |
|---|---|
| Agentmall | Välj mellan mallar ordnade efter ramverk och språk (Python eller .NET). |
| Azure prenumeration | Den prenumeration som används för att hitta eller skapa ett Foundry-projekt. |
| Gjuteri projekt | Välj ett befintligt projekt eller skapa ett nytt. Om du skapar en väljer du även en region. |
| Modellimplementering | Välj en befintlig modelldistribution, eller så skapas en från standardmallen. |
Agentnamnet kommer från mallen. CLI skapar en azd miljö med namnet <directory>-dev och konfigurerar den med information från ditt valda Foundry-projekt. Varje mall innehåller agentens källkod, en Dockerfileoch en azure.yaml fil som fungerar som det enhetliga projektmanifestet azd för projektet och värdbaserad agentkonfiguration.
Initialisera från en azure.yaml-URL
Om du har ett specifikt agentexempel, peka -m på exemplets azure.yaml. CLI använder filen som projektmanifest och laddar ned den refererade agentkällan.
azd ai agent init -m https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/agent-framework/responses/01-basic/azure.yaml
Note
Agentmanifest (agent.manifest.yaml) och fristående agentdefinitioner (agent.yaml) är inaktuella. Från och med Foundry-tilläggen azd (azure.ai.agents 1.0.0-beta.1) finns alla värdbaserade agentkonfigurationer i en enda azure.yaml. Se Skapa azure.yaml för värdbaserade agenter.
Alternativet -m accepterar fortfarande en äldre agentmanifest-URL, men aktuella exempel publicerar en enhetlig azure.yaml.
Ange en modell
Välj en modell vid tidpunkten för init:
azd ai agent init --model gpt-4.1
Eller använd en befintlig modelldistribution i ditt Foundry-projekt:
azd ai agent init --model-deployment my-deployment
Välj ett distributionsläge
Som standardinställning använder azd ai agent init koddistribution för Python- och .NET-projekt. Koddistribution laddar upp källan som ett ZIP-paket. Om du i stället vill skapa ett containerbaserat projekt skickar du --deploy-mode container:
azd ai agent init --deploy-mode container
Om du vill distribuera en fördefinierad containeravbildning skickar du --image och --agent-name. Det här alternativet hoppar över val av mall och språk, kodställningar, Dockerfile-generering och Azure Container Registry konfiguration.
azd ai agent init --agent-name my-agent --image myregistry.azurecr.io/my-agent:v1
Bläddra bland mallar som inte är inaktiva
Om du vill granska katalogen innan du genererar, eller köra azd ai agent init från ett skript, listar du katalogen:
# Everything in the catalog
azd ai agent sample list
# Just the featured Python agent samples
azd ai agent sample list --featured-only --language python --type agent
# Full azd templates only, as JSON for scripting
azd ai agent sample list --type azd --output json
Varje post innehåller ett körklart initCommand som du kopierar och kör i den katalog där du vill skapa projektstrukturen.
Tip
När du återanvänder ett exempel under en annan Foundry-agentidentitet skickar --agent-name <new-name> du vidare azd ai agent init så att namnet som skrivs till azure.yaml inte kolliderar med standardnamnet för exemplet.
Initiera från befintlig kod
Om du har befintlig Python- eller .NET-agentkod, kör du azd ai agent init i den katalog som redan innehåller din kod:
cd my-agent/
azd ai agent init
CLI:n identifierar de befintliga filerna och genererar en azure.yaml tjänstdefinition kring dem utan att skriva över din kod. För containerdistribution lägger den också till en Dockerfile. Infrastrukturen förblir bicep-less som standard om du inte matar ut infrastrukturen som kod senare.
Agentkoden måste uppfylla körningskontraktet för den värdhanterade agenten:
- Lyssna på port 8088.
- Hantera en hälsoavsökning på
GET /readiness. - Hantera ett av de protokoll som stöds (
responsesellerinvocations).
Om koden inte redan talar om något av dessa protokoll lägger du till ett protokollkort, en enkel SDK-omslutning som översätts mellan Foundry-protokollet och agentens logik.
Om du vill lägga till en agent i ett befintligt azd projekt init identifierar du projektet och lägger till en ny tjänstpost i din befintliga azure.yaml. Använd --src för att ange en underkatalog:
azd ai agent init --src src/my-agent
Ansluta till ett befintligt Foundry-projekt
Om du vill hantera ett befintligt Foundry-projekt via azdkör du guiden och väljer alternativet för att ansluta till ett befintligt projekt. Du kan också hoppa över det interaktiva valet genom att ange projektets Azure resurs-ID direkt:
azd ai agent init --project-id /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}
Om du vill hitta project-ID:t öppnar du Foundry-portalen, går till Hantera>Project information och kopierar resurs-ID-värdet.
Varning
När du initierar mot ett befintligt projekt med --project-idhoppar verktyget över de automatiska rolltilldelningar som den utför när det skapar ett nytt projekt. Kontrollera att de nödvändiga rollerna redan har tilldelats. Den fullständiga matrisen finns i Referens för värdbaserade agentbehörigheter.
Granska vad som skapas
När init har slutförts innehåller din projektkatalog följande struktur:
.
|-- azure.yaml # Unified azd project and hosted agent configuration
|-- src/
| \-- <agent-name>/
| |-- Dockerfile # Container build definition
| \-- ... # Agent source code
|-- .azure/ # Environment configuration
\-- infra/ # Optional IaC, created only after you eject infrastructure
Mallar och exempel publicerar en enhetlig azure.yaml i projektroten. Under initieringen övertar eller genererar azd denna fil. Du arbetar med azure.yaml framöver. Infrastrukturen använder inte Bicep som standard. Mata bara ut infrastruktur när du behöver hantera de genererade IaC-filerna direkt.