Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para más información, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
El azure.yaml archivo es la configuración de proyecto de la CLI de desarrollador (azd) única Azure para un proyecto de agente hospedado. Declara los recursos de Foundry (el proyecto, las implementaciones de modelos, las conexiones, los cuadros de herramientas, las aptitudes, las rutinas y los propios agentes), como un conjunto de servicios, y le indica azd cómo aprovisionarlos e implementarlos. Este archivo unificado reemplaza el modelo de dos archivos anterior que divide la configuración entre agent.manifest.yaml y agent.yaml.
Para obtener información sobre cómo crear y crear este archivo paso a paso, consulte Author azure.yaml for hosted agents (Creación de azure.yaml para agentes hospedados).
Uso de azd azure.yaml
La CLI de Azure Developer simplifica el flujo de trabajo del desarrollador a la nube. Controla dos cosas: aprovisionar Azure recursos, como proyectos de Foundry, implementaciones de modelos y registros de contenedor, e implementar el código en esos recursos. En el caso de los agentes hospedados, la azure.ai.agents extensión agrega comandos específicos del agente, como azd ai agent init y azd ai agent run.
Cada azd proyecto tiene un azure.yaml archivo en su raíz. En el caso de los proyectos de agente, este archivo es el origen de la verdad para la configuración del agente y la configuración de implementación.
Environments
Un entorno es una configuración con nombre, como dev, stagingo prod, que almacena la configuración de una implementación determinada. Cada entorno realiza un seguimiento de la suscripción y la ubicación de Azure, el grupo de recursos y los nombres de recursos, así como las variables personalizadas que establezca. La configuración se almacena localmente en .azure/<env-name>/.env. Puede tener varios entornos para el mismo proyecto.
Comandos principales
| Comando | Qué hace |
|---|---|
azd provision |
Crea Azure recursos, como el proyecto Foundry, las implementaciones de modelos y el registro de contenedor. |
azd deploy |
Empaqueta y carga el origen de una compilación remota, compila y publica una imagen de contenedor, o implementa una imagen precompilada y, a continuación, crea la versión del agente hospedado. |
azd up |
Combina provision y deploy en un solo comando. |
azd down |
Elimina todos los recursos aprovisionados. |
azd env set |
Establece una variable de entorno, por ejemplo azd env set MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME=gpt-5.4-mini. |
Compatibilidad de extensiones
La azure.ai.agents extensión proporciona el azure.ai.agent host. La azure.ai.projects extensión proporciona el azure.ai.project host y el proveedor de microsoft.foundry infraestructura. Use azure.ai.agents la versión 1.0.0-beta.8 o posterior con azure.ai.projects la versión 1.0.0-beta.4 o posterior. Para obtener instrucciones de instalación y actualización, consulte Instalación de las extensiones foundry de la CLI para desarrolladores de Azure.
Puede declarar las versiones mínimas compatibles en 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 del proveedor de servicios
Instale el microsoft.foundry metapaquete cuando el proyecto incluya conexiones, cuadros de herramientas, aptitudes o rutinas. Instala las extensiones de proveedor que implementan los hosts correspondientes azure.ai.* .
| Host de servicio | Extensión de proveedor | 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 |
Los proveedores de proyectos y conexiones aplican su configuración durante azd provision. Los proveedores de agente, cuadro de herramientas, aptitud y rutina aplican su configuración durante azd deploy. Ejecute azd up para completar ambas fases.
Quitar un servicio de plano de datos de deja azd de azure.yaml administrarlo; elimine el recurso remoto por separado cuando ya no lo necesite.
-
azd down: elimina el grupo de recursos cuando el entorno actual creó el proyecto Foundry. Deja un proyecto existente y sus recursos en su lugar. | -
azd env set: establece una variable de entorno, por ejemploazd env set FOUNDRY_MODEL_NAME=gpt-5.4-mini. |
El modelo de split-service
En services, cada entrada es un servicio con nombre con un host campo que identifica el tipo de recurso Foundry que declara. Los servicios se hacen referencia entre sí a través del uses campo , que forma un gráfico de dependencias que azd se resuelve en tiempo de aprovisionamiento e implementación. Un proyecto típico tiene un azure.ai.project servicio que posee las implementaciones del modelo y un azure.ai.agent servicio que depende de él.
| Host | Resource | Purpose |
|---|---|---|
azure.ai.project |
Proyecto de fundición | Posee implementaciones de modelos y redes privadas opcionales. |
azure.ai.agent |
Agente hospedado o de solicitud | Lleva la definición del agente y su configuración de compilación e implementación. |
azure.ai.connection |
Conexión de proyecto | Vincula el proyecto a un recurso externo, como un servidor MCP o un índice de búsqueda. |
azure.ai.toolbox |
Cuadro de herramientas (conjunto de herramientas de fundición) | Un conjunto con nombre de herramientas respaldadas por la conexión a las que hacen referencia los agentes. |
azure.ai.skill |
Aptitud | Una guía de comportamiento reutilizable compartida entre agentes. |
azure.ai.routine |
Routine | Desencadenador más una acción que invoca a un agente. |
Ejemplo 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
Ejemplo completo
El siguiente proyecto agrega una conexión, un cuadro de herramientas y redes privadas.
# 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 nivel superior
| Field | Obligatorio | Description |
|---|---|---|
name |
Sí | Project nombre. |
requiredVersions.extensions |
No | Restricciones de versión de extensión mínimas, por ejemplo azure.ai.agents: '>=0.1.0-preview'. |
metadata |
No | Project metadatos, como el template identificador. |
services |
Sí | Asignación de nombres de servicio a configuraciones de servicio. |
infra |
No | Configuración de infraestructura como código. Presente al expulsar IaC. |
servicio azure.ai.project
El servicio de proyecto aprovisiona o se conecta a un proyecto foundry y posee sus implementaciones de modelo.
| Field | Description |
|---|---|
host |
Debe ser azure.ai.project. |
endpoint |
Dirección URL del punto de conexión de un proyecto foundry existente. Cuando se establece, azd se conecta a ese proyecto en lugar de aprovisionar uno nuevo. Cuando se omite, azd aprovisiona un nuevo proyecto. |
deployments |
Matriz de implementaciones de modelos que se van a crear en el proyecto. |
network |
Redes privadas opcionales para la cuenta que respalda el proyecto. |
deployments
| Field | Description |
|---|---|
name |
Nombre de la implementación. |
model.format |
Formato de modelo, por ejemplo OpenAI. |
model.name |
Nombre del modelo, por ejemplo gpt-5.4-mini. |
model.version |
Cadena de versión del modelo. |
sku.name |
Nombre de la SKU, por ejemplo GlobalStandard, , Standardo GlobalBatch. |
sku.capacity |
Capacidad de SKU en unidades de tokens por minuto. |
Una entrada de implementación también puede ser un archivo externo: - $ref: ./deployments/embeddings.yaml.
network
Establézcalo network en aprovisionar una cuenta protegida por red. El peSubnet campo es obligatorio y establece el punto de conexión privado de la cuenta. Agregue agentSubnet para insertar el entorno de ejecución del agente en su propia subred (traiga su propia red virtual) o omita esta para usar la red administrada Microsoft. Para ver un tutorial completo, consulte Redes privadas del agente hospedado.
Configuración de red privada
Use network en el azure.ai.project servicio para configurar el punto de conexión privado de la cuenta y la salida del agente. En el ejemplo siguiente se usa una subred administrada por el cliente para el entorno de ejecución del 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 | Obligatorio | Description |
|---|---|---|
peSubnet |
Sí | Subred del punto de conexión privado de la cuenta de Foundry. Requiere vnet y name. Agregue prefix cuándo azd debe crear la subred. |
agentSubnet |
No | Una subred administrada por el cliente para la salida del agente hospedado. Requiere vnet y namey deben ser una subred diferente en la misma red virtual que peSubnet. |
isolationMode |
No | Posición de salida para la salida administrada por Microsoft. Úselo solo cuando se omita agentSubnet. Los valores válidos son AllowInternetOutbound y AllowOnlyApprovedOutbound. |
dns.resourceGroup |
No | Grupo de recursos que contiene zonas DNS privadas existentes. Omita esta opción para permitir azd crear y vincular las zonas necesarias. |
dns.subscription |
No | La suscripción que contiene zonas DNS privadas existentes. El valor predeterminado es la suscripción de implementación. |
Las redes privadas deshabilitan el acceso al plano de datos público para la cuenta. No se admite una Azure Container Registry creada automáticamente con esta configuración. Use la implementación de código fuente o especifique un elemento precompilado image.
servicio azure.ai.agent
El servicio del agente lleva la definición del agente y su configuración de compilación e implementación. Es el servicio que reemplaza al antiguo agent.yaml.
| Field | Description |
|---|---|
host |
Debe ser azure.ai.agent. |
kind |
Tipo de agente. Se usa hosted para agentes en contenedor creados a partir del origen. |
name |
Nombre del agente. La reutilización de un nombre crea una nueva versión del agente existente. |
displayName |
Nombre para mostrar descriptivo opcional. |
description |
Descripción opcional del agente. |
project |
Ruta de acceso al directorio de origen del agente, por ejemplo src/my-agent. |
language |
Lenguaje de compilación para agentes hospedados. Utilice docker. |
uses |
Lista de servicios de los que depende este agente, como el proyecto, las conexiones y los cuadros de herramientas. |
protocols |
Protocolos de invocación que implementa el agente. |
env |
Asignación de variables de entorno pasadas al contenedor. |
container |
Configuración de CPU y memoria del contenedor. |
startupCommand |
Comando que inicia el servidor del agente, por ejemplo python main.py. Usado por azd ai agent run para el desarrollo local y para el inicio del contenedor. |
toolboxes |
Lista de nombres de servicio que usa el agente en tiempo de azure.ai.toolbox ejecución. |
codeConfiguration |
Configuración de implementación de origen (ZIP). Consulte Modos de implementación. |
image |
Dirección URL de imagen de contenedor precompilada. Cuando se establece, azd implementa la imagen directamente y omite la compilación de Dockerfile. |
metadata |
Pares clave-valor de metadatos opcionales. |
agentCard |
Metadatos de detección de nivel de agente, incluidos skills. |
agentCard.skills y azure.ai.skill
agentCard.skills describe las funcionalidades de un agente en su tarjeta de detección.
Proporciona metadatos para los clientes y no crea ni adjunta una aptitud foundry reutilizable. Cada aptitud de tarjeta requiere un id, namey description.
Un azure.ai.skill servicio crea una aptitud con versiones a partir de instrucciones y herramientas permitidas opcionales. Anótelo por separado en services; su orden de dependencia controla la uses lista, pero no rellena agentCard.skills ni adjunta la aptitud a un agente. Use agentCard.skills para los metadatos de detección y azure.ai.skill para obtener instrucciones reutilizables.
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
Completar una tarjeta de detección
Agregue version, tagsy examples cuando los clientes necesiten metadatos de detección más completos. Una tarjeta requiere una description aptitud y al menos una aptitud. Cada aptitud requiere un id, namey 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.
Directivas de IA responsables
Use policies para asociar una directiva de IA responsable al agente hospedado.
Establézcalo raiPolicyName en el identificador de recurso arm completo de la directiva:
policies:
- type: rai_policy
raiPolicyName: ${RAI_POLICY_RESOURCE_ID}
El rai_policy tipo y raiPolicyName son necesarios. La extensión aplica la primera directiva válida de la lista a la configuración de ia responsable del agente hospedado. Para obtener instrucciones de creación y administración de directivas, consulte Incorporación de límites de protección a agentes hospedados.
Almacenes de memoria
Use memoryStores para crear o reutilizar almacenes de memoria foundry antes de la implementación.
Cada almacén requiere nombres de implementación existentes del modelo de chat e inserción de modelos.
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 | Obligatorio | Description |
|---|---|---|
name |
Sí | Nombre del almacén de memoria. |
description |
No | Descripción del almacén de memoria. |
chatModel |
Sí | La implementación del modelo de chat que se usa para procesar el contenido de la memoria. |
embeddingModel |
Sí | La implementación del modelo de inserción que se usa para procesar el contenido de la memoria. |
options.chatSummaryEnabled |
No | Habilita la memoria de resumen de chat. |
options.userProfileEnabled |
No | Habilita la memoria del perfil de usuario. |
options.proceduralMemoryEnabled |
No | Habilita la memoria de procedimientos. |
options.defaultTtlSeconds |
No | Establece el período de retención predeterminado en segundos. Establézcalo 0 sin expiración. |
options.userProfileDetails |
No | Proporciona instrucciones sobre los datos de perfil que se van a conservar. |
Los almacenes existentes no se actualizan durante la implementación. Si la definición declarada difiere del almacén existente, azd notifica la diferencia. Declarar un almacén de memoria no cambia el código del agente ni adjunta automáticamente una herramienta de memoria. Conecte la aplicación al almacén de memoria mediante la herramienta de búsqueda de memoria o las API de almacenamiento de memoria. Para más información, consulte Uso de memoria con agentes.
Configuración de un punto de conexión del agente
Use agentEndpoint para configurar los protocolos y esquemas de autorización publicados por el punto de conexión del agente. Use una tarjeta de agente con un punto de conexión A2A para que otros agentes puedan detectar las funcionalidades que expone.
agentEndpoint:
protocols:
- responses
- a2a
authorizationSchemes:
- type: Entra
También puede definir versionSelector.versionSelectionRules cuándo necesita controlar qué versión del agente recibe el tráfico del punto de conexión. El servicio del agente valida los valores de protocolo de punto de conexión y autorización durante la implementación.
protocols
protocols:
- protocol: responses
version: 2.0.0
| Protocol | Description |
|---|---|
responses |
Api de respuestas de OpenAI. Incluye la administración del historial de conversaciones. |
invocations |
Protocolo de carga personalizado. No hay administración de conversaciones integrada. |
a2a |
Protocolo de agente a agente para la orquestación del agente. |
Para obtener la especificación de protocolo completa, consulte Contrato en tiempo de ejecución del agente hospedado.
Protocolos de tiempo de ejecución adicionales y puntos de conexión de actividad
Además responsesde , invocationsy a2a, los agentes hospedados admiten invocations_ws invocaciones de WebSocket y activity para escenarios de actividad de Microsoft 365 y Teams.
protocols:
- protocol: invocations_ws
version: 2.0.0
- protocol: activity
version: 2.0.0
Para un agente de actividad, agregue activity a la configuración del punto de conexión público y use el esquema de autorización Bot Service necesario:
agentEndpoint:
protocols:
- activity
authorizationSchemes:
- type: BotServiceRbac
El protocolo de actividad puede coexistir con otros protocolos en el mismo punto de conexión del agente. Para ver el comportamiento del protocolo en tiempo de ejecución, consulte ¿Qué son los agentes hospedados?.
Entorno
env:
MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME: ${MICROSOFT_FOUNDRY_MODEL_DEPLOYMENT_NAME}
LOG_LEVEL: info
La ${ } sintaxis hace referencia a azd variables de entorno de .azure/<env>/.env.
Note
No declare FOUNDRY_PROJECT_ENDPOINT en env. La plataforma lo inserta automáticamente en contenedores hospedados y azd ai agent run lo establece para el desarrollo local. Declararlo aquí es redundante y corre el riesgo de sombrear el valor de la plataforma.
Entorno de plataforma, identidad y puntos de conexión
La plataforma reserva los FOUNDRY_ prefijos y AGENT_ . Lea las variables de plataforma, como FOUNDRY_PROJECT_ENDPOINT, desde el código de la aplicación, pero no las defina ni invalide en env. Los valores de entorno definidos por el agente son cadenas.
Cada agente hospedado implementado recibe una identidad y un punto de conexión de agente de Microsoft Entra ID dedicados. No agregue un identity bloque al servicio del agente.
La identidad del agente puede usar el punto de conexión del proyecto y el almacenamiento de sesión de forma predeterminada.
Asigne los roles adicionales de identidad cuando el agente necesite acceder a los recursos externos. Para más información, consulte Referencia de permisos del agente hospedado.
Los protocolos que declara determinan los puntos de conexión que están activos después de la implementación. Ejecute azd ai agent show para inspeccionar el agente implementado y sus direcciones URL de punto de conexión.
Después de la implementación, azd escribe los siguientes valores en el entorno activo mediante el nombre del servicio normalizado en lugar de <SERVICE>:
AGENT_<SERVICE>_NAMEAGENT_<SERVICE>_VERSIONAGENT_<SERVICE>_ENDPOINT-
AGENT_<SERVICE>_<PROTOCOL>_ENDPOINTpara protocolos habilitadosresponses,invocations, yinvocations_ws
Use la salida específica del protocolo cuando la aplicación o automatización necesite una dirección URL de invocación. El punto de conexión base identifica la versión del agente implementada para las operaciones de administración de sesión.
container
container:
resources:
cpu: "0.25"
memory: 0.5Gi
Configure cpu de "0.25" hasta "4.0"y memory de 0.5Gi hasta 8.0Gi.
Implementación de código fuente
Establezca codeConfiguration para implementar el código fuente como un archivo ZIP en lugar de una imagen de contenedor. Especifique un nombre de archivo de punto de entrada o un nombre de ensamblado.
azd lo combina con el tiempo de ejecución seleccionado cuando crea la versión del agente hospedado.
codeConfiguration:
runtime: python_3_13
entryPoint: main.py
dependencyResolution: remote_build
Use remote_build para restaurar las dependencias de los orígenes del proyecto o use bundled cuando el archivo ZIP contiene dependencias compatibles con Linux. No se combine codeConfiguration con la configuración de contenedor basada en imágenes. Para obtener instrucciones de empaquetado y dependencia, consulte Implementación de un agente hospedado desde el código fuente.
Compilaciones de contenedores e imágenes precompiladas
Use un Dockerfile elemento en project para compilar una imagen de contenedor o establecer image para implementar una imagen precompilada:
image: myregistry.azurecr.io/agents/researcher:1.2.3
Dockerfile Cuando una y están image disponibles, elija la imagen precompilada en el símbolo del sistema de implementación interactiva. Para la implementación desatendida, establezca AZD_AGENT_SKIP_ACRtrue en el entorno activo azd para seleccionar la imagen configurada. Para obtener permisos del Registro y la implementación del registro privado, consulte Implementación de un agente hospedado con un Azure Container Registry privado.
Limitaciones de metadatos y esquemas
Use valores de cadena para los metadatos del agente implementados. El authors valor de metadatos puede ser una lista de cadenas. No confíe en displayName, inputSchemao outputSchema para configurar el agente hospedado implementado; la configuración unificada acepta estos campos, pero la solicitud de creación del agente hospedado no las usa.
servicio azure.ai.connection
Una conexión vincula el proyecto a un recurso externo. La clave de servicio es el nombre de conexión y el servicio depende del proyecto a través usesde .
| Field | Description |
|---|---|
host |
Debe ser azure.ai.connection. |
category |
Categoría de conexión, por ejemploCustomKeys, , ApiKeyAzureOpenAI, CognitiveSearcho RemoteTool. |
target |
Dirección URL del punto de conexión de destino o identificador de recurso de ARM. |
authType |
Tipo de autenticación, por ejemploApiKey, , CustomKeysAAD, ManagedIdentityo OAuth2. |
credentials |
Credenciales de la conexión. Los valores pueden contener ${VAR} referencias. |
metadata |
Metadatos adicionales como pares clave-valor. |
github-conn:
host: azure.ai.connection
uses:
- ai-project
category: RemoteTool
target: https://api.githubcopilot.com/mcp
authType: CustomKeys
credentials:
Authorization: ${GITHUB_PAT}
Los cambios de conexión se aplican durante azd provision, no azd deploy. Almacene los valores de credenciales en el azd entorno y haga referencia a ellos con ${VAR} en lugar de colocar secretos en azure.yaml.
servicio azure.ai.toolbox
Un cuadro de herramientas es un conjunto con nombre de herramientas a las que hacen referencia los agentes. Las herramientas respaldadas por la conexión asignan un nombre a un azure.ai.connection servicio a través del connection campo .
| Field | Description |
|---|---|
host |
Debe ser azure.ai.toolbox. |
description |
Descripción del cuadro de herramientas. |
tools |
Lista de herramientas. Cada entrada tiene y type , para las herramientas respaldadas por la conexión, un connection. |
research-tools:
host: azure.ai.toolbox
uses:
- ai-project
- search-conn
tools:
- type: azure_ai_search
connection: search-conn
- type: code_interpreter
Un agente hace referencia a un cuadro de herramientas agregando el nombre del servicio del cuadro de herramientas a y uses su toolboxes lista.
Consumo de un punto de conexión del cuadro de herramientas
En un proyecto de servicio dividido, uses controla el orden de implementación. La aplicación se conecta al punto de conexión MCP del cuadro de herramientas en tiempo de ejecución. Pase el nombre del cuadro de herramientas o el punto de conexión a la aplicación a través envde y, a continuación, construya el punto de conexión de consumidor desde FOUNDRY_PROJECT_ENDPOINT en el código del agente. Para obtener un ejemplo completo, consulte Uso de un cuadro de herramientas con un agente hospedado.
servicios azure.ai.skill y azure.ai.routine
Un azure.ai.skill servicio define una guía de comportamiento reutilizable que los agentes hacen referencia por nombre. Un azure.ai.routine servicio define un desencadenador (programación o evento) y una acción que invoca a un agente. Ambos dependen de los recursos que usan a través de uses. Para obtener más información sobre cómo agregar herramientas para el uso del agente, consulte ¿Qué es el cuadro de herramientas en Foundry? y Usar rutinas.
Las aptitudes y rutinas son recursos independientes. Declarar el servicio controla su ciclo de vida, pero no asocia automáticamente una aptitud al agente ni deduce un destino de acción rutinaria. Configure explícitamente la aplicación de consumo o la acción rutinaria.
Dependencias con usos
El uses campo declara los servicios de los que depende un servicio determinado.
azd usa este gráfico para ordenar el aprovisionamiento y para conectar las referencias, como las conexiones y cuadros de herramientas de un agente.
uses:
- ai-project
- search-conn
- research-tools
El archivo incluye con $ref
Cualquier entrada de servicio o lista se puede reemplazar por una referencia a un archivo YAML o JSON externo. Las rutas de acceso relativas se resuelven desde el archivo que contiene .$ref No se admiten direcciones URL remotas.
services:
triage:
host: azure.ai.agent
uses:
- ai-project
$ref: ./agents/triage.yaml
Los archivos incluyen permiten mantener definiciones de agente grandes en sus propios archivos y compartir definiciones entre proyectos.
Mantenga los campos de servicio principales en la entrada raíz azure.yaml cuando use un servicio$ref: host, uses, project, language, y dockerimage. Coloque los campos de definición propiedad del proveedor, como kind, name, descriptiony protocols, en la asignación a la que se hace referencia.
$ref resuelve archivos YAML o JSON locales de forma recursiva; No se admiten direcciones URL ni ciclos de referencia.
Sustitución de variables
Dos sintaxis de sustitución pueden aparecer en azure.yaml:
| Syntax | Resuelto cuando | Por qué |
|---|---|---|
${VAR_NAME} |
azd provision o azd deploy |
azd variables de entorno de .azure/<env>/.env, resueltos en el lado cliente. |
${{ ... }} |
En tiempo de ejecución | Resolución del lado servidor de foundry.
azd pasa estos pasos a través de untouched. |
Modos de infraestructura e implementación
Bicep menos de forma predeterminada
azd ai agent init es menos de bicep de forma predeterminada: no escribe un infra/ directorio y azd sintetiza la infraestructura de azure.yaml los servicios en el momento del aprovisionamiento. Para materializar los archivos de infraestructura como código, expulselos:
| Comando | Result |
|---|---|
azd ai agent init --infra |
Expulsa Bicep en ./infra/. |
azd ai agent init --infra=bicep |
Expulsa Bicep (explícito). |
azd ai agent init --infra=terraform |
Expulsa Terraform y establece infra.provider: terraform. |
Cuando infra está presente en azure.yaml, azd usa esos archivos en lugar de sintetizar la infraestructura.
Modos de implementación
Un agente hospedado se implementa en uno de los dos modos:
| Mode | Cómo funciona | Cómo realizar la selección |
|---|---|---|
code |
azd carga el origen como un archivo ZIP y lo compila de forma remota. Este es el valor predeterminado para los proyectos de Python y .NET. |
azd ai agent init --deploy-mode code |
container |
azd compila una imagen de Docker a partir de Dockerfile e la implementa. |
azd ai agent init --deploy-mode container |
En el caso de las implementaciones de origen, el codeConfiguration campo del servicio del agente captura el tiempo de ejecución y el punto de entrada. Para las imágenes precompiladas, establezca el image campo en el servicio del agente y omita la compilación de Dockerfile.
Migración de configuración heredada
Las definiciones de agente anteriores pueden anidar variables de entorno en config: env.
En el unificado azure.yaml, mueva la env asignación al servicio del 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}
Validación del esquema JSON
Agregue la referencia de esquema para autocompletar del IDE:
# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-dev/main/schemas/v1.0/azure.yaml.json