Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias do Microsoft Azure.
O azure.yaml arquivo é a única configuração de projeto da CLI do Desenvolvedor do Azure (azd) para um projeto de agente hospedado. Ele declara seus recursos do Foundry – o projeto, implantações de modelo, conexões, caixas de ferramentas, habilidades, rotinas e os próprios agentes – como um conjunto de serviços e informa azd como provisioná-los e implantá-los. Esse arquivo unificado substitui o modelo anterior de dois arquivos que divide a configuração entre agent.manifest.yaml e agent.yaml.
Para saber como redigir e criar este arquivo passo a passo, consulte Author azure.yaml para agentes hospedados.
Como o azd usa azure.yaml
A CLI do desenvolvedor Azure simplifica o fluxo de trabalho do desenvolvedor para a nuvem. Ele lida com duas coisas: provisionar Azure recursos, como projetos de Foundry, implantações de modelo e registros de contêiner; e implantar seu código nesses recursos. Para agentes hospedados, a azure.ai.agents extensão adiciona comandos específicos do agente, como azd ai agent init e azd ai agent run.
Cada azd projeto tem um azure.yaml arquivo em sua raiz. Para projetos de agente, esse arquivo é a fonte da verdade tanto para a configuração do agente quanto para a configuração de implantação.
Environments
Um ambiente é uma configuração nomeada, como dev, stagingou prod, que armazena configurações para uma implantação específica. Cada ambiente controla a assinatura e a localização Azure, o grupo de recursos e os nomes de recursos e as variáveis personalizadas definidas. As configurações são armazenadas localmente em .azure/<env-name>/.env. Você pode ter vários ambientes para o mesmo projeto.
Comandos principais
| Command | O que faz |
|---|---|
azd provision |
Cria Azure recursos, como o projeto Foundry, implantações de modelo e registro de contêiner. |
azd deploy |
Empacota e carrega a origem de um build remoto, cria e publica uma imagem de contêiner ou implanta uma imagem predefinida e cria a versão do agente hospedado. |
azd up |
provision Combina e deploy em um comando. |
azd down |
Exclui todos os recursos provisionados. |
azd env set |
Define uma variável de ambiente, por exemplo azd env set MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME=gpt-5.4-mini. |
Compatibilidade de extensão
A azure.ai.agents extensão fornece o azure.ai.agent host. A azure.ai.projects extensão fornece o azure.ai.project host e o provedor de microsoft.foundry infraestrutura. Use azure.ai.agents a versão 1.0.0-beta.8 ou posterior com azure.ai.projects versão 1.0.0-beta.4 ou posterior. Para obter instruções de instalação e atualização, consulte Instalar as extensões da CLI do desenvolvedor do Azure.
Você pode declarar as versões mínimas compatíveis em azure.yaml:
requiredVersions:
azd: ">=1.27.1"
extensions:
azure.ai.agents: ">=1.0.0-beta.8"
azure.ai.projects: ">=1.0.0-beta.4"
Ciclo de vida do provedor de serviços
Instale o microsoft.foundry metapacote quando o projeto incluir conexões, caixas de ferramentas, habilidades ou rotinas. Ele instala as extensões de provedor que implementam os hosts correspondentes azure.ai.* .
| Host de serviço | Extensão do provedor | Aplicado durante |
|---|---|---|
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 |
Os provedores de projeto e conexão aplicam sua configuração durante azd provision. Os provedores de agente, caixa de ferramentas, habilidade e rotina aplicam sua configuração durante azd deploy. Execute azd up para concluir ambas as fases.
Remover um serviço de plano de dados de azure.yaml paradas azd de gerenciá-lo; exclua o recurso remoto separadamente quando você não precisar mais dele.
-
azd down– Exclui o grupo de recursos quando o ambiente atual criou o projeto Foundry. Deixa um projeto existente e seus recursos em vigor. | -
azd env set- Define uma variável de ambiente, por exemploazd env set FOUNDRY_MODEL_NAME=gpt-5.4-mini. |
O modelo de serviço dividido
Em , servicescada entrada é um serviço nomeado com um host campo que identifica o tipo de recurso foundry que ele declara. Os serviços fazem referência uns aos outros por meio do uses campo, que forma um grafo de dependência que azd é resolvido no tempo de provisionamento e implantação. Um projeto típico tem um azure.ai.project serviço que possui as implantações de modelo e um azure.ai.agent serviço que depende dele.
| Host | Resource | Purpose |
|---|---|---|
azure.ai.project |
Projeto de fundição | Possui implantações de modelo e rede privada opcional. |
azure.ai.agent |
Agente hospedado ou prompt | Carrega a definição do agente e suas configurações de build e implantação. |
azure.ai.connection |
Conexão de projeto | Vincula o projeto a um recurso externo, como um servidor MCP ou um índice de pesquisa. |
azure.ai.toolbox |
Caixa de ferramentas (Conjunto de Ferramentas do Foundry) | Um pacote nomeado de ferramentas com suporte de conexão que os agentes fazem referência. |
azure.ai.skill |
Skill | Uma diretriz comportamental reutilizável compartilhada entre agentes. |
azure.ai.routine |
Rotina | Um gatilho mais uma ação que invoca um agente. |
Exemplo mínimo
# 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
Exemplo completo
O projeto a seguir adiciona uma conexão, uma caixa de ferramentas e uma rede privada.
# 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
Campos de nível superior
| Field | Obrigatório | Description |
|---|---|---|
name |
Yes | Project nome. |
requiredVersions.extensions |
No | Restrições mínimas de versão de extensão, por exemplo azure.ai.agents: '>=0.1.0-preview'. |
metadata |
No | Project metadados, como o template identificador. |
services |
Yes | Mapa de nomes de serviço para configurações de serviço. |
infra |
No | Configurações de infraestrutura como código. Presente ao ejetar IaC. |
serviço azure.ai.project
O serviço de projeto provisiona ou se conecta a um projeto do Foundry e possui suas implantações de modelo.
| Field | Description |
|---|---|
host |
Deve ser azure.ai.project. |
endpoint |
URL do ponto de extremidade de um projeto de Foundry existente. Quando definido, azd conecta-se a esse projeto em vez de provisionar um novo. Quando omitido, azd provisiona um novo projeto. |
deployments |
Matriz de implantações de modelo a serem criadas no projeto. |
network |
Rede privada opcional para a conta que apoia o projeto. |
deployments
| Field | Description |
|---|---|
name |
Nome da implantação. |
model.format |
Formato de modelo, por exemplo OpenAI. |
model.name |
Nome do modelo, por exemplo gpt-5.4-mini. |
model.version |
Cadeia de caracteres de versão do modelo. |
sku.name |
Nome do SKU, por exemplo GlobalStandard, Standardou GlobalBatch. |
sku.capacity |
Capacidade de SKU em unidades de tokens por minuto. |
Uma entrada de implantação também pode ser um arquivo externo: - $ref: ./deployments/embeddings.yaml.
rede
Defina network para provisionar uma conta protegida pela rede. O peSubnet campo é necessário e estabelece o ponto de extremidade privado da conta. Adicione agentSubnet para injetar o runtime do agente em sua própria sub-rede (traga sua própria rede virtual) ou omita-o para usar a rede gerenciada por Microsoft. Para obter um passo a passo completo, consulte a rede privada do agente hospedado.
Configuração de rede privada
Use network no azure.ai.project serviço para configurar o ponto de extremidade privado da conta e a saída do agente. O exemplo a seguir usa uma sub-rede gerenciada pelo cliente para o runtime do agente:
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}
| Field | Obrigatório | Description |
|---|---|---|
peSubnet |
Yes | A sub-rede do ponto de extremidade privado da conta do Foundry. Ele requer vnet e name. Adicione prefix quando azd deve criar a sub-rede. |
agentSubnet |
No | Uma sub-rede gerenciada pelo cliente para saída de agente hospedado. Ele requer vnet e namedeve ser uma sub-rede diferente na mesma rede peSubnetvirtual que . |
isolationMode |
No | A postura de saída para saída gerenciada por Microsoft. Use-o somente quando você omitir agentSubnet. Os valores válidos são AllowInternetOutbound e AllowOnlyApprovedOutbound. |
dns.resourceGroup |
No | O grupo de recursos que contém zonas DNS privadas existentes. Omita-o para permitir azd criar e vincular as zonas necessárias. |
dns.subscription |
No | A assinatura que contém zonas DNS privadas existentes. Ele usa como padrão a assinatura de implantação. |
A rede privada desabilita o acesso do plano de dados público para a conta. Não há suporte para um Registro de Contêiner do Azure criado automaticamente com essa configuração. Use a implantação do código-fonte ou especifique um predefinido image.
serviço azure.ai.agent
O serviço de agente carrega a definição do agente e suas configurações de build e implantação. É o serviço que substitui o antigo agent.yaml.
| Field | Description |
|---|---|
host |
Deve ser azure.ai.agent. |
kind |
Tipo de agente. Use hosted para agentes em contêineres criados a partir da origem. |
name |
Nome do agente. Reutilização de um nome cria uma nova versão do agente existente. |
displayName |
Nome de exibição opcional para humanos. |
description |
Descrição opcional do agente. |
project |
Caminho para o diretório de origem do agente, por exemplo src/my-agent. |
language |
Linguagem de build para agentes hospedados. Use docker. |
uses |
A lista de serviços dos quais esse agente depende, como o projeto, as conexões e as caixas de ferramentas. |
protocols |
Protocolos de invocação que o agente implementa. |
env |
Mapa de variáveis de ambiente passadas para o contêiner. |
container |
Configurações de CPU e memória do contêiner. |
startupCommand |
Comando que inicia o servidor do agente, por exemplo python main.py. Usado para azd ai agent run desenvolvimento local e para inicialização de contêiner. |
toolboxes |
Lista de nomes de azure.ai.toolbox serviço que o agente usa em runtime. |
codeConfiguration |
Configurações de implantação de origem (ZIP). Consulte os modos de implantação. |
image |
URL de imagem de contêiner predefinida. Quando definido, azd implanta a imagem diretamente e ignora o build do Dockerfile. |
metadata |
Pares de chave-valor de metadados opcionais. |
agentCard |
Metadados de descoberta no nível do agente, incluindo skills. |
agentCard.skills e azure.ai.skill
agentCard.skills descreve as funcionalidades de um agente em seu cartão de descoberta.
Ele fornece metadados para clientes e não cria ou anexa uma habilidade de Foundry reutilizável. Cada habilidade de cartão requer um id, namee description.
Um azure.ai.skill serviço cria uma habilidade com controle de versão com base em instruções e ferramentas permitidas opcionais. Declare-o separadamente em services; sua uses lista controla a ordem de dependência, mas não preenche agentCard.skills ou anexa a habilidade a um agente. Use agentCard.skills para metadados de descoberta e azure.ai.skill para instruções reutilizáveis.
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
Concluir um cartão de descoberta
Adicionar versione tagsexamples quando os clientes precisarem de metadados de descoberta mais avançados. Um cartão requer um e pelo menos uma description habilidade. Cada habilidade requer um id, namee 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.
Políticas de IA responsável
Use policies para associar uma política de IA responsável ao agente hospedado.
Defina raiPolicyName como a ID de recurso do ARM completa da política:
policies:
- type: rai_policy
raiPolicyName: ${RAI_POLICY_RESOURCE_ID}
O rai_policy tipo e raiPolicyName são necessários. A extensão aplica a primeira política válida na lista à configuração de IA responsável do agente hospedado. Para obter diretrizes de criação e gerenciamento de políticas, consulte Adicionar guardrails aos agentes hospedados.
Armazenamentos de memória
Use memoryStores para criar ou reutilizar repositórios de memória do Foundry antes da implantação.
Cada repositório requer nomes de implantação de modelo de chat e de inserção existentes.
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
| Field | Obrigatório | Description |
|---|---|---|
name |
Yes | O nome do repositório de memória. |
description |
No | Uma descrição do repositório de memória. |
chatModel |
Yes | A implantação do modelo de chat usada para processar o conteúdo da memória. |
embeddingModel |
Yes | A implantação do modelo de inserção usada para processar o conteúdo da memória. |
options.chatSummaryEnabled |
No | Habilita a memória de resumo de chat. |
options.userProfileEnabled |
No | Habilita a memória do perfil do usuário. |
options.proceduralMemoryEnabled |
No | Habilita a memória processual. |
options.defaultTtlSeconds |
No | Define o período de retenção padrão em segundos. Definido 0 para nenhuma expiração. |
options.userProfileDetails |
No | Fornece diretrizes sobre os dados de perfil a serem retidos. |
Os repositórios existentes não são atualizados durante a implantação. Se a definição declarada for diferente do repositório existente, azd relatará a diferença. Declarar um repositório de memória não altera o código do agente ou anexa automaticamente uma ferramenta de memória. Conecte seu aplicativo ao repositório de memória usando a ferramenta de pesquisa de memória ou as APIs do repositório de memória. Para obter detalhes, consulte Usar memória com agentes.
Configurar um ponto de extremidade do agente
Use agentEndpoint para configurar os protocolos e os esquemas de autorização publicados pelo ponto de extremidade do agente. Use um cartão de agente com um ponto de extremidade A2A para que outros agentes possam descobrir os recursos expostos.
agentEndpoint:
protocols:
- responses
- a2a
authorizationSchemes:
- type: Entra
Você também pode definir versionSelector.versionSelectionRules quando precisa controlar qual versão do agente recebe o tráfego de ponto de extremidade. O Serviço de Agente valida os valores de autorização e protocolo de ponto de extremidade durante a implantação.
protocols
protocols:
- protocol: responses
version: 2.0.0
| Protocol | Description |
|---|---|
responses |
API de respostas OpenAI. Inclui o gerenciamento de histórico de conversas. |
invocations |
Protocolo de conteúdo personalizado. Nenhum gerenciamento de conversa interno. |
a2a |
Protocolo de agente para agente para orquestração de agente. |
Para obter a especificação completa do protocolo, consulte o contrato de runtime do agente hospedado.
Protocolos de runtime adicionais e pontos de extremidade de atividade
Além do suporte invocations_ws de invocationsresponsesagentes hospedados para invocações do WebSocket e a2aactivity para cenários de atividade do Microsoft 365 e do Teams.
protocols:
- protocol: invocations_ws
version: 2.0.0
- protocol: activity
version: 2.0.0
Para um agente de atividade, adicione activity à configuração de ponto de extremidade público e use o esquema de autorização de Serviço de Bot necessário:
agentEndpoint:
protocols:
- activity
authorizationSchemes:
- type: BotServiceRbac
O protocolo atividade pode coexistir com outros protocolos no mesmo ponto de extremidade do agente. Para obter o comportamento do protocolo de runtime, consulte o que são agentes hospedados?.
env
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
LOG_LEVEL: info
A ${ } sintaxe faz referência azd a variáveis de ambiente de .azure/<env>/.env.
Observação
Não declare FOUNDRY_PROJECT_ENDPOINT em env. A plataforma injeta-a automaticamente em contêineres hospedados e azd ai agent run a define para desenvolvimento local. Declarar aqui é redundante e corre o risco de sombrear o valor da plataforma.
Ambiente, identidade e pontos de extremidade da plataforma
A plataforma reserva os prefixos e AGENT_ os FOUNDRY_ prefixos. Leia variáveis de plataforma, como FOUNDRY_PROJECT_ENDPOINT, no código do aplicativo, mas não as defina ou substitua em env. Os valores de ambiente definidos pelo agente são cadeias de caracteres.
Cada agente hospedado implantado recebe uma identidade de agente Microsoft Entra ID dedicada e um ponto de extremidade. Não adicione um identity bloco ao serviço do agente.
A identidade do agente pode usar o ponto de extremidade do projeto e o armazenamento de sessão por padrão.
Atribua as funções adicionais de identidade quando o agente precisar acessar recursos externos. Para obter detalhes, consulte a referência de permissões do agente hospedado.
Os protocolos que você declara determinam os pontos de extremidade que estão ativos após a implantação. Execute azd ai agent show para inspecionar o agente implantado e suas URLs de ponto de extremidade.
Após a implantação, azd grava os seguintes valores no ambiente ativo, usando o nome do serviço normalizado no lugar de <SERVICE>:
AGENT_<SERVICE>_NAMEAGENT_<SERVICE>_VERSIONAGENT_<SERVICE>_ENDPOINT-
AGENT_<SERVICE>_<PROTOCOL>_ENDPOINTpara habilitadosresponses,invocationseinvocations_wsprotocolos
Use a saída específica do protocolo quando seu aplicativo ou automação precisar de uma URL de invocação. O ponto de extremidade base identifica a versão do agente implantado para operações de gerenciamento de sessão.
contêiner
container:
resources:
cpu: "0.25"
memory: 0.5Gi
Configurar cpu de "0.25" até "4.0", e memory de 0.5Gi até 8.0Gi.
Implantação de código-fonte
Defina codeConfiguration para implantar o código-fonte como um ZIP em vez de uma imagem de contêiner. Especifique um nome de arquivo de ponto de entrada ou nome do assembly.
azd combina-o com o runtime selecionado quando ele cria a versão do agente hospedado.
codeConfiguration:
runtime: python_3_13
entryPoint: main.py
dependencyResolution: remote_build
Use remote_build para restaurar dependências das fontes do projeto ou use bundled quando o ZIP contiver dependências compatíveis com Linux. Não combine com a codeConfiguration configuração de contêiner baseada em imagem. Para obter diretrizes de empacotamento e dependência, consulte Implantar um agente hospedado do código-fonte.
Compilações de contêiner e imagens predefinidas
Use um Dockerfile abaixo project para criar uma imagem de contêiner ou definir image para implantar uma imagem predefinida:
image: myregistry.azurecr.io/agents/researcher:1.2.3
Quando um Dockerfile e um image estiverem disponíveis, escolha a imagem predefinida no prompt de implantação interativa. Para implantação autônoma, defina AZD_AGENT_SKIP_ACRtrue no ambiente ativo azd para selecionar a imagem configurada. Para obter permissões de registro e implantação de registro privado, consulte Implantar um agente hospedado com uma Registro de Contêiner do Azure privada.
Limitações de metadados e esquema
Use valores de cadeia de caracteres para metadados de agente implantados. O authors valor dos metadados pode ser uma lista de cadeias de caracteres. Não confie displayNameem , inputSchemaou outputSchema para configurar o agente hospedado implantado; a configuração unificada aceita esses campos, mas a solicitação de criação do agente hospedado não os usa.
serviço azure.ai.connection
Uma conexão vincula o projeto a um recurso externo. A chave de serviço é o nome da conexão e o serviço depende do projeto por meio uses.
| Field | Description |
|---|---|
host |
Deve ser azure.ai.connection. |
category |
Categoria de conexão, por exemploCustomKeys, , ApiKey, AzureOpenAIou CognitiveSearchRemoteTool. |
target |
URL do ponto de extremidade de destino ou ID de recurso do ARM. |
authType |
Tipo de autenticação, por exemplo ApiKey, , CustomKeys, AAD, ManagedIdentityou OAuth2. |
credentials |
Credenciais para a conexão. Os valores podem conter ${VAR} referências. |
metadata |
Metadados adicionais como pares chave-valor. |
github-conn:
host: azure.ai.connection
uses:
- ai-project
category: RemoteTool
target: https://api.githubcopilot.com/mcp
authType: CustomKeys
credentials:
Authorization: ${GITHUB_PAT}
As alterações de conexão se aplicam durante azd provision, não azd deploy. Armazene valores de credencial em seu azd ambiente e faça referência a eles ${VAR} em vez de colocar segredos.azure.yaml
serviço azure.ai.toolbox
Uma caixa de ferramentas é um pacote nomeado de ferramentas que os agentes fazem referência. As ferramentas com suporte de conexão nomeam um azure.ai.connection serviço por meio do connection campo.
| Field | Description |
|---|---|
host |
Deve ser azure.ai.toolbox. |
description |
Descrição da caixa de ferramentas. |
tools |
Lista de ferramentas. Cada entrada tem um type e, para ferramentas com backup de conexão, um connection. |
research-tools:
host: azure.ai.toolbox
uses:
- ai-project
- search-conn
tools:
- type: azure_ai_search
connection: search-conn
- type: code_interpreter
Um agente faz referência a uma caixa de ferramentas adicionando o nome do serviço da caixa de ferramentas a ambos uses e à sua toolboxes lista.
Consumir um ponto de extremidade da caixa de ferramentas
Em um projeto de serviço dividido, uses controla a ordem de implantação. Seu aplicativo se conecta ao ponto de extremidade MCP da caixa de ferramentas em runtime. Passe o nome ou o ponto de extremidade da caixa de ferramentas para o aplicativo e env, em seguida, construa o ponto de extremidade do consumidor no código do FOUNDRY_PROJECT_ENDPOINT agente. Para obter um exemplo de ponta a ponta, consulte Usar uma caixa de ferramentas com um agente hospedado.
serviços azure.ai.skill e azure.ai.routine
Um azure.ai.skill serviço define uma diretriz comportamental reutilizável que os agentes fazem referência por nome. Um azure.ai.routine serviço define um gatilho (agendamento ou evento) e uma ação que invoca um agente. Ambos dependem dos recursos que usam por meio usesde . Para saber mais sobre como adicionar ferramentas para uso de agente, consulte o que é a Caixa de Ferramentas na Foundry? e use rotinas.
Habilidades e rotinas são recursos separados. Declarar um serviço controla seu ciclo de vida, mas não anexa automaticamente uma habilidade ao agente ou infere um destino de ação de rotina. Configure explicitamente o aplicativo de consumo ou a ação de rotina.
Dependências com usos
O uses campo declara os serviços dos quais um determinado serviço depende.
azd usa esse grafo para ordenar o provisionamento e conectar referências, como conexões e caixas de ferramentas de um agente.
uses:
- ai-project
- search-conn
- research-tools
O arquivo inclui com $ref
Qualquer entrada de serviço ou lista pode ser substituída por uma referência a um arquivo YAML ou JSON externo. Caminhos relativos resolvidos do arquivo que contém o $ref. Não há suporte para URLs remotas.
services:
triage:
host: azure.ai.agent
uses:
- ai-project
$ref: ./agents/triage.yaml
O arquivo inclui permitir que você mantenha definições de agente grandes em seus próprios arquivos e compartilhe definições entre projetos.
Mantenha os campos de serviço principais na entrada raiz azure.yaml quando você usa um serviço $ref: host, , uses, project, , language, imagee docker. Coloque campos de definição de propriedade do provedor, como kind, name, descriptione protocols, no mapeamento referenciado.
$ref resolve arquivos YAML ou JSON locais recursivamente; Não há suporte para URLs e ciclos de referência.
Substituição de variável
Duas sintaxes de substituição podem aparecer em azure.yaml:
| Sintaxe | Resolvido quando | Pelo que |
|---|---|---|
${VAR_NAME} |
azd provision ou azd deploy |
azd variáveis de ambiente do lado do .azure/<env>/.envcliente resolvido. |
${{ ... }} |
Em tempo de execução | Resolução do lado do servidor do Foundry.
azd passa por estes por intocados. |
Modos de implantação e infraestrutura
sem Bicep por padrão
azd ai agent init é sem bicep por padrão: ele não grava um infra/ diretório e azd sintetiza a infraestrutura de seus azure.yaml serviços no momento da provisionamento. Para materializar arquivos de infraestrutura como código, ejete-os:
| Command | Result |
|---|---|
azd ai agent init --infra |
Ejeta Bicep em ./infra/. |
azd ai agent init --infra=bicep |
Ejeta Bicep (explícito). |
azd ai agent init --infra=terraform |
Ejeta Terraform e define infra.provider: terraform. |
Quando infra estiver presente, azure.yamlazd use esses arquivos em vez de sintetizar a infraestrutura.
Modos de implantação
Um agente hospedado é implantado em um dos dois modos:
| Mode | Como funciona | Como selecionar |
|---|---|---|
code |
azd carrega sua origem como um ZIP e a compila remotamente. Esse é o padrão para projetos Python e .NET. |
azd ai agent init --deploy-mode code |
container |
azd cria uma imagem do Docker a partir da sua Dockerfile e a implanta. |
azd ai agent init --deploy-mode container |
Para implantações de origem, o codeConfiguration campo no serviço do agente captura o runtime e o ponto de entrada. Para imagens predefinidas, defina o image campo no serviço do agente e ignore o build do Dockerfile.
Migração de configuração herdada
Definições de agente mais antigas podem aninhar variáveis de ambiente em config: env.
No unificado azure.yaml, mova o env mapeamento para o serviço do agente:
# 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}
Validação de esquema JSON
Adicione a referência de esquema para preenchimento automático do IDE:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json