Déployer sur un point de terminaison en ligne Microsoft Foundry ou Azure Machine Learning Studio

L’interface CLI Azure Developer (azd) vous permet de déployer sur un point de terminaison en ligne Azure Machine Learning studio ou Microsoft Foundry. azd prend en charge les fonctionnalités suivantes, qui sont décrites dans les sections à l’avance :

Prerequisites

Pour travailler avec des points de terminaison web Microsoft Foundry ou Azure Machine Learning Studio, vous aurez besoin de ce qui suit :

Le modèle Foundry Starter peut vous aider à créer l’infrastructure requise pour commencer à utiliser les points de terminaison Foundry.

Configurer le point de terminaison en ligne

Configurez la prise en charge des points de terminaison en ligne dans la services section du azure.yaml fichier :

  • Définissez la valeur host sur ai.endpoint.
  • La section config pour ai.endpoint prend en charge les configurations suivantes :
    • workspace : nom de l’espace de travail Microsoft Foundry. Prend en charge azd les substitutions et la syntaxe des variables d’environnement.
      • Si ce n’est pas spécifié, azd recherche une variable d’environnement portant le nom AZUREAI_PROJECT_NAME.
    • environnement : configuration personnalisée facultative pour les environnements ML. azd crée une version d’environnement à partir de la définition de fichier YAML référencée.
    • flux : configuration personnalisée facultative pour les flux. azd crée un nouveau flux d’invite à partir du chemin de fichier spécifié.
    • modèle : configuration personnalisée facultative pour les modèles ML. azd crée une version de modèle à partir de la définition de fichier YAML référencée.
    • déploiement : configuration requise pour les déploiements de points de terminaison en ligne. azd crée un déploiement en ligne sur le point de terminaison en ligne associé à partir de la définition de fichier YAML référencée.

Considérez l’exemple azure.yaml de fichier suivant qui configure ces fonctionnalités :

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}

La section config.deployment est requise et crée un déploiement en ligne vers le point de terminaison en ligne associé à partir de la définition du fichier YAML référencé. Cette fonctionnalité gère les éléments suivants :

  • L’environnement et le modèle associés sont référencés lorsqu’ils sont disponibles.
  • azd attend que le déploiement entre dans un état final de provisionnement.
  • Lors des déploiements réussis, tout le trafic est déplacé vers la nouvelle version du déploiement.
  • Tous les déploiements précédents sont supprimés pour libérer le calcul pour les déploiements futurs.

Explorer les options de configuration

Chaque fonctionnalité prise en charge pour les points de terminaison en ligne IA/ML prend en charge les personnalisations de votre scénario spécifique à l’aide des options décrites dans les sections suivantes.

Flow

La flow section de configuration est facultative et prend en charge les valeurs suivantes :

  • nom : nom du flux. La valeur par défaut est <service-name>-flow-<timestamp> si elle n'est pas spécifiée.

  • chemin d’accès : chemin relatif d’un dossier qui contient le manifeste de flux.

  • remplacements : tous les remplacements personnalisés à appliquer au flux.

    Note

    Chaque appel vers azd deploy crée un flux horodaté.

Environnement

La environment section de configuration est facultative et prend en charge les valeurs suivantes :

  • nom : nom de l’environnement personnalisé. La valeur par défaut est <service-name>-environment si elle n'est pas spécifiée.

  • chemin d’accès : chemin relatif d’un manifeste yaml d’environnement personnalisé.

  • remplacements : remplacements personnalisés à appliquer à l’environnement.

    Note

    Chaque appel à azd deploy crée une nouvelle version d’environnement.

Modèle

La model section de configuration est facultative et prend en charge les valeurs suivantes :

  • nom : nom du modèle personnalisé. La valeur par défaut est <service-name>-model si elle n'est pas spécifiée.

  • chemin: chemin relatif vers un manifeste YAML de modèle personnalisé.

  • réglages : tous les réglages personnalisés à appliquer au modèle.

    Note

    Chaque appel à azd deploy crée une nouvelle version de modèle.

Déploiement

La deployment section de configuration est requise et prend en charge les valeurs suivantes :

  • nom : nom du déploiement personnalisé. La valeur par défaut est <service-name>-deployment si elle n'est pas spécifiée.

  • chemin d’accès : un chemin d'accès relatif vers un manifeste yaml de déploiement personnalisé.

  • environnement : mappage de paires clé-valeur pour définir des variables d’environnement pour le déploiement. Prend en charge les substitutions de variables d’environnement à partir de variables d’environnement OS/AZD en utilisant la syntaxe ${VAR_NAME}.

  • remplacements : remplacements personnalisés à appliquer au déploiement.

    Note

    Prend uniquement en charge les déploiements en ligne managés.

AgentSchema et agent.yaml

AgentSchema est une spécification ouverte pour définir des agents IA au format YAML code-first. Un agent.yaml fichier décrit la configuration d’un agent, y compris son modèle, ses instructions, ses outils et ses connexions. AgentSchema sert de format d’échange unifié entre Microsoft Copilot Studio, Microsoft Foundry et d’autres plateformes.

AgentSchema prend en charge deux formats principaux :

  • AgentDefinition : spécification complète et concrète d’un agent qui peut être exécuté directement. Utilisez ce format pour les agents à usage unique où toutes les valeurs de configuration sont connues et fixes.
  • AgentManifest : modèle paramétrable pour la création dynamique d’agents. Utilisez ce format pour les modèles d’agent réutilisables dans lesquels des valeurs telles que des noms de modèle, des connexions ou des instructions sont configurées au moment de l’exécution à l’aide de {{parameter}} la syntaxe.

Exemple agent.yaml

L’exemple suivant montre une définition hébergée agent.yaml qui azd peut être déployée sur Microsoft Foundry. L’annotation de schéma en haut indique aux éditeurs prenant en charge YAML de valider par rapport à l’AgentSchema publié :

# 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

Cet exemple utilise kind: hosted avec un code_configuration bloc, qui indique azd de empaqueter votre code source en tant que zip et laisser Foundry gérer le runtime. Pour déployer une image conteneur prédéfinie à la place, remplacez code_configuration par un image champ qui pointe vers une image dans Azure Container Registry.

Utilisation agent.yaml avec azd

Le schéma azure.yaml prend en charge le type d’hôte azure.ai.agent pour le déploiement d’agents sur Microsoft Foundry. Lorsque vous définissez host sur azure.ai.agent, azd lit le fichier agent.yaml dans le répertoire de votre service et utilise son champ kind pour déterminer comment déployer l’agent. Pour plus d’informations, consultez la référence de schéma azure.yaml.

Valeurs de kind prises en charge

Le champ kind, en haut de agent.yaml, permet de sélectionner la configuration de déploiement. azd valide ce champ par rapport aux valeurs du tableau suivant et rejette toute autre valeur au moment du déploiement.

kind Ce que azd déploie Quand utiliser
hosted Agent hébergé par Foundry. Le sous-mode de déploiement dépend des champs que vous incluez dans le fichier : ajouter code_configuration pour le déploiement de code (chargement ZIP, runtime géré par Foundry) ou ajouter image pour le déploiement de conteneur (votre image prédéfinie à partir de Azure Container Registry). La plupart des agents créés par azd ai agent init. Utilisez le déploiement de code lorsque vous souhaitez que Foundry gère le runtime ; utilisez le déploiement de conteneur lorsque vous avez besoin d’un contrôle total sur l’image.

Note

AgentSchema est une spécification plus vaste que celle que azd déploie aujourd’hui. Si vous voyez d’autres valeurs kind dans la référence AgentSchema (par exemple, des définitions d’assistant basées uniquement sur des requêtes), ces formats ne sont pas pris en charge par azd et ne sont pas acceptés par azd deploy.

Pour plus d’informations sur AgentSchema, consultez les ressources suivantes :

Demander de l’aide

Pour plus d’informations sur la façon de déposer un bogue, de demander de l’aide ou de proposer une nouvelle fonctionnalité pour l’interface CLI Azure développeur, visitez la page troubleshooting et support.