Infraestrutura hospedada de agentes com a CLI do Azure Developer

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.

Ao executar azd ai agent init --infra ou azd ai agent init --infra=bicep, a CLI do Azure Developer (azd) cria um diretório infra/ em seu projeto que contém modelos do Bicep. Esses modelos definem os recursos de Azure que seu agente hospedado precisa dos serviços declarados em azure.yaml. A execução azd provision implanta os modelos para criar a infraestrutura. Este artigo explica o que esses modelos provisionam e como personalizá-los.

O que é provisionado

Por padrão, azd ai agent init não cria arquivos de infraestrutura como código. Use --infra ou --infra=bicep para adicionar a infraestrutura do Bicep. Use --infra=terraform para adicionar a infraestrutura do Terraform e definir infra.provider: terraform.

Quando você adiciona a infraestrutura do Bicep, os modelos são baseados no repositório azd-ai-starter-basic e criam os seguintes recursos do Azure:

Resource Purpose
Grupo de recursos Organiza todos os recursos. Intitulado rg-<agent-name>.
Conta dos Serviços de IA A conta do Microsoft Foundry.
Projeto de fundição Hospeda os recursos do agente e da IA.
Implantações de modelos Os modelos que o agente usa, por exemplo gpt-4.1-mini.
Registro de Contêiner do Azure Armazena as imagens de contêiner do agente.
Application Insights Monitoramento de desempenho do agente e telemetria.
espaço de trabalho do Log Analytics Coleção de logs centralizada.
Identidade gerenciada A identidade atribuída ao sistema do projeto que autentica o modelo de identidade do agente no Microsoft Entra ID e contém as atribuições de função da plataforma.

Os modelos criam mais recursos condicionalmente, com base nos serviços e dependências declarados em azure.yaml:

  • Host de capacidade — oferece suporte à implantação de um agente hospedado no projeto do Foundry. Criado quando você precisa de armazenamento personalizado de conversas.
  • Fundamentação com o Bing ou Fundamentação com Pesquisa Personalizada do Bing - para a ferramenta de busca na Web.
  • Pesquisa de IA do Azure - para fundamentação com pesquisa.
  • Armazenamento do Azure-- para operações de arquivo.

Estrutura do Projeto

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)

Como os parâmetros fluem

O arquivo main.parameters.json mapeia variáveis de ambiente azd para parâmetros do 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 resolve essas referências ${VAR} a partir do ambiente (.azure/<env>/.env) e as passa para a implantação no Bicep. As saídas da implantação, como o ponto de extremidade do projeto do Foundry, o nome da implantação do modelo e o ponto de extremidade do registro de contêiner, são gravadas novamente no ambiente para uso por azd deploy, azd ai agent run e os comandos de recurso azd ai.

Recursos existentes

Os modelos de Bicep dão suporte à conexão com recursos de Azure existentes em vez de criar novos. Isso é útil quando sua equipe já tem infraestrutura compartilhada.

Recurso existente Variáveis de ambiente a serem definidas
Conta dos Serviços de IA AZURE_AI_ACCOUNT_NAME
Registro de Contêiner AZURE_CONTAINER_REGISTRY_RESOURCE_ID e AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING e APPLICATIONINSIGHTS_RESOURCE_ID

Defina essas variáveis com azd env set antes de executar azd provision.

Personalizar a infraestrutura

O infra/ diretório é uma infraestrutura padrão azd , portanto, você tem controle total sobre ele. Para adicionar ou alterar recursos:

  1. Editar infra/main.bicep ou adicionar novos módulos em infra/core/.
  2. Adicione novos parâmetros a main.parameters.json com vinculações ${VAR}.
  3. Defina as variáveis de ambiente correspondentes azd com azd env set.
  4. Execute azd provision para aplicar as alterações.

As alterações nos arquivos de Bicep persistem entre implantações.

Restrições de região

O modelo main.bicep restringe location às regiões em que há suporte para agentes hospedados. Se você precisar implantar em uma região que não esteja na lista de permissões, atualize o decorador @allowed em main.bicep.