Gehoste agentinfrastructuur met de Azure Developer CLI

Important

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.

Wanneer u azd ai agent init --infra of azd ai agent init --infra=bicep uitvoert, genereert de Azure Developer CLI (azd) de map infra/ in uw project, die Bicep-sjablonen bevat. Deze sjablonen definiëren de Azure resources die uw gehoste agent nodig heeft van de services die zijn gedeclareerd in azure.yaml. Met azd provision worden de sjablonen geïmplementeerd om de infrastructuur te creëren. In dit artikel wordt uitgelegd wat er met deze sjablonen wordt ingericht en hoe u deze kunt aanpassen.

Wat wordt geprovisioneerd

Standaard maakt azd ai agent init geen infrastructure-as-codebestanden. Gebruik --infra of --infra=bicep om Bicep-infrastructuur toe te voegen. Gebruiken --infra=terraform om terraform-infrastructuur toe te voegen en in te stellen infra.provider: terraform.

Wanneer u Bicep-infrastructuur toevoegt, zijn de sjablonen gebaseerd op de azd-ai-starter-basic-repository en maken ze de volgende Azure-resources:

Resource Purpose
Resourcegroep Organiseert alle bronnen. Met de naam rg-<agent-name>.
account voor AI Services Het Microsoft Foundry-account.
Gieterijproject Bevat de agent- en AI-mogelijkheden.
Modeluitrol De modellen die de agent gebruikt, bijvoorbeeld gpt-4.1-mini.
Azure Container Registratiedienst Slaat de containerimages van de agent op.
Application Insights Bewaking en telemetrie van agentprestaties.
Log Analytics-werkruimte Gecentraliseerde logboekverzameling.
Beheerde identiteit De door het systeem toegewezen identiteit van het project, waarmee de blauwdruk van de agentidentiteit wordt geverifieerd bij Microsoft Entra ID en waaraan platformroltoewijzingen zijn toegekend.

De sjablonen maken voorwaardelijk meer resources op basis van de services en afhankelijkheden die zijn gedeclareerd in azure.yaml:

  • Mogelijkheidshost: biedt ondersteuning voor gehoste agentimplementatie in het Foundry-project. Gemaakt wanneer u aangepaste opslag van gesprekken nodig hebt.
  • Grounding with Bing of Grounding with Bing Custom Search -- voor het hulpprogramma voor zoeken op het web.
  • Azure AI Zoeken - voor zoekgronding.
  • Azure Storage - voor bestandsbewerkingen.

Projectstructuur

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)

Hoe parameters doorstromen

Het main.parameters.json bestand wijst azd omgevingsvariabelen toe aan Bicep parameters:

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

Tijdens azd provision haalt azd deze ${VAR}-verwijzingen op uit de omgeving (.azure/<env>/.env) en geeft deze door aan de Bicep-implementatie. Uitvoer van de implementatie, zoals het Foundry-projecteindpunt, de naam van de modelimplementatie en het eindpunt van het containerregister, worden teruggeschreven naar de omgeving voor gebruik door azd deploy, azd ai agent runen de azd ai resourceopdrachten.

Bestaande resources

De Bicep-sjablonen ondersteunen het maken van verbinding met bestaande Azure resources in plaats van nieuwe resources te maken. Dit is handig wanneer uw team al een gedeelde infrastructuur heeft.

Bestaande resource Omgevingsvariabelen die moeten worden ingesteld
account voor AI Services AZURE_AI_ACCOUNT_NAME
Container Registry AZURE_CONTAINER_REGISTRY_RESOURCE_ID en AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING en APPLICATIONINSIGHTS_RESOURCE_ID

Stel deze variabelen in met azd env set voordat u deze uitvoert azd provision.

De infrastructuur aanpassen

De infra/ map is een standaardinfrastructuur azd , zodat u er volledige controle over hebt. Resources toevoegen of wijzigen:

  1. Bewerk infra/main.bicep of voeg nieuwe modules toe onder infra/core/.
  2. Voeg nieuwe parameters toe aan main.parameters.json met ${VAR} bindingen.
  3. Stel de bijbehorende azd omgevingsvariabelen in met azd env set.
  4. Voer deze opdracht uit azd provision om de wijzigingen toe te passen.

Wijzigingen in de Bicep-bestanden blijven behouden bij implementaties.

Regiobeperkingen

De main.bicep sjabloon beperkt location zich tot regio's waar gehoste agents worden ondersteund. Als u moet uitrollen naar een regio die niet in de lijst met toegestane regio's staat, werkt u de @allowed decorator bij in main.bicep.