Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
La configuration de l’agent standard utilise des ressources Azure client gérées par le client pour stocker l’état de l’agent et conserver toutes les données de l’agent sous votre contrôle. Utilisez la configuration standard lorsque vous avez besoin d’une souveraineté complète des données, de la conformité avec les stratégies de sécurité d’entreprise ou de l’isolation au niveau project.
Dans cette configuration :
- Les états de l’agent (conversations, réponses) sont stockés dans vos propres ressources Azure.
- Vous conservez un contrôle total sur l'emplacement des données et l'accès.
Conseil / Astuce
Pour une configuration plus simple qui utilise des ressources gérées par Microsoft, consultez Configuration de l’environnement et choisissez l’option de configuration de l’agent de base.
Prerequisites
- Un abonnement Azure. Créez-en un gratuitement.
- Un compte Azure Cosmos DB pour NoSQL. Pour connaître les exigences en matière de débit, consultez les exigences de débit Cosmos DB.
- Un compte Azure Storage.
- Ressource Azure AI Search.
- Ressource Azure Key Vault pour la gestion des secrets.
- Azure CLI version 2.50 ou ultérieure. Exécutez
az --versionpour vérifier. - Autorisations suffisantes pour attribuer des rôles. Vous devez avoir le rôle Owner ou Administrateur d'accès utilisateur sur le groupe de ressources.
- Modèle déployé et compatible avec un agent (par exemple, gpt-4o).
Vue d’ensemble des ressources
La configuration standard vous oblige à apporter vos propres ressources BYO afin que toutes les données de l’agent restent dans votre locataire Azure :
| Resource | Qu’est-ce qu’il stocke ? |
|---|---|
| Azure Storage (Storage de fichier BYO) | Fichiers chargés par les développeurs et les utilisateurs finaux |
| Azure AI Search (recherche BYO) | Magasins vectoriels créés par l’agent |
| Azure Cosmos DB (BYO Thread Storage) | Messages, historique des conversations et métadonnées de l’agent |
Toutes les données traitées par le service Foundry Agent sont automatiquement stockées au repos dans ces ressources, ce qui vous aide à répondre aux exigences de conformité et aux normes de sécurité d’entreprise.
Exigences en matière de débit Cosmos DB
Votre compte Azure Cosmos DB pour NoSQL doit avoir une limite de débit totale d’au moins 3000 RU/s. Le débit approvisionné et le mode sans serveur sont pris en charge.
La configuration standard provisionne trois conteneurs dans votre compte Cosmos DB, chacune nécessitant 1 000 RU/s :
| Conteneur | Objectif |
|---|---|
thread-message-store |
Conversations des utilisateurs finaux |
system-thread-message-store |
Messages système internes |
agent-entity-store |
Métadonnées de l’agent (instructions, outils, nom) |
Pour plusieurs projets sous le même compte Foundry, multipliez par le nombre de projets. Par exemple, deux projets nécessitent au moins 6 000 RU/s (3 conteneurs × 1 000 RU/s × 2 projets).
isolation des données au niveau du projet
Le programme d’installation standard applique l’isolation des données de niveau project par défaut. Deux conteneurs de stockage Blob sont automatiquement provisionnés dans votre compte de stockage : l’un pour les fichiers et l’autre pour les données système intermédiaires (segments, embeddings). Trois conteneurs sont provisionnés dans votre compte Cosmos DB : un pour les threads utilisateur, un pour les messages système et un pour les données de configuration de l’agent, comme les instructions, les outils et les noms. Ce comportement par défaut réduit la complexité de la configuration tout en appliquant des limites de données strictes entre les projets.
Hôtes de capacité
Les hôtes de capacité sont des sous-ressources au niveau du compte et du projet qui permettent l’interaction avec le service Agent.
-
Hôte de fonctionnalité de compte : contient un corps de requête qui est vide, sauf pour le paramètre
capabilityHostKind="Agents". - hôte de capacité Project : spécifie les ressources pour le stockage de l’état de l’agent, soit les ressources multilocataires gérées par Microsoft (configuration de base) ou les ressources monolocataires (configuration standard) appartenant au client. L’hôte de capacité du projet fait office de paramètres du projet.
Limites
- Vous ne pouvez pas mettre à jour l'hôte de capacité après sa définition pour un projet ou un compte.
Provisionner des ressources étape par étape
Note
Le portail Foundry prend actuellement en charge uniquement la configuration de l’agent de base. Pour configurer la configuration de l’agent standard, utilisez les étapes manuelles ou le modèle Bicep décrit dans cette section.
Provisionnement manuel
Suivez ces étapes pour provisionner manuellement toutes les ressources nécessaires à la configuration de l’agent standard. Laissez environ 30 à 45 minutes pour le processus d’approvisionnement complet.
Phase 1 : Créer des ressources dépendantes
- Créez ou réutilisez les ressources suivantes. Vous pouvez créer de nouvelles ressources ou transmettre l’ID de ressource des ressources existantes :
- Compte Azure Cosmos DB for NoSQL
- compte Azure Storage
- ressource Azure AI Search
- Azure Key Vault ressource (utilisée pour la gestion des secrets et des chaînes de connexion pour l’infrastructure de l’agent)
- [Facultatif] ressource Azure Application Insights
- [Facultatif] Ressource Foundry existante
Phase 2 : Créer des ressources et des connexions de fonderie
- Créez une ressource Microsoft Foundry.
- Créer des connexions au niveau du compte :
- Créez une connexion de compte à la ressource Application Insights.
- Déployez gpt-4o ou un autre modèle compatible agent.
- Créez un project.
- Créez des connexions de projet :
- [Si fourni] Connexion du projet à la ressource Foundry.
- Connexion du projet au compte Azure Storage.
- Projet de connexion à la ressource Azure AI Search.
- Projet Connexion au compte Cosmos DB.
Phase 3 : Attribuer des rôles à l'identité managée du projet
L'identité managée du projet inclut l'identité managée attribuée par le système (SMI) et l'identité managée attribuée par l'utilisateur (UMI).
- Affectez l'identité managée du projet (pour SMI) aux rôles suivants :
- Opérateur Cosmos DB au niveau du compte pour la ressource Cosmos DB.
- Contributeur du compte de stockage au niveau du compte pour la ressource Compte de stockage.
Phase 4 : Configurer des hôtes de capacité
- Définissez l’hôte de capacité du compte avec une section « properties » vide.
- Configurez l’hôte de capacité du projet avec des connexions à Cosmos DB, Azure Storage et AI Search.
Phase 5 : Attribuer des autorisations de ressources granulaires
- Attribuez à l’identité managée du projet (SMI et UMI) les rôles suivants sur les étendues des ressources spécifiées :
-
Azure AI Search (à attribuer avant ou après la création de l’hôte de capacité) :
- Contributeur de données d'index de recherche
- Contributeur du service de recherche
- conteneur Azure Blob Storage :
<workspaceId>-azureml-blobstore- Contributeur aux données Blob du stockage
- conteneur Azure Blob Storage :
<workspaceId>-agents-blobstore- Propriétaire des données de blob de stockage
-
Base de données Cosmos DB pour NoSQL :
enterprise_memory- Contributeur de données intégré Cosmos DB
- Étendue : Niveau de la base de données pour couvrir tous les conteneurs (aucune attribution de rôle spécifique à un conteneur n’est nécessaire).
-
Azure AI Search (à attribuer avant ou après la création de l’hôte de capacité) :
Phase 6 : Accorder aux développeurs access
- Attribuez à tous les développeurs qui doivent créer ou modifier des agents dans le projet le rôle Azure AI Utilisateur sur l’étendue du projet.
Utiliser un modèle Bicep
Utilisez un compte existant Azure OpenAI, un compte Azure Storage, un compte Azure Cosmos DB pour NoSQL, ou une ressource Azure AI Search en fournissant l’ID complet de ressource Azure Resource Manager (ARM) dans le fichier modèle d’agent standard.
Utiliser une ressource OpenAI Azure existante
Suivez les étapes de configuration de l’environnement pour obtenir l’ID de ressource du compte Foundry Tools.
Dans le fichier de modèle d’agent standard, remplacez l’espace réservé suivant :
existingAoaiResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{serviceName}
Utiliser un compte d'Azure Storage existant pour le stockage de fichiers
Connectez-vous au Azure CLI et sélectionnez l’abonnement avec votre compte storage :
az loginExécutez la commande suivante pour obtenir votre ID de ressource de compte storage :
az storage account show --resource-group <your-resource-group> --name <your-storage-account> --query "id" --output tsvLa sortie est la
aiStorageAccountResourceIDvaleur dont vous avez besoin dans le modèle.Dans le fichier de modèle d’agent standard, remplacez l’espace réservé suivant :
aiStorageAccountResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
Utiliser un compte Azure Cosmos DB for NoSQL existant pour le stockage de fil
Un compte Cosmos DB pour NoSQL Azure est créé pour chaque compte Foundry. Pour les exigences de débit et la mise à l'échelle multi-projets, consultez les exigences de débit de Cosmos DB.
Note
Une capacité RU/s insuffisante dans le compte Cosmos DB entraîne des échecs lors du provisionnement de l’hôte de capacité pendant le déploiement.
Connectez-vous au Azure CLI et sélectionnez l’abonnement avec votre compte Cosmos DB :
az loginExécutez la commande suivante pour obtenir votre ID de ressource de compte Cosmos DB Azure :
az cosmosdb show --resource-group <your-resource-group> --name <your-cosmosdb-account> --query "id" --output tsvLa sortie est la
cosmosDBResourceIdvaleur dont vous avez besoin dans le modèle.Dans le fichier de modèle d’agent standard, remplacez l’espace réservé suivant :
cosmosDBResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}
Utiliser une ressource Azure AI Search existante
Connectez-vous au Azure CLI et sélectionnez l’abonnement avec votre ressource de recherche :
az loginExécutez la commande suivante pour obtenir votre ID de ressource Azure AI Search :
az search service show --resource-group <your-resource-group> --name <your-search-service> --query "id" --output tsvDans le fichier de modèle d’agent standard, remplacez l’espace réservé suivant :
aiSearchServiceResourceId:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}
Vérifier votre configuration
Une fois l’approvisionnement terminé, vérifiez que l’installation fonctionne correctement :
- Dans le Azure portal, accédez à votre project Foundry et vérifiez que toutes les connexions (Storage, Cosmos DB, RECHERCHE IA) apparaissent sous les paramètres de project.
- Vérifiez que l’état de l’hôte de capacité s’affiche comme Réussi pour le compte et le projet.
- Vérifiez les attributions de rôles en accédant à la page Access control (IAM) de chaque ressource et en confirmant que l'identité managée du projet dispose des rôles attendus.
- Créez un agent de test pour confirmer la fonctionnalité de bout en bout.
Résoudre des problèmes courants
| Symptôme | La cause | Résolution |
|---|---|---|
CapabilityHostProvisioningFailed ou si l’état de l’hôte de capacité est Échec |
Débit Cosmos DB insuffisant | Vérifiez que votre compte Cosmos DB a au moins 3000 RU/s (1 000 RU/s par conteneur × 3 conteneurs). Pour plusieurs projets, multipliez par le nombre de projets. |
403 Forbidden lorsque l’agent lit ou écrit des fichiers |
Attributions de rôles de stockage manquantes | Vérifiez que l'identité managée du projet a le rôle Storage Blob Data Contributor sur le conteneur <workspaceId>-azureml-blobstore et le rôle Storage Blob Data Owner sur le conteneur <workspaceId>-agents-blobstore. |
SearchIndexNotFound ou 403 sur les opérations de recherche |
Rôles de recherche manquants | Vérifiez que l’identité managée du projet a à la fois le rôle Search Index Data Contributor et le rôle Search Service Contributor sur votre ressource Azure AI Search. |
AuthorizationFailed lors de la création ou de la modification d’agents |
Rôle d’utilisateur manquant | Attribuez le rôle Utilisateur IA d’Azure au développeur dans le périmètre du projet. |
La requête de mise à jour de l’hôte de capacité renvoie 400 BadRequest |
Mise à jour non prise en charge | Les hôtes de capacité ne peuvent pas être mis à jour après la création. Supprimez et recréez l’project si des modifications de configuration sont nécessaires. |