Distribuera till en Microsoft Foundry eller Azure Machine Learning Studio onlineslutpunkt

Med Azure Developer CLI (azd) kan du distribuera till en Azure Machine Learning Studio eller Microsoft Foundry onlineslutpunkt. azd stöder följande funktioner, som beskrivs i avsnitten framåt:

Förutsättningar

Om du vill arbeta med Microsoft Foundry eller Azure Machine Learning Studio onlineslutpunkter behöver du:

Mallen Foundry Starter kan hjälpa dig att skapa all nödvändig infrastruktur för att komma igång med Foundry-slutpunkter.

Konfigurera onlineslutpunkten

Konfigurera stöd för onlineslutpunkter i services avsnittet i azure.yaml filen:

  • Ange värdet host till ai.endpoint.
  • Avsnittet config för ai.endpoint stöder följande konfigurationer:
    • workspace: Microsoft Foundry arbetsytans namn. Stöder azd miljövariabelersättningar och syntax.
      • Om det inte anges azd söker du efter en miljövariabel med namnet AZUREAI_PROJECT_NAME.
    • miljö: Valfri anpassad konfiguration för ML-miljöer. azd skapar en ny miljöversion från den refererade YAML-fildefinitionen.
    • flow: Valfri anpassad konfiguration för flöden. azd skapar ett nytt promptflöde från den angivna filsökvägen.
    • modell: Valfri anpassad konfiguration för ML-modeller. azd skapar en ny modellversion från den refererade YAML-fildefinitionen.
    • distribution: Nödvändig konfiguration för distribution av onlineslutpunkter. azd skapar en ny onlinedistribution till den associerade onlineslutpunkten från den refererade YAML-fildefinitionen.

Överväg följande exempelfil azure.yaml som konfigurerar dessa funktioner:

name: contoso-chat
metadata:
  template: contoso-chat@0.0.1-beta
services:
  chat:
    # Referenced new ai.endpoint host type
    host: ai.endpoint
    # New config flow for AI project configuration
    config:
      # The name of the Foundry workspace
      workspace: ${AZUREAI_PROJECT_NAME}
      # Optional: Path to custom ML environment manifest
      environment:
        path: deployment/docker/environment.yml
      # Optional: Path to your prompt flow folder that contains the flow manifest
      flow:
        path: ./contoso-chat
      # Optional: Path to custom model manifest
      model:
        path: deployment/chat-model.yaml
        overrides:
          "properties.azureml.promptflow.source_flow_id": ${AZUREAI_FLOW_NAME}
      # Required: Path to deployment manifest
      deployment:
        path: deployment/chat-deployment.yaml
        environment:
          PRT_CONFIG_OVERRIDE: deployment.subscription_id=${AZURE_SUBSCRIPTION_ID},deployment.resource_group=${AZURE_RESOURCE_GROUP},deployment.workspace_name=${AZUREAI_PROJECT_NAME},deployment.endpoint_name=${AZUREAI_ENDPOINT_NAME},deployment.deployment_name=${AZUREAI_DEPLOYMENT_NAME}

Avsnittet config.deployment krävs och skapar en ny onlineimplementering till den associerade onlineslutpunkten baserad på den refererade YAML-filens definition. Den här funktionen hanterar följande:

  • Associerad miljö och modell refereras när den är tillgänglig.
  • azd väntar på att distributionen ska gå in i ett slutligt etableringstillstånd.
  • Vid lyckade distributioner flyttas all trafik till den nya distributionsversionen.
  • Alla tidigare distributioner tas bort för att frigöra beräkning för framtida distributioner.

Utforska konfigurationsalternativ

Varje funktion som stöds för AI/ML-onlineslutpunkter stöder anpassningar för ditt specifika scenario med hjälp av de alternativ som beskrivs i följande avsnitt.

Flow

Konfigurationsavsnittet flow är valfritt och stöder följande värden:

  • name: Namnet på flödet. Standardvärdet är <service-name>-flow-<timestamp> om det inte har angetts.

  • path: Den relativa sökvägen till en mapp som innehåller flödesmanifestet.

  • åsidosättningar: Eventuella anpassade åsidosättningar som ska tillämpas på flödet.

    Anmärkning

    Varje anrop till azd deploy skapar ett nytt tidsstämpelflöde.

Miljö

Konfigurationsavsnittet environment är valfritt och stöder följande värden:

  • name: Namnet på den anpassade miljön. Standardvärdet är <service-name>-environment om det inte har angetts.

  • path: Den relativa sökvägen till ett yaml-manifest för anpassad miljö.

  • åsidosättningar: Alla anpassade åsidosättningar som ska tillämpas på miljön.

    Anmärkning

    Varje anrop till azd deploy skapar en ny miljöversion.

Modell

Konfigurationsavsnittet model är valfritt och stöder följande värden:

  • name: Namnet på den anpassade modellen. Standardvärdet är <service-name>-model om det inte har angetts.

  • path: Den relativa sökvägen till ett YAML-manifest för anpassad modell.

  • åsidosättningar: Alla anpassade åsidosättningar som ska tillämpas på modellen.

    Anmärkning

    Varje anrop till azd deploy skapar en ny modellversion.

Införande

Konfigurationsavsnittet deploymentkrävs och stöder följande värden:

  • name: Namnet på den anpassade distributionen. Standardvärdet är <service-name>-deployment om det inte har angetts.

  • path: Den relativa sökvägen till ett yaml-manifest för anpassad distribution.

  • miljö: En karta över nyckelvärdepar för att ange miljövariabler för distributionen. Stöder miljövariabelersättningar från OS/AZD-miljövariabler med hjälp av ${VAR_NAME} syntax.

  • åsidosättningar: Eventuella anpassade åsidosättningar som ska tillämpas på distributionen.

    Anmärkning

    Stöder endast hanterade onlinedistributioner.

AgentSchema och agent.yaml

AgentSchema är en öppen specifikation för att definiera AI-agenter i ett kod-första YAML-format. En agent.yaml fil beskriver en agent konfiguration, inklusive dess modell, instruktioner, verktyg och anslutningar. AgentSchema fungerar som ett enhetligt exchange-format mellan Microsoft Copilot Studio, Microsoft Foundry och andra plattformar.

AgentSchema stöder två primära format:

  • AgentDefinition – en fullständig, konkret specifikation av en agent som kan köras direkt. Använd det här formatet för enstaka agenter där alla konfigurationsvärden är kända och fasta.
  • AgentManifest – en parameteriserad mall för att skapa agenter dynamiskt. Använd det här formatet för återanvändbara agentmönster där värden som modellnamn, anslutningar eller instruktioner konfigureras vid körning med hjälp av {{parameter}} syntax.

Till exempel agent.yaml

I följande exempel visas en värdbaserad agent.yaml definition som azd kan distribueras till Microsoft Foundry. Schemaanteckningen överst uppmanar YAML-medvetna redigerare att verifiera mot publicerade AgentSchema:

# yaml-language-server: $schema=https://raw.githubusercontent.com/microsoft/AgentSchema/refs/heads/main/schemas/v1.0/ContainerAgent.yaml

kind: hosted
name: customer-support
description: Handles customer inquiries and support requests
protocols:
  - protocol: responses
    version: v1
code_configuration:
  runtime: python_3_14
  entry_point: main.py

Det här exemplet använder kind: hosted med ett code_configuration-block, vilket instruerar azd att paketera källkoden i en ZIP-fil och låta Foundry hantera körningsmiljön. Om du vill distribuera en fördefinierad containeravbildning i stället ersätter code_configuration du med ett image fält som pekar på en avbildning i Azure Container Registry.

Använda agent.yaml med azd

Schemat azure.yaml stöder värdtypen azure.ai.agent för distribution av agenter till Microsoft Foundry. När du ställer in hostazure.ai.agent läser azd filen agent.yaml i tjänstkatalogen och använder fältet kind för att avgöra hur agenten ska distribueras. Mer information finns i schemareferensen azure.yaml.

kind värden som stöds

Fältet kind överst agent.yaml i väljer distributionsformen. azd validerar det här fältet mot värdena i följande tabell och avvisar alla andra värden vid distributionstillfället.

kind Vad azd driftsätter När det bör användas
hosted En agent som finns på Foundry. Undermodus för distribution beror på vilka fält du inkluderar i filen: lägg till code_configuration för koddistribution (ZIP-uppladdning, Foundry-hanterad körningsmiljö) eller lägg till image för containerdistribution (din färdigbyggda containeravbildning från Azure Container Registry). De flesta agenter som skapats av azd ai agent init. Använd koddriftsättning när du vill att Foundry ska hantera körningsmiljön; använd containerdriftsättning när du behöver fullständig kontroll över imagen.

Anmärkning

AgentSchema är en bredare specifikation än vad som azd distribueras idag. Om du ser andra kind-värden i AgentSchema-referensen (till exempel agentdefinitioner som endast består av en prompt), stöds dessa format inte av azd och godkänns inte av azd deploy.

Mer information om AgentSchema finns i följande resurser:

Begär hjälp

Information om hur du skickar in en bugg, begär hjälp eller föreslår en ny funktion för Azure Developer CLI finns på sidan troubleshooting and support.