Infraestructura de agente hospedada con la CLI para desarrolladores de Azure

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.

Al ejecutar azd ai agent init, Azure Developer CLI (azd) genera un directorio infra/ en tu proyecto que contiene plantillas de Bicep. Estas plantillas definen todos los recursos Azure que necesita el agente hospedado. Al ejecutar azd provision, se despliegan las plantillas para crear la infraestructura. En este artículo se explica qué aprovisionan esas plantillas y cómo personalizarlas.

Qué se suministra

Las plantillas de Bicep se basan en el repositorio azd-ai-starter-basic y crean los siguientes recursos Azure:

Resource propósito
Grupo de recursos Organiza todos los recursos. Con el nombre rg-<agent-name>
Cuenta de AI Services La cuenta de Microsoft Foundry.
Proyecto de fundición Hospeda las funcionalidades del agente y la inteligencia artificial.
Implementaciones de modelos Los modelos que usa el agente, por ejemplo gpt-4.1-mini.
Azure Container Registry (Registro de Contenedores de Azure) Almacena las imágenes de contenedor del agente.
Application Insights Supervisión y telemetría del rendimiento del agente.
Área de trabajo de Log Analytics Recopilación centralizada de registros.
Identidad administrada La identidad asignada por el sistema del proyecto que autentica la plantilla de identidad del agente en Microsoft Entra ID y mantiene las asignaciones de roles de la plataforma.

Las plantillas crean más recursos de forma condicional, según su configuración agent.yaml:

  • Host de funcionalidad: admite la implementación del agente hospedado en el proyecto Foundry. Se crea cuando necesita almacenamiento personalizado de conversaciones.
  • Fundamentación con Bing o Fundamentación con Bing Custom Search -- para la herramienta de búsqueda en la web.
  • Búsqueda de Azure AI -- para fundamentar la búsqueda.
  • Azure Storage: para las operaciones de archivo.

Estructura del proyecto

infra/
|-- main.bicep                 # Main deployment template (subscription-scoped)
|-- main.parameters.json       # Parameter bindings to azd environment variables
|-- abbreviations.json         # Naming convention abbreviations
\-- core/
    |-- ai/                    # Foundry account, project, and connections
    |-- host/                  # Container registry
    |-- monitor/               # Application Insights and Log Analytics
    |-- search/                # Azure AI Search (conditional)
    \-- storage/               # Azure Storage (conditional)

Cómo fluyen los parámetros

El archivo main.parameters.json asigna variables de entorno azd a parámetros de Bicep:

{
  "environmentName": { "value": "${AZURE_ENV_NAME}" },
  "location": { "value": "${AZURE_LOCATION}" },
  "aiFoundryResourceName": { "value": "${AZURE_AI_ACCOUNT_NAME}" },
  "aiProjectDeploymentsJson": { "value": "${AI_PROJECT_DEPLOYMENTS=[]}" }
}

Durante azd provision, azd resuelve estas ${VAR} referencias desde el entorno (.azure/<env>/.env) y las pasa a la implementación de Bicep. Los resultados de la implementación, como el punto de conexión del proyecto de Foundry, el nombre de la implementación del modelo y el punto de conexión del registro de contenedores, se vuelven a escribir en el entorno para que los usen azd deploy, azd ai agent run y los comandos de recursos de azd ai.

Recursos existentes

Las plantillas de Bicep admiten la conexión a los recursos de Azure existentes en lugar de crear nuevos. Esto resulta útil cuando el equipo ya tiene infraestructura compartida.

Recurso existente Variables de entorno que se van a establecer
Cuenta de AI Services AZURE_AI_ACCOUNT_NAME
Container Registry AZURE_CONTAINER_REGISTRY_RESOURCE_ID y AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING y APPLICATIONINSIGHTS_RESOURCE_ID

Establezca estas variables con azd env set antes de ejecutar azd provision.

Personalización de la infraestructura

El infra/ directorio es una infraestructura estándar azd , por lo que tiene control total sobre él. Para agregar o cambiar recursos:

  1. Edite infra/main.bicep o agregue nuevos módulos en infra/core/.
  2. Añadir nuevos parámetros a main.parameters.json con enlaces de ${VAR}.
  3. Establezca las variables de entorno correspondientes azd con azd env set.
  4. Ejecute azd provision para aplicar los cambios.

Los cambios en los archivos de Bicep persisten entre implementaciones.

Restricciones de región

La main.bicep plantilla restringe location a las regiones donde se admiten los agentes hospedados. Si necesita implementar en una región que no esté en la lista de regiones permitidas, actualice el decorador @allowed en main.bicep.