Implementeren naar een Microsoft Foundry of Azure Machine Learning Studio online-eindpunt

Met de Azure Developer CLI (azd) kunt u implementeren op een Azure Machine Learning Studio of Microsoft Foundry online-eindpunt. azd ondersteunt de volgende functies, die in de volgende secties worden beschreven:

Voorwaarden

Als u wilt werken met Microsoft Foundry of Azure Machine Learning Studio online-eindpunten, hebt u het volgende nodig:

Met de sjabloon Foundry Starter kunt u alle vereiste infrastructuur maken om aan de slag te gaan met Foundry-eindpunten.

Het online-eindpunt configureren

Configureer ondersteuning voor online-eindpunten in de services sectie van het azure.yaml bestand:

  • Stel de host waarde in op ai.endpoint.
  • De config sectie voor ai.endpoint ondersteunt de volgende configuraties:
    • werkruimte: de naam van de werkruimte Microsoft Foundry. Ondersteunt azd vervangingen en syntaxis van omgevingsvariabelen.
      • Als dit niet is opgegeven, azd zoekt u naar een omgevingsvariabele met de naam AZUREAI_PROJECT_NAME.
    • omgeving: Optionele aangepaste configuratie voor ML-omgevingen. azd maakt een nieuwe omgevingsversie op basis van de definitie van het YAML-bestand waarnaar wordt verwezen.
    • flow: Optionele aangepaste configuratie voor stromen. azd maakt een nieuwe promptstroom op basis van het opgegeven bestandspad.
    • model: Optionele aangepaste configuratie voor ML-modellen. azd maakt een nieuwe modelversie op basis van de definitie van het YAML-bestand waarnaar wordt verwezen.
    • implementatie: Vereiste configuratie voor online-eindpuntimplementaties. azd maakt een nieuwe online-implementatie naar het bijbehorende online-eindpunt op basis van de definitie van het YAML-bestand waarnaar wordt verwezen.

Bekijk het volgende voorbeeldbestand azure.yaml waarmee deze functies worden geconfigureerd:

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}

De config.deployment sectie is vereist en maakt een nieuwe online-implementatie naar het bijbehorende online-eindpunt vanuit de definitie van het YAML-bestand waarnaar wordt verwezen. Deze functionaliteit verwerkt het volgende:

  • Naar de gekoppelde omgeving en het bijbehorende model wordt verwezen wanneer deze beschikbaar is.
  • azd Wacht totdat de implementatie de inrichtingsstatus van een terminal heeft ingevoerd.
  • Bij geslaagde implementaties wordt al het verkeer verplaatst naar de nieuwe implementatieversie.
  • Alle vorige implementaties worden verwijderd om rekenkracht vrij te maken voor toekomstige implementaties.

Configuratieopties verkennen

Elke ondersteunde functie voor AI/ML online-eindpunten ondersteunt aanpassingen voor uw specifieke scenario met behulp van de opties die in de volgende secties worden beschreven.

Stroom

De flow configuratiesectie is optioneel en ondersteunt de volgende waarden:

  • name: De naam van de stroom. Standaard ingesteld <service-name>-flow-<timestamp> op indien niet opgegeven.

  • pad: Het relatieve pad naar een map die het flow-manifest bevat.

  • overschrijvingen: eventuele aangepaste overschrijvingen die op het proces moeten worden toegepast.

    Notitie

    Elke aanroep van azd deploy creëert een nieuwe stroom met een tijdstempel.

Milieu

De environment configuratiesectie is optioneel en ondersteunt de volgende waarden:

  • name: De naam van de aangepaste omgeving. Standaard ingesteld <service-name>-environment op indien niet opgegeven.

  • pad: Het relatieve pad naar een yaml-manifest voor een aangepaste omgeving.

  • overschrijvingen: Aangepaste overschrijvingen die op de omgeving moeten worden toegepast.

    Notitie

    Elke aanroep naar azd deploy creëert een nieuwe omgevingsversie.

Model

De model configuratiesectie is optioneel en ondersteunt de volgende waarden:

  • name: De naam van het aangepaste model. Standaard ingesteld <service-name>-model op indien niet opgegeven.

  • pad: het relatieve pad naar een YAML-manifest voor een aangepast model.

  • overschrijvingen: eventuele aangepaste overschrijvingen die op het model moeten worden toegepast.

    Notitie

    Elke oproep naar azd deploy creëert een nieuwe modelversie.

Implementatie

De deployment configuratiesectie is vereist en ondersteunt de volgende waarden:

  • name: De naam van de aangepaste implementatie. Standaard ingesteld <service-name>-deployment op indien niet opgegeven.

  • pad: het relatieve pad naar een aangepast yaml-implementatiemanifest.

  • omgeving: een kaart van sleutel-waardeparen voor het instellen van omgevingsvariabelen voor de implementatie. Ondersteunt vervanging van omgevingsvariabelen van OS/AZD-omgevingsvariabelen met behulp van ${VAR_NAME} syntaxis.

  • overschrijvingen: aangepaste overschrijvingen die op de implementatie moeten worden toegepast.

    Notitie

    Ondersteunt alleen beheerde online implementaties.

AgentSchema en agent.yaml

AgentSchema is een open specificatie voor het definiëren van AI-agents in een YAML-indeling die code-first is. Een agent.yaml bestand beschrijft de configuratie van een agent, inclusief het model, de instructies, hulpprogramma's en verbindingen. AgentSchema fungeert als een uniform uitwisselingsformaat tussen Microsoft Copilot Studio, Microsoft Foundry en andere platforms.

AgentSchema ondersteunt twee primaire indelingen:

  • AgentDefinition : een volledige, concrete specificatie van een agent die rechtstreeks kan worden uitgevoerd. Gebruik deze indeling voor agents met één doel, waarbij alle configuratiewaarden bekend en opgelost zijn.
  • AgentManifest : een geparameteriseerde sjabloon voor het dynamisch maken van agents. Gebruik deze indeling voor herbruikbare agentpatronen waarbij waarden zoals modelnamen, verbindingen of instructies tijdens runtime worden geconfigureerd met behulp van {{parameter}} syntaxis.

Voorbeeld: agent.yaml

In het volgende voorbeeld ziet u een gehoste agent.yaml definitie die azd kan worden geïmplementeerd in Microsoft Foundry. De schema-annotatie bovenaan laat editors die YAML ondersteunen valideren aan de hand van het gepubliceerde 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

In dit voorbeeld wordt kind: hosted gebruikgemaakt van een code_configuration blok, waarmee wordt aangegeven azd dat u de broncode als zip-code inpakt en Foundry de runtime laat beheren. Als u in plaats daarvan een vooraf gebouwde containerinstallatiekopie wilt implementeren, vervangt u code_configuration door een image-veld dat verwijst naar een installatiekopie in Azure Container Registry.

Gebruiken agent.yaml met azd

Het schema azure.yaml ondersteunt het hosttype azure.ai.agent voor het implementeren van agents in Microsoft Foundry. Wanneer u host instelt op azure.ai.agent, leest azd het bestand agent.yaml in uw servicemap en gebruikt het het veld kind om te bepalen hoe de agent moet worden geïnstalleerd. Zie de naslaginformatie over het azure.yaml-schema voor meer informatie.

Ondersteunde kind waarden

Met het kind veld bovenaan in agent.yaml wordt de implementatievorm geselecteerd. azd valideert dit veld op basis van de waarden in de volgende tabel en weigert alle andere waarden tijdens de implementatie.

kind Wat azd implementeert Wanneer gebruiken
hosted Een door Foundry gehoste agent. De submodus van de implementatie is afhankelijk van de velden die u in het bestand opneemt: toevoegen code_configuration voor het implementeren van code (ZIP-upload, Foundry-beheerde runtime) of toevoegen image voor containerimplementatie (uw vooraf gemaakte installatiekopieën uit Azure Container Registry). De meeste agenten gemaakt door azd ai agent init. Gebruik code-deploy wanneer u wilt dat Foundry de runtime beheert; gebruik container-deploy wanneer u volledige controle over de image nodig hebt.

Notitie

AgentSchema is een bredere specificatie dan wat azd er vandaag wordt geïmplementeerd. Als u andere kind-waarden ziet in de AgentSchema-referentie (bijvoorbeeld agentdefinities met alleen prompts), worden die indelingen niet ondersteund door azd en niet geaccepteerd door azd deploy.

Zie de volgende bronnen voor meer informatie over AgentSchema:

Hulp vragen

Ga naar de pagina roubleshooting en ondersteuning voor informatie over het indienen van een bug, hulp vragen of een nieuwe functie voorstellen voor de Azure Developer CLI.