Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Het azure.yaml bestand is de enkele Azure Developer CLI-projectconfiguratie (azd) voor een gehost agentproject. Het declareert uw Foundry-resources: het project, modelimplementaties, verbindingen, werksets, vaardigheden, routines en de agents zelf, als een set services, en geeft aan azd hoe ze moeten worden ingericht en geïmplementeerd. Dit geïntegreerde bestand vervangt het eerdere model met twee bestanden dat de configuratie tussen agent.manifest.yaml en agent.yaml.
Zie Author azure.yaml voor gehoste agents voor meer informatie over het opstellen en ontwerpen van dit bestand.
Hoe azd gebruikmaakt van azure.yaml
De Azure Developer CLI stroomlijnt de werkstroom voor ontwikkelaars naar de cloud. Er worden twee dingen afgehandeld: het inrichten van Azure resources, zoals Foundry-projecten, modelimplementaties en containerregisters; en het implementeren van uw code op die resources. Voor gehoste agents voegt de azure.ai.agents extensie agentspecifieke opdrachten toe, zoals azd ai agent init en azd ai agent run.
Elk azd project heeft een azure.yaml bestand in de hoofdmap. Voor agentprojecten is dit bestand de bron van waarheid voor zowel de agentconfiguratie als de implementatieconfiguratie.
Environments
Een omgeving is een benoemde configuratie, zoals dev, stagingof prod, waarmee instellingen voor een bepaalde implementatie worden opgeslagen. Elke omgeving houdt het Azure abonnement en locatie, de resourcegroep en resourcenamen en eventuele aangepaste variabelen bij die u instelt. Instellingen worden lokaal opgeslagen in .azure/<env-name>/.env. U kunt meerdere omgevingen voor hetzelfde project hebben.
Kernopdrachten
| Command | Wat het doet |
|---|---|
azd provision |
Hiermee maakt u Azure resources, zoals het Foundry-project, modelimplementaties en containerregister. |
azd deploy |
Pakketten en uploadt de bron voor een externe build, bouwt en publiceert een containerinstallatiekopie, of implementeert een vooraf gemaakte installatiekopie en maakt vervolgens de gehoste agentversie. |
azd up |
Combineert provision en deploy in één opdracht. |
azd down |
Hiermee verwijdert u alle ingerichte resources. |
azd env set |
Hiermee stelt u bijvoorbeeld azd env set MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME=gpt-5.4-minieen omgevingsvariabele in. |
Extensiecompatibiliteit
De azure.ai.agents extensie biedt de azure.ai.agent host. De azure.ai.projects extensie biedt de azure.ai.project host en de microsoft.foundry infrastructuurprovider. Gebruik azure.ai.agents versie 1.0.0-beta.8 of hoger met azure.ai.projects versie 1.0.0-beta.4 of hoger. Zie De Azure Developer CLI Foundry-extensies installeren voor installatie- en upgrade-instructies.
U kunt de minimaal compatibele versies declareren in azure.yaml:
requiredVersions:
azd: ">=1.27.1"
extensions:
azure.ai.agents: ">=1.0.0-beta.8"
azure.ai.projects: ">=1.0.0-beta.4"
Levenscyclus van serviceproviders
Installeer het microsoft.foundry metapakket wanneer uw project verbindingen, werksets, vaardigheden of routines bevat. Hiermee worden de providerextensies geïnstalleerd die de bijbehorende azure.ai.* hosts implementeren.
| Servicehost | Providerextensie | Toegepast tijdens |
|---|---|---|
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 |
De project- en verbindingsproviders passen hun configuratie toe tijdens azd provision. De agent, werkset, vaardigheid en routineproviders passen hun configuratie toe tijdens azd deploy. Uitvoeren azd up om beide fasen te voltooien.
Als u een gegevensvlakservice verwijdert, azure.yaml kunt azd u deze niet meer beheren. Verwijder de externe resource afzonderlijk wanneer u deze niet meer nodig hebt.
-
azd down- Verwijdert de resourcegroep wanneer de huidige omgeving het Foundry-project heeft gemaakt. Laat een bestaand project en de bijbehorende resources behouden. | -
azd env set- Hiermee stelt u een omgevingsvariabele in, bijvoorbeeldazd env set FOUNDRY_MODEL_NAME=gpt-5.4-mini. |
Het split-servicemodel
Onder servicesis elke vermelding een benoemde service met een host veld dat het type Foundry-resource identificeert dat wordt declareren. Services verwijzen naar elkaar via het uses veld, dat een afhankelijkheidsgrafiek vormt die azd wordt omgezet tijdens de inrichting en implementatietijd. Een typisch project heeft één azure.ai.project service die eigenaar is van de modelimplementaties en één azure.ai.agent service die ervan afhankelijk is.
| Gastheer (or Gastvrouw) | Hulpbron | Purpose |
|---|---|---|
azure.ai.project |
Gieterijproject | Is eigenaar van modelimplementaties en optionele privénetwerken. |
azure.ai.agent |
Gehoste of promptagent | Bevat de definitie van de agent en de bijbehorende build- en implementatie-instellingen. |
azure.ai.connection |
Projectverbinding | Hiermee koppelt u het project aan een externe resource, zoals een MCP-server of een zoekindex. |
azure.ai.toolbox |
Werkset (Foundry Toolset) | Een benoemde bundel met hulpprogramma's die door verbindingen worden ondersteund waarnaar agents verwijzen. |
azure.ai.skill |
Vaardigheid | Een herbruikbare gedragsrichtlijn die wordt gedeeld tussen agents. |
azure.ai.routine |
Routine | Een trigger plus een actie die een agent aanroept. |
Minimaal voorbeeld
# 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
Volledig voorbeeld
In het volgende project worden een verbinding, een werkset en privénetwerken toegevoegd.
# 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
Velden op het hoogste niveau
| Veld | Required | Description |
|---|---|---|
name |
Yes | Projectnaam. |
requiredVersions.extensions |
No | Minimale beperkingen voor extensieversies, bijvoorbeeld azure.ai.agents: '>=0.1.0-preview'. |
metadata |
No | Project metagegevens, zoals de template id. |
services |
Yes | Toewijzing van servicenamen aan serviceconfiguraties. |
infra |
No | Instellingen voor infrastructuur als code. Aanwezig wanneer u IaC uitwerpt. |
azure.ai.project-service
De projectservice richt een Foundry-project in of maakt verbinding met een Foundry-project en is eigenaar van de modelimplementaties.
| Veld | Description |
|---|---|
host |
Moet azure.ai.projectzijn. |
endpoint |
Eindpunt-URL van een bestaand Foundry-project. Wanneer dit is ingesteld, azd maakt u verbinding met dat project in plaats van een nieuw project in te richten. Wanneer u dit weglaat, azd richt u een nieuw project in. |
deployments |
Matrix van modelimplementaties die in het project moeten worden gemaakt. |
network |
Optionele privénetwerken voor het account dat het project back-ups maakt. |
deployments
| Veld | Description |
|---|---|
name |
Naam van implementatie. |
model.format |
Modelindeling, bijvoorbeeld OpenAI. |
model.name |
Modelnaam, bijvoorbeeld gpt-5.4-mini. |
model.version |
Tekenreeks voor modelversie. |
sku.name |
SKU-naam, bijvoorbeeld GlobalStandard, Standardof GlobalBatch. |
sku.capacity |
SKU-capaciteit in eenheden per minuut. |
Een implementatievermelding kan ook een extern bestand zijn: - $ref: ./deployments/embeddings.yaml.
network
Ingesteld network om een met het netwerk beveiligd account in te richten. Het peSubnet veld is vereist en stelt het privé-eindpunt van het account in. Voeg agentSubnet de agentruntime toe aan uw eigen subnet (bring your own virtual network) of laat deze weg om het Microsoft beheerde netwerk te gebruiken. Zie Hosted Agent Private Networking voor een volledig overzicht.
Configuratie van privénetwerk
Gebruik network op de azure.ai.project service om het privé-eindpunt van het account en het uitgaand verkeer van de agent te configureren. In het volgende voorbeeld wordt een door de klant beheerd subnet gebruikt voor de agentruntime:
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}
| Veld | Required | Description |
|---|---|---|
peSubnet |
Yes | Het subnet voor het privé-eindpunt van het Foundry-account. Het vereist vnet en name. Voeg prefix toe wanneer azd het subnet moet worden gemaakt. |
agentSubnet |
No | Een door de klant beheerd subnet voor uitgaand verkeer van gehoste agents. Het vereist vnet en name, en moet een ander subnet in hetzelfde virtuele netwerk zijn als peSubnet. |
isolationMode |
No | De uitgaande houding voor Microsoft beheerde uitgaand verkeer. Gebruik het alleen als u weglaat agentSubnet. Geldige waarden zijn AllowInternetOutbound en AllowOnlyApprovedOutbound. |
dns.resourceGroup |
No | De resourcegroep die bestaande privé-DNS-zones bevat. Laat deze weg om de vereiste zones te azd maken en te koppelen. |
dns.subscription |
No | Het abonnement dat bestaande privé-DNS-zones bevat. Deze wordt standaard ingesteld op het implementatieabonnement. |
Met privénetwerken wordt de toegang tot openbare gegevensvlakken voor het account uitgeschakeld. Een automatisch gemaakte Azure Container Registry wordt niet ondersteund met deze configuratie. Gebruik de broncode-implementatie of geef een vooraf gedefinieerde imagewaarde op.
azure.ai.agent-service
De agentservice heeft de definitie van de agent en de bijbehorende build- en implementatie-instellingen. Het is de service die de oude agent.yamlvervangt.
| Veld | Description |
|---|---|
host |
Moet azure.ai.agentzijn. |
kind |
Soort agent. Gebruiken hosted voor containeragents die zijn gebouwd op basis van de bron. |
name |
Naam van de agent. Als u een naam opnieuw gebruikt, wordt een nieuwe versie van de bestaande agent gemaakt. |
displayName |
Optionele weergavenaam die geschikt is voor mensen. |
description |
Optionele beschrijving van de agent. |
project |
Pad naar de bronmap van de agent, bijvoorbeeld src/my-agent. |
language |
Bouwtaal voor gehoste agents. Gebruik docker. |
uses |
Lijst met services waarvan deze agent afhankelijk is, zoals het project, verbindingen en werksets. |
protocols |
Aanroepprotocollen die de agent implementeert. |
env |
Kaart van omgevingsvariabelen die worden doorgegeven aan de container. |
container |
Cpu- en geheugeninstellingen voor containers. |
startupCommand |
Opdracht waarmee de agentserver wordt gestart, bijvoorbeeld python main.py. Wordt gebruikt voor azd ai agent run lokale ontwikkeling en voor het opstarten van containers. |
toolboxes |
Lijst met azure.ai.toolbox servicenamen die de agent tijdens runtime gebruikt. |
codeConfiguration |
Implementatie-instellingen voor bron (ZIP). Zie Implementatiemodi. |
image |
Vooraf gemaakte URL van containerinstallatiekopieën. Wanneer deze is ingesteld, azd implementeert u de installatiekopieën rechtstreeks en slaat u de Dockerfile-build over. |
metadata |
Optionele sleutel-waardeparen voor metagegevens. |
agentCard |
Detectiemetagegevens op agentniveau, waaronder skills. |
agentCard.skills en azure.ai.skill
agentCard.skills beschrijft de mogelijkheden van een agent in de detectiekaart.
Het biedt metagegevens voor clients en maakt of koppelt geen herbruikbare Foundry-vaardigheid. Voor elke kaartvaardigheid is een id, nameen description.
Een azure.ai.skill service maakt een versie-vaardigheid op basis van instructies en optionele toegestane hulpprogramma's. Declareer deze afzonderlijk onder services; de uses lijst bepaalt de afhankelijkheidsvolgorde, maar de vaardigheid wordt niet ingevuld agentCard.skills of gekoppeld aan een agent. Gebruiken agentCard.skills voor detectiemetagegevens en azure.ai.skill voor herbruikbare instructies.
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
Een detectiekaart voltooien
Voeg versiontoe, tagsen examples wanneer clients uitgebreidere detectiemetagegevens nodig hebben. Een kaart vereist een description en ten minste één vaardigheid. Voor elke vaardigheid is een id, nameen 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.
Verantwoord AI-beleid
Gebruik policies dit om een verantwoord AI-beleid te koppelen aan de gehoste agent.
Ingesteld raiPolicyName op de volledige ARM-resource-id van het beleid:
policies:
- type: rai_policy
raiPolicyName: ${RAI_POLICY_RESOURCE_ID}
Het rai_policy type en raiPolicyName zijn vereist. De extensie past het eerste geldige beleid in de lijst toe op de hosted-agent Responsible AI-configuratie. Zie Kaders voor gehoste agents toevoegen voor richtlijnen voor het maken en beheren van beleid.
Geheugenopslag
Gebruik memoryStores dit om Foundry-geheugenarchieven te maken of opnieuw te gebruiken vóór de implementatie.
Voor elke winkel zijn bestaande implementatienamen voor chatmodellen en insluitingsmodellen vereist.
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
| Veld | Required | Description |
|---|---|---|
name |
Yes | De naam van het geheugenarchief. |
description |
No | Een beschrijving van het geheugenarchief. |
chatModel |
Yes | De implementatie van het chatmodel die wordt gebruikt voor het verwerken van geheugeninhoud. |
embeddingModel |
Yes | De insluitingsmodelimplementatie die wordt gebruikt om geheugeninhoud te verwerken. |
options.chatSummaryEnabled |
No | Hiermee schakelt u geheugen voor chatsamenvatting in. |
options.userProfileEnabled |
No | Hiermee schakelt u geheugen voor gebruikersprofielen in. |
options.proceduralMemoryEnabled |
No | Hiermee schakelt u procedureel geheugen in. |
options.defaultTtlSeconds |
No | Hiermee stelt u de standaardretentieperiode in seconden in. Ingesteld 0 op geen vervaldatum. |
options.userProfileDetails |
No | Biedt richtlijnen over de profielgegevens die moeten worden bewaard. |
Bestaande winkels worden niet bijgewerkt tijdens de implementatie. Als de gedeclareerde definitie verschilt van het bestaande archief, azd rapporteert u het verschil. Als u een geheugenarchief declareren, wordt uw agentcode niet gewijzigd of wordt automatisch een geheugenhulpprogramma gekoppeld. Verbind uw toepassing met het geheugenarchief met behulp van het hulpprogramma voor geheugenzoekopdrachten of API's voor geheugenopslag. Zie Geheugen gebruiken met agents voor meer informatie.
Een agenteindpunt configureren
Gebruik agentEndpoint dit om de protocollen en autorisatieschema's te configureren die zijn gepubliceerd door het eindpunt van de agent. Gebruik een agentkaart met een A2A-eindpunt, zodat andere agents de mogelijkheden kunnen detecteren die u beschikbaar maakt.
agentEndpoint:
protocols:
- responses
- a2a
authorizationSchemes:
- type: Entra
U kunt ook definiëren wanneer u wilt bepalen versionSelector.versionSelectionRules welke agentversie eindpuntverkeer ontvangt. Agent Service valideert het eindpuntprotocol en de autorisatiewaarden tijdens de implementatie.
protocols
protocols:
- protocol: responses
version: 2.0.0
| Protocol | Description |
|---|---|
responses |
OpenAI-antwoorden-API. Omvat gespreksgeschiedenisbeheer. |
invocations |
Aangepast nettoladingprotocol. Geen ingebouwd gespreksbeheer. |
a2a |
Agent-naar-agentprotocol voor agentindeling. |
Zie Hosted Agent Runtime-contract voor de volledige protocolspecificatie.
Aanvullende runtimeprotocollen en activiteitseindpunten
Naast responses, invocationsen a2agehoste agents ondersteuning invocations_ws voor WebSocket-aanroepen en activity voor Microsoft 365- en Teams-activiteitsscenario's.
protocols:
- protocol: invocations_ws
version: 2.0.0
- protocol: activity
version: 2.0.0
Voeg voor een activiteitsagent toe activity aan de configuratie van het openbare eindpunt en gebruik het vereiste Bot Service autorisatieschema:
agentEndpoint:
protocols:
- activity
authorizationSchemes:
- type: BotServiceRbac
Het activiteitsprotocol kan naast andere protocollen op hetzelfde agenteindpunt bestaan. Zie Wat zijn gehoste agents voor runtimeprotocolgedrag?
Env
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
LOG_LEVEL: info
De ${ } syntaxis verwijst naar azd omgevingsvariabelen van .azure/<env>/.env.
Opmerking
Declareer FOUNDRY_PROJECT_ENDPOINT niet in env. Het platform injecteert het automatisch in gehoste containers en azd ai agent run stelt het in voor lokale ontwikkeling. Het declareren van het hier is redundant en riskeert schaduw van de platformwaarde.
Platformomgeving, identiteit en eindpunten
Het platform reserveert de FOUNDRY_ en AGENT_ voorvoegsels. Lees platformvariabelen, zoals FOUNDRY_PROJECT_ENDPOINT, uit uw toepassingscode, maar definieer of overschrijf ze niet in env. Door de agent gedefinieerde omgevingswaarden zijn tekenreeksen.
Elke geïmplementeerde gehoste agent ontvangt een toegewezen Microsoft Entra ID agentidentiteit en eindpunt. Voeg geen blok toe identity aan de agentservice.
De agentidentiteit kan standaard gebruikmaken van het projecteindpunt en de sessieopslag.
Wijs de identiteit extra rollen toe wanneer de agent toegang nodig heeft tot externe resources. Zie De referentie voor gehoste agentmachtigingen voor meer informatie.
De protocollen die u declareert, bepalen welke eindpunten actief zijn na de implementatie. Voer deze opdracht uit azd ai agent show om de geïmplementeerde agent en de bijbehorende eindpunt-URL's te inspecteren.
Na de implementatie azd worden de volgende waarden naar de actieve omgeving geschreven met behulp van de genormaliseerde servicenaam in plaats van <SERVICE>:
AGENT_<SERVICE>_NAMEAGENT_<SERVICE>_VERSIONAGENT_<SERVICE>_ENDPOINT-
AGENT_<SERVICE>_<PROTOCOL>_ENDPOINTvoor ingeschakelderesponses,invocationseninvocations_wsprotocollen
Gebruik de protocolspecifieke uitvoer wanneer uw toepassing of automatisering een aanroep-URL nodig heeft. Het basiseindpunt identificeert de geïmplementeerde agentversie voor sessiebeheerbewerkingen.
container
container:
resources:
cpu: "0.25"
memory: 0.5Gi
Instellen cpu van "0.25" tot "4.0", en memory van 0.5Gi tot 8.0Gi.
Broncode-implementatie
Ingesteld codeConfiguration om broncode te implementeren als een ZIP in plaats van een containerinstallatiekopieën. Geef één bestandsnaam of assemblynaam op voor het beginpunt.
azd combineert deze met de geselecteerde runtime wanneer de gehoste agentversie wordt gemaakt.
codeConfiguration:
runtime: python_3_13
entryPoint: main.py
dependencyResolution: remote_build
Gebruik remote_build dit om afhankelijkheden van de projectbronnen te herstellen of te gebruiken bundled wanneer de ZIP linux-compatibele afhankelijkheden bevat. Combineer niet codeConfiguration met containerconfiguratie op basis van installatiekopieën. Zie Een gehoste agent implementeren vanuit broncode voor richtlijnen voor pakketten en afhankelijkheid.
Container-builds en vooraf gemaakte installatiekopieën
Gebruik een Dockerfile under project om een containerinstallatiekopieën te bouwen of om een vooraf gemaakte installatiekopieën image te implementeren:
image: myregistry.azurecr.io/agents/researcher:1.2.3
Wanneer een Dockerfile en een image beide beschikbaar zijn, kiest u de vooraf gemaakte installatiekopieën in de interactieve implementatieprompt. Voor implementatie zonder toezicht stelt u in de actieve azd omgeving in AZD_AGENT_SKIP_ACRtrue om de geconfigureerde installatiekopieën te selecteren. Zie Een gehoste agent implementeren met een privé-Azure Container Registry voor registermachtigingen en privéregisterimplementatie.
Beperkingen voor metagegevens en schema's
Gebruik tekenreekswaarden voor geïmplementeerde metagegevens van agents. De waarde van de authors metagegevens kan een lijst met tekenreeksen zijn. Vertrouw niet op displayNamede geïmplementeerde gehoste agent of inputSchemaoutputSchema configureer de geïmplementeerde gehoste agent. De geïntegreerde configuratie accepteert deze velden, maar de aanvraag voor het maken van een gehoste agent gebruikt deze niet.
azure.ai.connection-service
Een verbinding koppelt het project aan een externe resource. De servicesleutel is de verbindingsnaam en de service is afhankelijk van het project.uses
| Veld | Description |
|---|---|
host |
Moet azure.ai.connectionzijn. |
category |
Verbindingscategorie, bijvoorbeeld CustomKeys, ApiKeyAzureOpenAI, , CognitiveSearchof RemoteTool. |
target |
Doeleindpunt-URL of ARM-resource-id. |
authType |
Verificatietype, bijvoorbeeld ApiKey, CustomKeysAAD, of . ManagedIdentityOAuth2 |
credentials |
Referenties voor de verbinding. Waarden kunnen verwijzingen bevatten ${VAR} . |
metadata |
Aanvullende metagegevens als sleutel-waardeparen. |
github-conn:
host: azure.ai.connection
uses:
- ai-project
category: RemoteTool
target: https://api.githubcopilot.com/mcp
authType: CustomKeys
credentials:
Authorization: ${GITHUB_PAT}
Verbindingswijzigingen zijn van toepassing tijdens azd provision, niet azd deploy. Sla referentiewaarden op in uw azd omgeving en verwijs ernaar in ${VAR} plaats van geheimen in azure.yamlte plaatsen.
azure.ai.toolbox-service
Een werkset is een benoemde bundel hulpprogramma's waarnaar agents verwijzen. Hulpprogramma's met verbindingssteun noemen een azure.ai.connection service via het connection veld.
| Veld | Description |
|---|---|
host |
Moet azure.ai.toolboxzijn. |
description |
Beschrijving van de werkset. |
tools |
Lijst met hulpprogramma's. Elke vermelding heeft een type en, voor hulpprogramma's met ondersteuning voor verbindingen, een connection. |
research-tools:
host: azure.ai.toolbox
uses:
- ai-project
- search-conn
tools:
- type: azure_ai_search
connection: search-conn
- type: code_interpreter
Een agent verwijst naar een werkset door de naam van de werksetservice toe te voegen aan zowel uses als de toolboxes lijst.
Een werkseteindpunt gebruiken
In een split-serviceproject uses bepaalt u de implementatievolgorde. Uw toepassing maakt tijdens runtime verbinding met het MCP-eindpunt van de werkset. Geef de naam of het eindpunt van de werkset door aan uw toepassing door enven bouw vervolgens het consumenteneindpunt vanuit FOUNDRY_PROJECT_ENDPOINT uw agentcode. Zie Een werkset gebruiken met een gehoste agent voor een end-to-end-voorbeeld.
azure.ai.skill en azure.ai.routine-services
Een azure.ai.skill service definieert een herbruikbare gedragsrichtlijn waarnaar agents verwijzen op naam. Een azure.ai.routine service definieert een trigger (planning of gebeurtenis) en een actie die een agent aanroept. Beide zijn afhankelijk van de resources die ze gebruiken.uses Zie Wat is Toolbox in Foundry? en Use routines voor meer informatie over het toevoegen van hulpprogramma's voor het gebruik van agents.
Vaardigheden en routines zijn afzonderlijke resources. Het declareren van een service bepaalt de levenscyclus, maar koppelt niet automatisch een vaardigheid aan de agent of leid een routineactiedoel af. Configureer de verbruikende toepassing of routineactie expliciet.
Afhankelijkheden met gebruik
Het uses veld declareert de services waarop een bepaalde service is gebaseerd.
azd gebruikt deze grafiek om inrichtings- en draadverwijzingen te ordenen, zoals verbindingen en werksets van een agent.
uses:
- ai-project
- search-conn
- research-tools
Bestand bevat met $ref
Elke service- of lijstvermelding kan worden vervangen door een verwijzing naar een extern YAML- of JSON-bestand. Relatieve paden worden omgezet uit het bestand met de $ref. Externe URL's worden niet ondersteund.
services:
triage:
host: azure.ai.agent
uses:
- ai-project
$ref: ./agents/triage.yaml
Met het bestand kunt u grote agentdefinities in hun eigen bestanden bewaren en definities voor verschillende projecten delen.
Bewaar de basisservicevelden in de hoofdvermelding azure.yaml wanneer u een service $refgebruikt: host, uses, languageproject, , imageen docker. Plaats definitievelden van de provider, zoals kind, name, descriptionen protocols, in de toewijzing waarnaar wordt verwezen.
$ref lost lokale YAML- of JSON-bestanden recursief op; URL's en referentiecycli worden niet ondersteund.
Variabele vervanging
Er kunnen twee vervangingssyntaxis worden weergegeven in azure.yaml:
| Syntaxis | Opgelost wanneer | Op wat |
|---|---|---|
${VAR_NAME} |
azd provision of azd deploy |
azd omgevingsvariabelen van .azure/<env>/.env, opgeloste clientzijde. |
${{ ... }} |
Tijdens de uitvoeringstijd | Oplossing aan de serverzijde van Foundry.
azd passeert deze onaangeraakt. |
Infrastructuur en implementatiemodi
standaard Bicep
azd ai agent init is standaard bicep-less: er wordt geen map geschreven infra/ en azd wordt de infrastructuur tijdens de inrichting gesynthetiseert van uw azure.yaml services. Als u infrastructuur als codebestanden wilt materialiseren, moet u ze uitwerpen:
| Command | Resultaat |
|---|---|
azd ai agent init --infra |
Uitwerpt Bicep in ./infra/. |
azd ai agent init --infra=bicep |
Bicep (expliciet) uitwerpen. |
azd ai agent init --infra=terraform |
Hiermee werpt u Terraform en stelt u in infra.provider: terraform. |
Wanneer infra aanwezig is, azure.yamlazd gebruikt u deze bestanden in plaats van infrastructuur te synthetiseren.
Modi implementeren
Een gehoste agent wordt geïmplementeerd in een van de twee modi:
| Mode | Hoe werkt het? | Selecteren |
|---|---|---|
code |
azd uploadt uw bron als een ZIP-bestand en bouwt deze op afstand. Dit is de standaardinstelling voor Python en .NET projecten. |
azd ai agent init --deploy-mode code |
container |
azd bouwt een Docker-installatiekopieën van uw Dockerfile en implementeert deze. |
azd ai agent init --deploy-mode container |
Voor bron-implementaties legt het codeConfiguration veld op de agentservice de runtime en het toegangspunt vast. Stel voor vooraf gedefinieerde installatiekopieën het image veld in de agentservice in en sla de Dockerfile-build over.
Verouderde configuratiemigratie
Oudere agentdefinities kunnen omgevingsvariabelen nesten onder config: env.
Verplaats de env toewijzing in de geïntegreerde azure.yamlservice naar de agentservice:
# 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}
JSON-schemavalidatie
Voeg de schemaverwijzing voor automatisch aanvullen van IDE toe:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json