Infraestrutura de agente hospedado com o Azure Developer CLI

Importante

Os itens assinalados como (pré-visualização) neste artigo estão atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para trabalhos em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.

Quando executa azd ai agent init --infra ou azd ai agent init --infra=bicep, o Azure Developer CLI (azd) cria automaticamente um diretório infra/ no seu projeto que contém modelos Bicep. Estes modelos definem os recursos Azure de que o seu agente alojado necessita a partir dos serviços declarados em azure.yaml. Executar azd provision implementa os modelos para criar a infraestrutura. Este artigo explica o que esses modelos prevêem e como os personalizar.

O que é provisionado

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

Quando adicionas a infraestrutura do Bicep, os templates baseiam-se no repositório azd-ai-starter-basic e criam os seguintes recursos do Azure:

Resource Purpose
Grupo de recursos Organiza todos os recursos. Com o nome rg-<agent-name>.
Conta de Serviços de IA A conta da Microsoft Foundry.
Projeto de fundição Aloja as capacidades do agente e da IA.
Implementações de modelos Os modelos que o agente utiliza, por exemplo gpt-4.1-mini.
Azure Container Registry Armazena as imagens dos contentores do agente.
Application Insights Monitorização do desempenho dos agentes e telemetria.
área de trabalho do Log Analytics Recolha centralizada de registos.
Identidade gerenciada A identidade atribuída pelo sistema do projeto autentica o blueprint de identidade do agente ao Microsoft Entra ID e mantém atribuições de funções de plataforma.

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

  • Anfitrião de capacidades -- suporta a implementação de agentes alojados no projeto Foundry. Criado quando precisas de armazenamento personalizado de conversas.
  • Ancoragem com o Bing ou Ancoragem com a Pesquisa Personalizada do Bing — para a ferramenta de pesquisa na web.
  • Pesquisa de IA do Azure -- para fundamentação da pesquisa.
  • Armazenamento do Azure -- para operações de ficheiros.

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 fluem os parâmetros

O ficheiro 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 estas referências ${VAR} a partir do ambiente (.azure/<env>/.env) e passa-as para a implementação em Bicep. As saídas da implementação, como o ponto final do projeto Foundry, o nome da implementação do modelo e o ponto final do registo de contentores, são gravadas novamente no ambiente para serem utilizadas por azd deploy, azd ai agent run e pelos comandos de recursos azd ai.

Recursos existentes

Os templates Bicep suportam a ligação a recursos existentes do Azure em vez de criar novos. Isto é útil quando a sua equipa já tem infraestrutura partilhada.

Recurso existente Variáveis de ambiente a definir
Conta de Serviços de IA AZURE_AI_ACCOUNT_NAME
Container Registry AZURE_CONTAINER_REGISTRY_RESOURCE_ID e AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING e APPLICATIONINSIGHTS_RESOURCE_ID

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

Personalize a infraestrutura

O infra/ diretório é uma infraestrutura padrão azd , por isso tens controlo total sobre ele. Para adicionar ou alterar recursos:

  1. Editar infra/main.bicep ou adicionar novos módulos em infra/core/.
  2. Adicionar novos parâmetros a main.parameters.json com associações de ${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 aos ficheiros Bicep persistem ao longo das implementações.

Restrições regionais

O modelo main.bicep restringe location às regiões em que os agentes alojados são suportados. Se precisares de implementar numa região que não está na lista de regiões permitidas, atualiza o decorador @allowed em main.bicep.