Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A configuração do agente padrão usa recursos do Azure gerenciados pelo cliente e de locatário único 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 do Azure.
- Você mantém controle total sobre a residência e o acesso aos dados.
Dica
Para uma configuração mais simples que usa recursos gerenciados pela Microsoft, consulte a configuração do ambiente e escolha a opção de configuração básica do agente.
Pré-requisitos
- Uma assinatura do Azure. Crie um gratuitamente.
- Uma conta do Azure Cosmos DB para NoSQL . Para obter requisitos de taxa de transferência, consulte os requisitos de taxa de transferência do Cosmos DB.
- Uma conta de Armazenamento do Azure .
- Um recurso do Pesquisa de IA do Azure .
- Um recurso do Azure Key Vault para gerenciamento de segredos.
- CLI do Azure versão 2.50 ou posterior. Execute
az --versionpara verificar. - Permissões suficientes para atribuir funções. Você precisa da função Proprietário ou Administrador de Acesso de Usuário no grupo de recursos.
- Um modelo compatível com agente implantado (por exemplo, gpt-4o).
Visão geral do recurso
Importante
As configurações padrão exigem que você traga seus próprios recursos (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
Sua conta do Azure Cosmos DB para NoSQL deve ter um limite total de taxa de transferência de pelo menos 3.000 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 do 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 capacidade
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 configuraçã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
- Crie ou reutilize os recursos a seguir. Você pode criar novos recursos ou passar a ID do recurso dos existentes:
- Conta do Azure Cosmos DB para NoSQL
- Conta de Armazenamento do Azure
- Recurso do Pesquisa de IA do Azure
- Recurso do Azure Key Vault (usado para gerenciar segredos e cadeias 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
- Criar um recurso do Microsoft Foundry.
- Criar conexões no nível da conta:
- Crie uma conexão de conta com o recurso do Application Insights.
- Implante o gpt-4o ou outro modelo compatível com o agente.
- Crie um projeto.
- Criar conexões de projeto:
- [Se fornecido] Conexão do projeto com o recurso Foundry.
- Conexão do projeto com a conta de Armazenamento do Azure.
- Conexão do projeto com o recurso do Pesquisa de IA do Azure .
- Conexão do projeto com a 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).
- 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
- Defina o host de funcionalidade da conta com uma seção de propriedades vazia.
- Defina o host de capacidade do projeto com conexões do Cosmos DB, do Armazenamento do Azure e do AI Search.
Fase 5: Atribuir permissões de recurso granular
- Atribua a identidade gerenciada do projeto (SMI e UMI) as seguintes funções nos escopos de recurso especificados:
-
Pesquisa de IA do Azure (atribuir antes ou depois da criação do host de funcionalidade):
- Colaborador de dados do índice de pesquisa
- Colaborador do Serviço de Pesquisa
-
Contêiner de Armazenamento de Blobs do Azure:
<workspaceId>-azureml-blobstore- Colaborador de dados de blob de armazenamento
-
Contêiner de Armazenamento de Blobs do Azure:
<workspaceId>-agents-blobstore- Proprietário de dados de blob de armazenamento
-
Cosmos DB para Banco de Dados NoSQL:
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).
-
Pesquisa de IA do Azure (atribuir antes ou depois da criação do host de funcionalidade):
Fase 6: Conceder acesso ao desenvolvedor
- Atribua a todos os desenvolvedores que precisam criar ou editar agentes no projeto a função de usuário de IA do Azure no escopo do projeto.
Usar um modelo Bicep
Use uma conta existente do Azure OpenAI, da conta de Armazenamento do Azure, do Azure Cosmos DB para conta noSQL ou do recurso do Pesquisa de IA do Azure fornecendo a ID de recurso completa do ARM (Azure Resource Manager) no arquivo de modelo do agente padrão.
Usar um recurso existente do Azure OpenAI
Siga as etapas na Configuração do Ambiente para obter a ID do recurso de conta do Foundry Tools.
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
Entre na CLI do Azure e selecione a assinatura com sua conta de armazenamento:
az loginExecute 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 tsvO resultado é o valor
aiStorageAccountResourceIDque você precisa no modelo.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 existente do Azure Cosmos DB para NoSQL para armazenamento de threads
Uma conta do Azure Cosmos DB para 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.
Entre na CLI do Azure e selecione a assinatura com sua conta do Cosmos DB:
az loginExecute o seguinte comando para obter o ID de recurso da conta do Azure Cosmos DB:
az cosmosdb show --resource-group <your-resource-group> --name <your-cosmosdb-account> --query "id" --output tsvO resultado é o valor
cosmosDBResourceIdque você precisa no modelo.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 existente do Pesquisa de IA do Azure
Entre na CLI do Azure e selecione a assinatura com o recurso de pesquisa:
az loginExecute o seguinte comando para obter a ID do recurso do Pesquisa de IA do Azure :
az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsvNo 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:
- 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.
- Verifique se o status do host de funcionalidade é exibido como Bem-sucedido para a conta e o projeto.
- 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.
- 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 que a identidade gerenciada do projeto tenha as funções de Colaborador de Dados de Índice de Pesquisa e Colaborador de Serviço de Pesquisa no recurso de Pesquisa de IA do Azure . |
AuthorizationFailed ao criar ou editar agentes |
Função de usuário ausente | Atribua a função de usuário de IA do Azure 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. |