Hostad agentinfrastruktur med Azure Developer CLI

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.

När du kör azd ai agent init --infra eller azd ai agent init --infra=bicep skapar Azure Developer CLI (azd) en katalog med namnet infra/ i ditt projekt som innehåller Bicep-mallar. Dessa mallar definierar de Azure resurser som din värdbaserade agent behöver från de tjänster som deklareras i azure.yaml. När du kör azd provision driftsätts mallarna för att skapa infrastrukturen. Den här artikeln förklarar vad mallarna etablerar och hur du anpassar dem.

Vad etableras

Som standard azd ai agent init skapar inte infrastruktur-som-kod-filer. Använd --infra eller --infra=bicep för att lägga till Bicep-infrastruktur. Använd --infra=terraform för att lägga till Terraform-infrastruktur och ange infra.provider: terraform.

När du lägger till Bicep infrastruktur baseras mallarna på lagringsplatsen azd-ai-starter-basic och skapar följande Azure resurser:

Resource Purpose
Resursgrupp Ordnar alla resurser. Med namnet rg-<agent-name>.
AI Services-konto Microsoft Foundry-kontot.
Gjuteri projekt Är värd för agent- och AI-funktionerna.
Modellimplementeringar Modellerna som agenten använder, till exempel gpt-4.1-mini.
Azure Container Registry (containerregistertjänst från Azure) Lagrar agentcontaineravbildningarna.
Application Insights Prestandaövervakning och telemetri för agenten.
Log Analytics-arbetsyta Centraliserad loggsamling.
Hanterad identitet Projektets systemtilldelade identitet som autentiserar agentidentitetsmallen mot Microsoft Entra ID och har plattformsrolltilldelningar.

Mallarna skapar fler resurser villkorligt, baserat på de tjänster och beroenden som deklareras i azure.yaml:

  • Kapacitetsvärd – stöder värdbaserad agentdistribution i Foundry-projektet. Skapas när du behöver anpassad lagring av konversationer.
  • Grounding with Bing eller Grounding with Bing Custom Search -- för webbsökverktyget.
  • Azure AI-sökning – för sökförankring.
  • Azure Storage – för filåtgärder.

Projekt-struktur

infra/
|-- main.bicep                 # Main deployment template (subscription-scoped)
|-- main.parameters.json       # Parameter bindings to azd environment variables
|-- abbreviations.json         # Naming convention abbreviations
\-- core/
    |-- ai/                    # Foundry account, project, and connections
    |-- host/                  # Container registry
    |-- monitor/               # Application Insights and Log Analytics
    |-- search/                # Azure AI Search (conditional)
    \-- storage/               # Azure Storage (conditional)

Så här flödar parametrar

Filen main.parameters.json mappar azd miljövariabler till Bicep parametrar:

{
  "environmentName": { "value": "${AZURE_ENV_NAME}" },
  "location": { "value": "${AZURE_LOCATION}" },
  "aiFoundryResourceName": { "value": "${AZURE_AI_ACCOUNT_NAME}" },
  "aiProjectDeploymentsJson": { "value": "${AI_PROJECT_DEPLOYMENTS=[]}" }
}

Under azd provision löser azd upp dessa ${VAR}-referenser från miljön (.azure/<env>/.env) och skickar dem till Bicep-distributionen. Utdata från distributionen, till exempel slutpunkten för Foundry-projektet, modelldistributionsnamnet och containerregistrets slutpunkt, skrivs tillbaka till miljön för användning av azd deploy, azd ai agent runoch azd ai resurskommandona.

Befintliga resurser

Bicep-mallarna stöder anslutning till befintliga Azure resurser i stället för att skapa nya. Detta är användbart när ditt team redan har delad infrastruktur.

Befintlig resurs Miljövariabler som ska anges
AI Services-konto AZURE_AI_ACCOUNT_NAME
Container Registry AZURE_CONTAINER_REGISTRY_RESOURCE_ID och AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING och APPLICATIONINSIGHTS_RESOURCE_ID

Ange dessa variabler med azd env set innan du kör azd provision.

Anpassa infrastrukturen

Katalogen infra/ är en standardinfrastruktur azd, så du har full kontroll över den. Så här lägger du till eller ändrar resurser:

  1. Redigera infra/main.bicep eller lägga till nya moduler under infra/core/.
  2. Lägg till nya parametrar i main.parameters.json med ${VAR} bindningar.
  3. Ange motsvarande azd miljövariabler med azd env set.
  4. Kör azd provision för att tillämpa ändringarna.

Ändringar i Bicep-filerna kvarstår mellan driftsättningar.

Regionbegränsningar

Mallen main.bicep begränsar location till regioner där värdbaserade agenter stöds. Om du behöver driftsätta till en region som inte finns med i listan över tillåtna regioner ska du uppdatera dekoratören @allowed i main.bicep.