Configurar recursos de agente padrão (clássico)

Exibição no momento:Versão do portal Foundry (clássico) - Alternar para a versão do novo portal Foundry

Nota

Links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação da Foundry (clássica) que você está exibindo agora.

A instalação do agente padrão usa recursos de Azure de locatário único gerenciados pelo cliente para armazenar o estado do agente e manter todos os dados do agente sob seu controle. Use a configuração padrão quando precisar de soberania de dados completa, conformidade com políticas de segurança corporativa ou isolamento no nível do projeto.

Nesta configuração:

  • Os estados do agente (conversas, respostas) são armazenados em seus próprios recursos de Azure.
  • Você mantém controle total sobre a residência e o acesso aos dados.

Dica

Para obter uma configuração mais simples que usa recursos gerenciados por Microsoft, consulte Environment setup e escolha a opção básica de instalação do agente.

Pré-requisitos

Visão geral do recurso

Importante

As configurações padrão exigem que você use seus próprios recursos (Bring Your Own - BYO) para que todos os dados do agente permaneçam em seu locatário do Azure:

Recurso O que ele armazena
Armazenamento do Azure (Armazenamento de Arquivos BYO) Arquivos carregados por desenvolvedores e usuários finais
IA do Azure Search (Pesquisa BYO) Repositórios de vetores criados pelo agente
Azure Cosmos DB (BYO Thread Storage) Mensagens, histórico de conversas e metadados do agente

Todos os dados processados pelo Serviço do Foundry Agent são armazenados automaticamente em repouso nesses recursos, ajudando você a atender aos requisitos de conformidade e aos padrões de segurança da empresa.

Requisitos de capacidade de processamento do Cosmos DB

Seu Azure Cosmos DB para NoSQL conta deve ter um limite de taxa de transferência total de pelo menos 3000 RU/s. Há suporte para a taxa de transferência provisionada e modos sem servidor .

A instalação padrão provisiona três contêineres em sua conta do Cosmos DB, cada um exigindo 1000 RU/s:

Contêiner Propósito
thread-message-store Conversas do usuário final
system-thread-message-store Mensagens internas do sistema
agent-entity-store Metadados do agente (instruções, ferramentas, nome)

Para vários projetos na mesma conta do Foundry, multiplique pelo número de projetos. Por exemplo, dois projetos exigem pelo menos 6.000 RU/s (3 contêineres × 1.000 RU/s × 2 projetos).

isolamento de dados no nível de projeto

A configuração padrão impõe o isolamento de dados no nível do projeto por padrão. Dois contêineres de armazenamento de blobs são provisionados automaticamente em sua conta de armazenamento: um para arquivos e outro para dados intermediários do sistema (fragmentos, incorporações). Três contêineres são provisionados em sua conta do Cosmos DB: um para threads de usuário, um para mensagens do sistema e outro para dados de configuração do agente, como instruções, ferramentas e nomes. Esse comportamento padrão reduz a complexidade da instalação e ainda impõe limites de dados rígidos entre projetos.

Hosts de recursos

Hosts de capacidade são sub-recursos na conta e no projeto, permitindo a interação com o Serviço de Agente.

  • Host de funcionalidade da conta: tem um corpo de solicitação vazio, com exceção do parâmetro capabilityHostKind="Agents".
  • Host de funcionalidade do projeto: especifica recursos para armazenar o estado do agente, sejam eles recursos multilocatário gerenciados pela Microsoft (configuração básica) ou recursos de único locatário de propriedade do cliente (configuração padrão). O host de funcionalidade do projeto funciona como as configurações do projeto.

Limitações

  • Você não pode atualizar o host de funcionalidade depois que ele é definido para um projeto ou conta.

Provisionar recursos passo a passo

Nota

No momento, o portal do Foundry dá suporte apenas à configuração básica do agente. Para configurar a instalação do agente padrão, use as etapas manuais ou o modelo Bicep descrito nesta seção.

Provisionamento manual

Siga estas etapas para provisionar manualmente todos os recursos necessários para a instalação do agente padrão. Permita aproximadamente de 30 a 45 minutos para o processo de provisionamento completo.

Fase 1: Criar recursos dependentes

  1. Crie ou reutilize os recursos a seguir. Você pode criar novos recursos ou passar a ID do recurso dos existentes:
    • Azure Cosmos DB para conta de NoSQL
    • conta do Armazenamento do Azure
    • Recurso Pesquisa de IA do Azure 
    • Recurso do Azure Key Vault (usado para gerenciar segredos e strings de conexão para a infraestrutura do agente)
    • [Opcional] Recurso do Aplicativo Azure Insights
    • [Opcional] Recurso da Fundição existente

Fase 2: Criar recursos e conexões de fundição

  1. Crie um recurso Microsoft Foundry.
  2. Criar conexões no nível da conta:
    • Crie uma conexão de conta com o recurso do Application Insights.
  3. Implante o gpt-4o ou outro modelo compatível com o agente.
  4. Crie um projeto.
  5. Criar conexões de projeto:
    • [Se fornecido] Conexão do projeto com o recurso Foundry.
    • Conexão do projeto à conta de armazenamento do Azure.
    • Conexão do projeto com o recurso Pesquisa de IA do Azure .
    • Conexão do projeto à conta do Cosmos DB.

Fase 3: Atribuir funções à identidade gerenciada do projeto

A identidade gerenciada do projeto inclui SMI (Identidade Gerenciada) atribuída pelo sistema e UMI (Identidade Gerenciada atribuída pelo usuário).

  1. Atribua a identidade gerenciada do projeto (para SMI) as seguintes funções:
    • Operador do Cosmos DB no nível da conta para o recurso do Cosmos DB.
    • Colaborador da Conta de Armazenamento no nível da conta para o recurso de Conta de Armazenamento.

Fase 4: configurar hosts de capacidade

  1. Defina o host de funcionalidade da conta com uma seção de propriedades vazia.
  2. Defina o host de capacidade do projeto com conexões para Cosmos DB, Armazenamento do Azure e Pesquisa de IA.

Fase 5: Atribuir permissões de recurso granular

  1. Atribua a identidade gerenciada do projeto (SMI e UMI) as seguintes funções nos escopos de recurso especificados:
    • Pesquisa de IA do Azure  (atribua antes ou depois da criação do host de funcionalidade):
      • Colaborador de dados do índice de pesquisa
      • Colaborador do Serviço de Pesquisa
    • Armazenamento de Blobs do Azure Container: <workspaceId>-azureml-blobstore
      • Colaborador de dados de blob de armazenamento
    • Armazenamento de Blobs do Azure Container: <workspaceId>-agents-blobstore
      • Proprietário de dados de blob de armazenamento
    • Cosmos DB for NoSQL Database: enterprise_memory
      • Colaborador de dados internos do Cosmos DB
      • Escopo: Nível de banco de dados para cobrir todos os contêineres (nenhuma atribuição de função específica de contêiner individual é necessária).

Fase 6: Conceder acesso ao desenvolvedor

  1. Atribua a todos os desenvolvedores que precisam criar ou editar agentes no projeto a função Azure Usuário de IA no escopo do projeto.

Usar um modelo de Bicep

Use uma conta existente do OpenAI do Azure, do Armazenamento do Azure, do Azure Cosmos DB for NoSQL ou do Pesquisa de IA do Azure, fornecendo o ID completo do recurso do Azure Resource Manager (ARM) no arquivo de modelo de agente padrão.

Usar um recurso Azure OpenAI existente

  1. Siga as etapas na Configuração do Ambiente para obter a ID do recurso de conta do Foundry Tools.

  2. No arquivo de modelo do agente padrão, substitua o seguinte marcador de posição:

    existingAoaiResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{serviceName}
    

Usar uma conta de Armazenamento do Azure existente para armazenamento de arquivos

  1. Entre no CLI do Azure e selecione a assinatura com sua conta de armazenamento:

    az login
    
  2. Execute o seguinte comando para obter a ID do recurso da conta de armazenamento:

    az storage account show --resource-group <your-resource-group> --name <your-storage-account> --query "id" --output tsv
    

    A saída é o aiStorageAccountResourceID valor necessário no modelo.

  3. No arquivo de modelo do agente padrão, substitua o seguinte marcador de posição:

    aiStorageAccountResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
    

Usar uma conta NoSQL existente do Azure Cosmos DB para armazenamento de threads

Uma conta do Azure Cosmos DB de NoSQL é criada para cada conta do Foundry. Para obter requisitos de taxa de transferência e dimensionamento de vários projetos, consulte os requisitos de taxa de transferência do Cosmos DB.

Nota

A capacidade insuficiente de RU/s na conta do Cosmos DB resulta em falhas no provisionamento do host de capacidade durante a implantação.

  1. Entre no CLI do Azure e selecione a assinatura com sua conta do Cosmos DB:

    az login
    
  2. Execute o seguinte comando para obter o identificador de recurso da conta do Azure Cosmos DB:

    az cosmosdb show --resource-group <your-resource-group> --name <your-cosmosdb-account> --query "id" --output tsv
    

    A saída é o cosmosDBResourceId valor necessário no modelo.

  3. No arquivo de modelo do agente padrão, substitua o seguinte marcador de posição:

    cosmosDBResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}
    

Usar um recurso de Pesquisa de IA do Azure  existente

  1. Entre no CLI do Azure e selecione a assinatura com o recurso de pesquisa:

    az login
    
  2. Execute o seguinte comando para obter a ID do recurso Pesquisa de IA do Azure :

    az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsv
    
  3. No arquivo de modelo do agente padrão, substitua o seguinte marcador de posição:

    aiSearchServiceResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}
    

Verificar sua configuração

Depois de concluir o provisionamento, verifique se a configuração está funcionando corretamente:

  1. No portal do Azure, navegue até seu projeto do Foundry e confirme se todas as conexões (Armazenamento, Cosmos DB, Pesquisa de IA) aparecem nas configurações do projeto.
  2. Verifique se o status do host de funcionalidade é exibido como Bem-sucedido para a conta e o projeto.
  3. Verifique as atribuições de função navegando até a página IAM (controle de acesso) de cada recurso e confirmando que a identidade gerenciada do projeto tem as funções esperadas.
  4. Crie um agente de teste para confirmar a funcionalidade de ponta a ponta.

Solucionar problemas comuns

Sintoma Causa Resolução
CapabilityHostProvisioningFailed ou o status de funcionalidade do host mostra falha Taxa de transferência de dados insuficiente do Cosmos DB Verifique se sua conta do Cosmos DB tem pelo menos 3.000 RU/s (1.000 RU/s por contêiner × 3 contêineres). Para vários projetos, multiplique pelo número de projetos.
403 Forbidden quando o agente lê ou grava arquivos Ausência de atribuições de função de armazenamento Verifique se a identidade gerenciada do projeto tem Colaborador de Dados de Blob de Armazenamento no contêiner <workspaceId>-azureml-blobstore e Proprietário de Dados de Blob de Armazenamento no contêiner <workspaceId>-agents-blobstore.
SearchIndexNotFound ou 403 em operações de pesquisa Funções de busca ausentes Confirme se a identidade gerenciada do projeto tem a função de Colaborador de Dados do Índice de Pesquisa e a função de Colaborador do Serviço de Pesquisa no recurso de Pesquisa do Azure AI.
AuthorizationFailed ao criar ou editar agentes Função de usuário ausente Atribua a função Usuário do Azure AI ao desenvolvedor no escopo do projeto.
Solicitação de atualização para o host de capacidade retorna 400 BadRequest Atualização sem suporte Os hosts de funcionalidade não podem ser atualizados após a criação. Exclua e recrie o projeto se forem necessárias alterações de configuração.