Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Les éléments indiqués comme (aperçu) dans cet article sont en aperçu public. Cette version préliminaire est fournie sans contrat de niveau de service, et nous la déconseillons pour les charges de travail en production. Certaines fonctionnalités peuvent ne pas être prises en charge ou avoir des fonctionnalités contraintes. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les versions préliminaires de Microsoft Azure.
Le azure.yaml fichier est la configuration unique Azure projet CLI développeur (azd) pour un projet d’agent hébergé. Il déclare vos ressources Foundry ( le projet, les déploiements de modèles, les connexions, les boîtes à outils, les compétences, les routines et les agents eux-mêmes) en tant qu’ensemble de services, et indique azd comment les approvisionner et les déployer. Ce fichier unifié remplace le modèle à deux fichiers précédent qui divise la configuration entre agent.manifest.yaml et agent.yaml.
Pour savoir comment composer et créer ce fichier étape par étape, consultez Créer azure.yaml pour les agents hébergés.
Utilisation d’azure.yaml
L’interface CLI Azure développeur simplifie le flux de travail développeur-à-cloud. Il gère deux choses : l’approvisionnement de Azure ressources, telles que les projets Foundry, les déploiements de modèles et les registres de conteneurs, et le déploiement de votre code sur ces ressources. Pour les agents hébergés, l’extension azure.ai.agents ajoute des commandes spécifiques à l’agent telles que azd ai agent init et azd ai agent run.
Chaque azd projet a un azure.yaml fichier à sa racine. Pour les projets d’agent, ce fichier est la source de la vérité pour la configuration de l’agent et la configuration du déploiement.
Environments
Un environnement est une configuration nommée, telle que dev, stagingou prod, qui stocke les paramètres d’un déploiement particulier. Chaque environnement suit l’abonnement et l’emplacement Azure, le groupe de ressources et les noms de ressources, ainsi que les variables personnalisées que vous définissez. Les paramètres sont stockés localement dans .azure/<env-name>/.env. Vous pouvez avoir plusieurs environnements pour le même projet.
Commandes principales
| Command | Qu’est-ce que cela fait ? |
|---|---|
azd provision |
Crée Azure ressources, telles que le projet Foundry, les déploiements de modèles et le registre de conteneurs. |
azd deploy |
Empaquette et charge la source d’une build distante, génère et publie une image conteneur, ou déploie une image prédéfinie, puis crée la version de l’agent hébergé. |
azd up |
provision Combine et deploy en une seule commande. |
azd down |
Supprime toutes les ressources approvisionnées. |
azd env set |
Définit une variable d’environnement, par exemple azd env set MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME=gpt-5.4-mini. |
Compatibilité des extensions
L’extension azure.ai.agents fournit l’hôte azure.ai.agent . L’extension azure.ai.projects fournit l’hôte azure.ai.project et le fournisseur d’infrastructure microsoft.foundry . Utilisez azure.ai.agents une version 1.0.0-beta.8 ou une version ultérieure avec azure.ai.projects une version ou une version 1.0.0-beta.4 ultérieure. Pour obtenir des instructions d’installation et de mise à niveau, consultez Installer les extensions CLI de développement Azure.
Vous pouvez déclarer les versions minimales compatibles dans azure.yaml:
requiredVersions:
azd: ">=1.27.1"
extensions:
azure.ai.agents: ">=1.0.0-beta.8"
azure.ai.projects: ">=1.0.0-beta.4"
Cycle de vie du fournisseur de services
Installez le microsoft.foundry méta-package lorsque votre projet inclut des connexions, des boîtes à outils, des compétences ou des routines. Il installe les extensions de fournisseur qui implémentent les hôtes correspondants azure.ai.* .
| Hôte de service | Extension du fournisseur | Appliqué pendant |
|---|---|---|
azure.ai.project |
azure.ai.projects |
azd provision |
azure.ai.connection |
azure.ai.connections |
azd provision |
azure.ai.toolbox |
azure.ai.toolboxes |
azd deploy |
azure.ai.agent |
azure.ai.agents |
azd deploy |
azure.ai.skill |
azure.ai.skills |
azd deploy |
azure.ai.routine |
azure.ai.routines |
azd deploy |
Les fournisseurs de projets et de connexions appliquent leur configuration pendant azd provision. L’agent, la boîte à outils, les compétences et les fournisseurs de routine appliquent leur configuration pendant azd deploy. Exécutez azd up les deux phases.
La suppression d’un service de plan de données ne azure.yamlazd peut plus la gérer ; supprimez la ressource distante séparément lorsque vous n’en avez plus besoin.
-
azd down- Supprime le groupe de ressources lorsque l’environnement actuel a créé le projet Foundry. Laisse un projet existant et ses ressources en place. | -
azd env set- Définit une variable d’environnement, par exempleazd env set FOUNDRY_MODEL_NAME=gpt-5.4-mini. |
Modèle fractionné-service
Sous services, chaque entrée est un service nommé avec un host champ qui identifie le type de ressource Foundry qu’elle déclare. Les services se référencent les uns aux autres par le biais du champ, qui forme un graphique uses de dépendance qui se résout au moment de l’approvisionnement azd et du déploiement. Un projet classique possède un azure.ai.project service qui possède les déploiements de modèles et un azure.ai.agent service qui dépend de celui-ci.
| Host | Ressource | Purpose |
|---|---|---|
azure.ai.project |
Projet de fonderie | Possède les déploiements de modèles et la mise en réseau privée facultative. |
azure.ai.agent |
Agent hébergé ou invité | Porte la définition de l’agent et ses paramètres de génération et de déploiement. |
azure.ai.connection |
Connexion de projet | Lie le projet à une ressource externe, telle qu’un serveur MCP ou un index de recherche. |
azure.ai.toolbox |
Boîte à outils (ensemble d’outils Foundry) | Ensemble nommé d’outils soutenus par la connexion référencés par les agents. |
azure.ai.skill |
Skill | Recommandations comportementales réutilisables partagées entre les agents. |
azure.ai.routine |
Routine | Un déclencheur associé à une action qui invoque un agent. |
Exemple minimal
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
name: my-agent-project
services:
ai-project:
host: azure.ai.project
deployments:
- name: gpt-5.4-mini
model:
format: OpenAI
name: gpt-5.4-mini
version: "2026-03-17"
sku:
name: GlobalStandard
capacity: 10
my-agent:
host: azure.ai.agent
project: src/my-agent
language: docker
uses:
- ai-project
kind: hosted
name: my-agent
description: A hosted agent built from source.
protocols:
- protocol: responses
version: 2.0.0
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
container:
resources:
cpu: "0.25"
memory: 0.5Gi
Exemple complet
Le projet suivant ajoute une connexion, une boîte à outils et une mise en réseau privée.
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json
requiredVersions:
extensions:
azure.ai.agents: '>=0.1.0-preview'
name: research-agent-project
services:
ai-project:
host: azure.ai.project
deployments:
- name: gpt-5.4-mini
model:
format: OpenAI
name: gpt-5.4-mini
version: "2026-03-17"
sku:
name: GlobalStandard
capacity: 50
search-conn:
host: azure.ai.connection
uses:
- ai-project
category: CognitiveSearch
target: https://my-search.search.windows.net
authType: ApiKey
credentials:
key: ${SEARCH_API_KEY}
research-tools:
host: azure.ai.toolbox
uses:
- ai-project
- search-conn
description: Tools used by the research agent.
tools:
- type: azure_ai_search
connection: search-conn
- type: code_interpreter
researcher:
host: azure.ai.agent
project: src/researcher
language: docker
uses:
- ai-project
- search-conn
- research-tools
kind: hosted
name: researcher
description: Hosted research agent built from source.
startupCommand: python main.py
toolboxes:
- research-tools
env:
LOG_LEVEL: info
protocols:
- protocol: responses
version: 2.0.0
container:
resources:
cpu: "1.0"
memory: 2Gi
infra:
provider: bicep
path: ./infra
Champs de niveau supérieur
| Champ | Obligatoire | Description |
|---|---|---|
name |
Yes | Project nom. |
requiredVersions.extensions |
Non | Contraintes minimales de version d’extension, par exemple azure.ai.agents: '>=0.1.0-preview'. |
metadata |
Non | Project métadonnées, telles que l’identificateurtemplate. |
services |
Yes | Mappage des noms de service aux configurations de service. |
infra |
Non | Paramètres d’infrastructure en tant que code. Présent lorsque vous éjectez IaC. |
service azure.ai.project
Le service de projet provisionne ou se connecte à un projet Foundry et possède ses déploiements de modèles.
| Champ | Description |
|---|---|
host |
Doit être azure.ai.project. |
endpoint |
URL de point de terminaison d’un projet Foundry existant. Lorsqu’il est défini, azd se connecte à ce projet au lieu de provisionner un nouveau projet. En cas d’omission, azd provisionne un nouveau projet. |
deployments |
Tableau de déploiements de modèles à créer sur le projet. |
network |
Mise en réseau privée facultative pour le compte qui sauvegarde le projet. |
deployments
| Champ | Description |
|---|---|
name |
Nom du déploiement. |
model.format |
Format du modèle, par exemple OpenAI. |
model.name |
Nom du modèle, par exemple gpt-5.4-mini. |
model.version |
Chaîne de version du modèle. |
sku.name |
Nom de la référence SKU, par exemple GlobalStandard, Standardou GlobalBatch. |
sku.capacity |
Capacité de référence SKU en unités de jetons par minute. |
Une entrée de déploiement peut également être un fichier externe : - $ref: ./deployments/embeddings.yaml.
network
Définissez network la configuration d’un compte sécurisé par le réseau. Le peSubnet champ est requis et établit le point de terminaison privé du compte. Ajoutez agentSubnet pour injecter le runtime de l’agent dans votre propre sous-réseau (apportez votre propre réseau virtuel) ou omettez-le pour utiliser le réseau géré par Microsoft. Pour obtenir une procédure pas à pas complète, consultez Mise en réseau privée de l’agent hébergé.
Configuration du réseau privé
Utilisez network le azure.ai.project service pour configurer le point de terminaison privé de compte et la sortie de l’agent. L’exemple suivant utilise un sous-réseau géré par le client pour le runtime de l’agent :
services:
ai-project:
host: azure.ai.project
network:
peSubnet:
vnet: ${VNET_RESOURCE_ID}
name: private-endpoint-subnet
agentSubnet:
vnet: ${VNET_RESOURCE_ID}
name: agent-subnet
dns:
resourceGroup: ${PRIVATE_DNS_RESOURCE_GROUP}
subscription: ${PRIVATE_DNS_SUBSCRIPTION_ID}
| Champ | Obligatoire | Description |
|---|---|---|
peSubnet |
Yes | Sous-réseau du point de terminaison privé du compte Foundry. Il nécessite vnet et name. Ajoutez prefix quand azd doit créer le sous-réseau. |
agentSubnet |
Non | Sous-réseau géré par le client pour la sortie de l’agent hébergé. Il nécessite vnet et namedoit être un sous-réseau différent dans le même réseau virtuel que peSubnet. |
isolationMode |
Non | Posture sortante pour la sortie gérée par Microsoft. Utilisez-le uniquement lorsque vous omettez agentSubnet. Les valeurs valides sont AllowInternetOutbound et AllowOnlyApprovedOutbound. |
dns.resourceGroup |
Non | Groupe de ressources qui contient des zones DNS privées existantes. Omettez-le de laisser azd créer et lier les zones requises. |
dns.subscription |
Non | Abonnement qui contient des zones DNS privées existantes. Il est défini par défaut sur l’abonnement de déploiement. |
La mise en réseau privée désactive l’accès au plan de données public pour le compte. Une Azure Container Registry créée automatiquement n'est pas prise en charge avec cette configuration. Utilisez le déploiement de code source ou spécifiez un prédéfini image.
service azure.ai.agent
Le service d’agent porte la définition de l’agent et ses paramètres de génération et de déploiement. C’est le service qui remplace l’ancien agent.yaml.
| Champ | Description |
|---|---|
host |
Doit être azure.ai.agent. |
kind |
Type d’agent. Utiliser hosted pour les agents conteneurisés générés à partir de la source. |
name |
Nom de l’agent. La réutilisation d’un nom crée une nouvelle version de l’agent existant. |
displayName |
Nom d’affichage facultatif convivial. |
description |
Description optionnelle de l’agent. |
project |
Chemin d’accès au répertoire source de l’agent, par exemple src/my-agent. |
language |
Langage de génération pour les agents hébergés. Utilisez docker. |
uses |
La liste des services dont dépend cet agent, comme le projet, les connexions et les boîtes à outils. |
protocols |
Protocoles d’appel implémentés par l’agent. |
env |
Mappage des variables d’environnement passées au conteneur. |
container |
Paramètres du processeur et de la mémoire du conteneur. |
startupCommand |
Commande qui démarre le serveur d’agent, par exemple python main.py. Utilisé pour azd ai agent run le développement local et pour le démarrage du conteneur. |
toolboxes |
Liste des noms de azure.ai.toolbox service utilisés par l’agent au moment de l’exécution. |
codeConfiguration |
Paramètres de déploiement source (ZIP). Consultez les modes Déployer. |
image |
URL d’image conteneur prédéfinie. Quand elle est définie, azd déploie l’image directement et ignore la build Dockerfile. |
metadata |
Paires clé-valeur de métadonnées facultatives. |
agentCard |
Métadonnées de découverte au niveau de l’agent, notamment skills. |
agentCard.skills et azure.ai.skill
agentCard.skills décrit les fonctionnalités d’un agent dans sa carte de découverte.
Il fournit des métadonnées pour les clients et ne crée pas ou n’attache pas de compétence Foundry réutilisable. Chaque compétence de carte nécessite un id, nameet description.
Un azure.ai.skill service crée une compétence avec version à partir d’instructions et d’outils autorisés facultatifs. Déclarez-le séparément sous services; sa uses liste contrôle l’ordre des dépendances, mais il ne remplit agentCard.skills pas ou n’attache pas la compétence à un agent. Utiliser agentCard.skills pour les métadonnées de découverte et azure.ai.skill pour obtenir des instructions réutilisables.
agentCard:
description: Research agent discovery card.
skills:
- id: research
name: Research
description: Researches a requested subject.
services:
code-review:
host: azure.ai.skill
uses:
- ai-project
instructions: ./skills/code-review.md
Remplir une carte de découverte
Ajoutez version, tagset examples lorsque les clients ont besoin de métadonnées de découverte plus riches. Une carte nécessite au moins une description compétence. Chaque compétence nécessite un id, nameet description.
agentCard:
description: Research agent discovery card.
version: "1.0"
skills:
- id: research
name: Research
description: Researches a requested subject.
tags:
- research
examples:
- Research current product guidance.
Stratégies d’IA responsables
Permet policies d’associer une stratégie d’IA responsable à l’agent hébergé.
Définissez raiPolicyName sur l’ID de ressource ARM complet de la stratégie :
policies:
- type: rai_policy
raiPolicyName: ${RAI_POLICY_RESOURCE_ID}
Type rai_policy et raiPolicyName requis. L’extension applique la première stratégie valide dans la liste à la configuration d’IA responsable de l’agent hébergé. Pour obtenir des conseils de création et de gestion de stratégie, consultez Ajouter des garde-fous aux agents hébergés.
Mémoires
Permet memoryStores de créer ou réutiliser des magasins de mémoire Foundry avant le déploiement.
Chaque magasin nécessite des noms de déploiement de modèles de conversation existants et d’incorporation de modèles.
memoryStores:
- name: customer-memory
description: Stores durable customer context.
chatModel: gpt-5.4-mini
embeddingModel: text-embedding-3-large
options:
chatSummaryEnabled: true
userProfileEnabled: true
proceduralMemoryEnabled: false
defaultTtlSeconds: 0
| Champ | Obligatoire | Description |
|---|---|---|
name |
Yes | Nom du magasin de mémoire. |
description |
Non | Description du magasin de mémoire. |
chatModel |
Yes | Déploiement de modèle de conversation utilisé pour traiter le contenu de la mémoire. |
embeddingModel |
Yes | Déploiement de modèle d’incorporation utilisé pour traiter le contenu de la mémoire. |
options.chatSummaryEnabled |
Non | Active la mémoire récapitulative de conversation. |
options.userProfileEnabled |
Non | Active la mémoire de profil utilisateur. |
options.proceduralMemoryEnabled |
Non | Active la mémoire procédurale. |
options.defaultTtlSeconds |
Non | Définit la période de rétention par défaut en secondes. Défini 0 pour aucune expiration. |
options.userProfileDetails |
Non | Fournit des conseils sur les données de profil à conserver. |
Les magasins existants ne sont pas mis à jour pendant le déploiement. Si la définition déclarée diffère du magasin existant, azd signale la différence. La déclaration d’un magasin de mémoire ne modifie pas le code de votre agent ni attache automatiquement un outil mémoire. Connectez votre application au magasin de mémoire à l’aide de l’outil de recherche de mémoire ou des API de magasin de mémoire. Pour plus d’informations, consultez Utiliser la mémoire avec les agents.
Configurer un point de terminaison d’agent
Permet agentEndpoint de configurer les protocoles et les schémas d’autorisation publiés par le point de terminaison de l’agent. Utilisez une carte d’agent avec un point de terminaison A2A afin que d’autres agents puissent découvrir les fonctionnalités que vous exposez.
agentEndpoint:
protocols:
- responses
- a2a
authorizationSchemes:
- type: Entra
Vous pouvez également définir versionSelector.versionSelectionRules quand vous devez contrôler la version de l’agent qui reçoit le trafic de point de terminaison. Agent Service valide les valeurs de protocole de point de terminaison et d’autorisation pendant le déploiement.
protocols
protocols:
- protocol: responses
version: 2.0.0
| Protocol | Description |
|---|---|
responses |
API Réponses OpenAI. Inclut la gestion de l’historique des conversations. |
invocations |
Protocole de charge utile personnalisée. Aucune gestion de conversation intégrée. |
a2a |
Protocole agent à agent pour l’orchestration de l’agent. |
Pour obtenir la spécification complète du protocole, consultez le contrat d’exécution de l’agent hébergé.
Protocoles d’exécution supplémentaires et points de terminaison d’activité
En plus de responsesla a2aprise en charge invocations_ws des invocationsagents hébergés pour les appels WebSocket et activity pour les scénarios d’activité Microsoft 365 et Teams.
protocols:
- protocol: invocations_ws
version: 2.0.0
- protocol: activity
version: 2.0.0
Pour un agent d’activité, ajoutez activity à la configuration du point de terminaison public et utilisez le schéma d’autorisation Bot Service requis :
agentEndpoint:
protocols:
- activity
authorizationSchemes:
- type: BotServiceRbac
Le protocole d’activité peut coexister avec d’autres protocoles sur le même point de terminaison d’agent. Pour connaître le comportement du protocole d’exécution, consultez Qu’est-ce que les agents hébergés ?.
environnement
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
LOG_LEVEL: info
La ${ } syntaxe fait référence aux azd variables d’environnement à partir de .azure/<env>/.env.
Note
Ne pas déclarer FOUNDRY_PROJECT_ENDPOINT dans env. La plateforme l’injecte automatiquement dans des conteneurs hébergés et azd ai agent run la définit pour le développement local. La déclaration est ici redondante et risque d’ombrage de la valeur de la plateforme.
Environnement de plateforme, identité et points de terminaison
La plateforme réserve les préfixes et AGENT_ les FOUNDRY_ préfixes. Lisez les variables de plateforme, telles que FOUNDRY_PROJECT_ENDPOINT, à partir de votre code d’application, mais ne les définissez pas ou ne les remplacez pas.env Les valeurs d’environnement définies par l’agent sont des chaînes.
Chaque agent hébergé déployé reçoit une identité et un point de terminaison d’agent dédiés Microsoft Entra ID. N’ajoutez pas de identity bloc au service d’agent.
L’identité de l’agent peut utiliser le point de terminaison du projet et le stockage de session par défaut.
Attribuez les rôles supplémentaires d’identité lorsque l’agent doit accéder aux ressources externes. Pour plus d’informations, consultez informations de référence sur les autorisations de l’agent hébergé.
Les protocoles que vous déclarez déterminent les points de terminaison actifs après le déploiement. Exécutez azd ai agent show pour inspecter l’agent déployé et ses URL de point de terminaison.
Après le déploiement, azd écrit les valeurs suivantes dans l’environnement actif, à l’aide du nom du service normalisé à la place de <SERVICE>:
AGENT_<SERVICE>_NAMEAGENT_<SERVICE>_VERSIONAGENT_<SERVICE>_ENDPOINT-
AGENT_<SERVICE>_<PROTOCOL>_ENDPOINTpour activéresponses,invocationsetinvocations_wsles protocoles
Utilisez la sortie spécifique au protocole lorsque votre application ou automatisation a besoin d’une URL d’appel. Le point de terminaison de base identifie la version de l’agent déployé pour les opérations de gestion de session.
container
container:
resources:
cpu: "0.25"
memory: 0.5Gi
Configurer cpu à partir de "0.25" jusqu’à "4.0", et memory de 0.5Gi jusqu’à 8.0Gi.
Déploiement de code source
Définissez codeConfiguration pour déployer le code source en tant que fichier ZIP au lieu d’une image conteneur. Spécifiez un nom de fichier de point d’entrée ou un nom d’assembly.
azd le combine avec le runtime sélectionné lorsqu’il crée la version de l’agent hébergé.
codeConfiguration:
runtime: python_3_13
entryPoint: main.py
dependencyResolution: remote_build
Permet remote_build de restaurer des dépendances à partir des sources de projet ou d’utiliser bundled lorsque le fichier ZIP contient des dépendances compatibles Avec Linux. Ne combinez codeConfiguration pas avec la configuration du conteneur basé sur l’image. Pour obtenir des conseils sur l’empaquetage et les dépendances, consultez Déployer un agent hébergé à partir du code source.
Builds de conteneur et images prédéfinies
Utilisez un Dockerfile sous project pour générer une image conteneur ou définir image pour déployer une image prédéfinie :
image: myregistry.azurecr.io/agents/researcher:1.2.3
Quand une Dockerfile et une image sont disponibles, choisissez l’image prédéfinie dans l’invite de déploiement interactive. Pour le déploiement sans assistance, définissez-le AZD_AGENT_SKIP_ACRtrue dans l’environnement actif azd pour sélectionner l’image configurée. Pour connaître les autorisations de Registre et le déploiement de Registre privé, consultez Déployer un agent hébergé avec un Azure Container Registry privé.
Limitations des métadonnées et des schémas
Utilisez des valeurs de chaîne pour les métadonnées de l’agent déployées. La authors valeur des métadonnées peut être une liste de chaînes. Ne vous appuyez pas sur displayName, inputSchemaou outputSchema pour configurer l’agent hébergé déployé ; la configuration unifiée accepte ces champs, mais la demande de création de l’agent hébergé ne les utilise pas.
service azure.ai.connection
Une connexion lie le projet à une ressource externe. La clé de service est le nom de connexion, et le service dépend du projet via uses.
| Champ | Description |
|---|---|
host |
Doit être azure.ai.connection. |
category |
Catégorie de connexion, par exempleCustomKeys, , ApiKey, AzureOpenAICognitiveSearch, ou RemoteTool. |
target |
URL du point de terminaison cible ou ID de ressource ARM. |
authType |
Type d’authentification, par exempleApiKey, , CustomKeysAADManagedIdentityou .OAuth2 |
credentials |
Informations d’identification pour la connexion. Les valeurs peuvent contenir des ${VAR} références. |
metadata |
Métadonnées supplémentaires en tant que paires clé-valeur. |
github-conn:
host: azure.ai.connection
uses:
- ai-project
category: RemoteTool
target: https://api.githubcopilot.com/mcp
authType: CustomKeys
credentials:
Authorization: ${GITHUB_PAT}
Les modifications de connexion s’appliquent pendant azd provision, et non azd deploy. Stockez les valeurs d’informations d’identification dans votre azd environnement et référencez-les ${VAR} au lieu de placer des secrets dans azure.yaml.
service azure.ai.toolbox
Une boîte à outils est un ensemble nommé d’outils référencés par les agents. Les outils soutenus par la connexion nomment un azure.ai.connection service via le connection champ.
| Champ | Description |
|---|---|
host |
Doit être azure.ai.toolbox. |
description |
Description de la boîte à outils. |
tools |
Liste des outils. Chaque entrée a un type et, pour les outils soutenus par la connexion, a connection. |
research-tools:
host: azure.ai.toolbox
uses:
- ai-project
- search-conn
tools:
- type: azure_ai_search
connection: search-conn
- type: code_interpreter
Un agent fait référence à une boîte à outils en ajoutant le nom du service de boîte à outils à la fois uses à sa liste et à sa toolboxes liste.
Utiliser un point de terminaison de boîte à outils
Dans un projet fractionné, uses contrôle l’ordre de déploiement. Votre application se connecte au point de terminaison MCP de la boîte à outils au moment de l’exécution. Transmettez le nom ou le point de terminaison de la boîte à outils à votre application env, puis construisez le point de terminaison du consommateur à partir de FOUNDRY_PROJECT_ENDPOINT votre code d’agent. Pour obtenir un exemple de bout en bout, consultez Utiliser une boîte à outils avec un agent hébergé.
azure.ai.skill et azure.ai.routine services
Un azure.ai.skill service définit une directive comportementale réutilisable que les agents référencent par nom. Un azure.ai.routine service définit un déclencheur (planification ou événement) et une action qui appelle un agent. Les deux dépendent des ressources qu’ils utilisent via uses. Pour en savoir plus sur l’ajout d’outils pour l’utilisation de l’agent, consultez La boîte à outils dans Foundry etutiliser des routines.
Les compétences et les routines sont des ressources distinctes. La déclaration d’un service contrôle son cycle de vie, mais n’attache pas automatiquement une compétence à l’agent ou déduit une cible d’action de routine. Configurez explicitement l’application consommatrice ou l’action de routine.
Dépendances avec utilisations
Le uses champ déclare les services dont dépend un service donné.
azd utilise ce graphique pour commander l’approvisionnement et les références filaires, telles que les connexions et les boîtes à outils d’un agent.
uses:
- ai-project
- search-conn
- research-tools
Le fichier inclut des $ref
Toute entrée de service ou de liste peut être remplacée par une référence à un fichier YAML ou JSON externe. Les chemins relatifs sont résolus à partir du fichier qui contient le $reffichier . Les URL distantes ne sont pas prises en charge.
services:
triage:
host: azure.ai.agent
uses:
- ai-project
$ref: ./agents/triage.yaml
Les fichiers incluent vous permettent de conserver des définitions d’agent volumineuses dans leurs propres fichiers et de partager des définitions entre les projets.
Conservez les champs de service principaux dans l’entrée racine azure.yaml lorsque vous utilisez un service $ref: host, , uses, project, language, imageet docker. Placez les champs de définition appartenant au fournisseur, tels que kind, , namedescriptionet protocols, dans le mappage référencé.
$ref résout les fichiers YAML ou JSON locaux de manière récursive ; Les URL et les cycles de référence ne sont pas pris en charge.
Substitution de variable
Deux syntaxes de substitution peuvent apparaître dans azure.yaml:
| Syntax | Résolu quand | Par quoi |
|---|---|---|
${VAR_NAME} |
azd provision ou azd deploy |
azd variables d’environnement du .azure/<env>/.envcôté client résolu. |
${{ ... }} |
Au moment de l’exécution | Résolution côté serveur Foundry.
azd passe-les par des intouchés. |
Modes d’infrastructure et de déploiement
Bicep-moins par défaut
azd ai agent init est moins bicep par défaut : il n’écrit pas de infra/ répertoire et azd synthétise l’infrastructure à partir de vos azure.yaml services au moment de l’approvisionnement. Pour matérialiser les fichiers infrastructure-as-code, éjectez-les :
| Command | Résultat |
|---|---|
azd ai agent init --infra |
Éjecte Bicep dans ./infra/. |
azd ai agent init --infra=bicep |
Éjecte Bicep (explicite). |
azd ai agent init --infra=terraform |
Éjecte Terraform et définit infra.provider: terraform. |
Lorsqu’il infra est présent, azure.yamlazd utilise ces fichiers au lieu de synthétiser l’infrastructure.
Modes de déploiement
Un agent hébergé se déploie dans l’un des deux modes suivants :
| Mode | Fonctionnement | Comment sélectionner |
|---|---|---|
code |
azd charge votre source en tant que fichier ZIP et le génère à distance. Il s’agit de la valeur par défaut pour les projets Python et .NET. |
azd ai agent init --deploy-mode code |
container |
azd génère une image Docker à partir de votre Dockerfile application et la déploie. |
azd ai agent init --deploy-mode container |
Pour les déploiements sources, le codeConfiguration champ sur le service d’agent capture le runtime et le point d’entrée. Pour les images prédéfinies, définissez le image champ sur le service d’agent et ignorez la build Dockerfile.
Migration de la configuration héritée
Les définitions d’agent plus anciennes peuvent imbriquer des variables d’environnement sous config: env.
Dans l’unité unifiée azure.yaml, déplacez le env mappage vers le service d’agent :
# Legacy
services:
my-agent:
host: azure.ai.agent
config:
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
# Unified azure.yaml
services:
my-agent:
host: azure.ai.agent
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
Validation du schéma JSON
Ajoutez la référence de schéma pour la saisie automatique de l’IDE :
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json