Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous générez des applications agentiques à l’aide de frameworks open source, vous gérez généralement de nombreuses préoccupations croisées : conteneurisation, configuration du serveur web, sécurité, persistance de la mémoire, mise à l’échelle, instrumentation et restaurations de versions. Ces tâches deviennent encore plus difficiles dans les environnements cloud hétérogènes.
Les agents hébergés dans le service De l’agent Foundry résolvent ces défis pour les utilisateurs Microsoft Foundry. Les agents hébergés appellent des modèles à partir du catalogue de modèles Foundry pour effectuer un raisonnement pendant que votre code personnalisé gère l’orchestration. À l’aide de cette plateforme managée, vous pouvez déployer et exploiter des agents IA en toute sécurité et à grande échelle. Vous pouvez utiliser votre code d’agent personnalisé ou une infrastructure d’agent préférée avec un déploiement et une gestion simplifiés.
Quand utiliser des agents hébergés
Choisissez des agents hébergés plutôt que des agents basés sur des invites lorsque vous devez :
- Bring your own code : utilisez n’importe quelle infrastructure (Agent Framework, LangGraph, Noyau sémantique ou code personnalisé) plutôt que des définitions d’invite uniquement.
- Utilisez des protocoles personnalisés : acceptez les webhooks ou les charges utiles non OpenAI via le protocole Invocations.
- Contrôler les ressources de calcul : spécifiez le CPU et la mémoire pour le bac à sable de votre agent.
- Exécuter des charges de travail avec état : conservez les fichiers et l’état des tours via $HOME et le point de terminaison /files.
Fonctionnement
Vous empaquetez votre agent en tant qu’image conteneur et envoyez-le à Azure Container Registry. Lorsque vous déployez, agent Service extrait l’image, provisionne le calcul, affecte une Microsoft Entra ID dédiée (identité de l’agent) et expose un point de terminaison dédié. Au moment de l’exécution, le code de votre agent gère les demandes des clients et peut appeler des modèles Foundry, des outils de boîte à outils et des services Azure en aval à l’aide de son identité d’agent. La plateforme gère la mise à l’échelle, la persistance de l’état de session, l’observabilité et la gestion du cycle de vie.
Important
Lorsque vous utilisez des agents hébergés avec d’autres produits et services Microsoft, vous devez lire toutes les documentations pertinentes pour ces produits et services et comprendre les risques et considérations de conformité connexes. Si vous utilisez des agents hébergés avec des serveurs tiers, des agents, du code ou des modèles qui ne sont pas Azure modèles directs (« Systèmes tiers »), vous le faites à votre propre risque. Les systèmes tiers sont des produits non Microsoft sous les conditions du produit Microsoft et sont régis par leurs propres termes de licence tiers. Vous êtes responsable de l’utilisation et des coûts associés. Passez en revue toutes les données partagées avec et reçues de systèmes tiers. Tenez compte des pratiques tierces pour la gestion, le partage, la rétention et l’emplacement des données. Il vous incombe de gérer si la circulation des données dépasse la conformité Azure et les limites géographiques de l'organisation de votre entreprise, et d'en maîtriser les implications éventuelles. Microsoft n'a aucune responsabilité vis-à-vis de vous ou d'autres en ce qui concerne l'utilisation de systèmes tiers, et vous êtes responsable de l'implémentation de vos propres atténuations d'IA responsables, telles que les métaprompts, les filtres de contenu ou d'autres systèmes de sécurité.
Concepts clés
Agents hébergés
Les agents hébergés sont des applications IA d'agents conteneurisées qui s'exécutent sur Agent Service. Contrairement aux agents basés sur les invites, qui sont définis entièrement par le biais d’invites et de configuration d’outils dans le portail Foundry, les agents hébergés sont votre propre code empaqueté en tant qu’image conteneur. Vous choisissez l’infrastructure, contrôlez le comportement du runtime et déployez l’image sur une infrastructure gérée par Microsoft.
La plateforme gère automatiquement le cycle de vie du conteneur en fonction de l’activité, en approvisionnant les ressources lorsque vous créez une version et déprovisionnez lorsque le délai d’inactivité est atteint.
Modèle d’isolation
Les agents hébergés s'exécutent dans des sandboxes isolés par session de machine virtuelle. Chaque session dispose d'un bac à sable dédié avec un système de fichiers persistant ($HOME et /files), ce qui permet une mise à l'échelle jusqu'à zéro avec reprise de l'état et démarrages à froid prévisibles. Les sessions sont isolées les unes des autres et l’état est automatiquement restauré lorsqu’une session reprend après avoir été inactive.
Protocoles : réponses et appels
Les conteneurs d’agents hébergés exposent un ou les deux protocoles. Chaque protocole est fourni par une bibliothèque légère qui gère le serveur HTTP, les vérifications d’intégrité et l’intégration d’OpenTelemetry.
Quel protocole dois-je utiliser ?
| Scénario | Protocole | Pourquoi |
|---|---|---|
| Chatbot ou assistant conversationnel | Réponses | La plateforme gère l’historique des conversations, les événements de diffusion en continu et le cycle de vie de session , utilisez n’importe quel KIT de développement logiciel (SDK) compatible OpenAI comme client. |
| Q&A à plusieurs tours avec RAG ou des outils | Réponses | Répartition intégrée des identifiants de conversation et gestion des résultats des outils. |
| Traitement en arrière-plan / traitement asynchrone | Réponses | arrière-plan : vrai avec le sondage et l’annulation pris en charge par la plateforme : aucun code personnalisé n’est nécessaire. |
| Agent publié sur Teams ou M365 | Réponses + Activité | Le protocole Réponses alimente la logique de l’agent ; le protocole d’activité gère l’intégration du canal Teams. |
| Récepteur webhook (GitHub, Stripe, Jira, etc.) | Invocations | Le système externe envoie son propre format de charge utile. Vous ne pouvez pas le modifier pour qu’il corresponde à /responses. |
| Traitement non conversationnel (classification, extraction, traitement en lot) | Invocations | L’entrée est des données structurées, et non un message de conversation. JSON arbitraire en entrée, JSON arbitraire en sortie. |
| Protocole de streaming personnalisé (AG-UI, etc.) | Invocations | AG-UI et d’autres protocoles agent-UI ne sont pas compatibles Avec OpenAI, vous avez besoin d’un contrôle SSE brut. |
| Pont de protocole (GitHub Copilot, systèmes propriétaires) | Invocations | L’appelant a son propre protocole qui ne correspond pas à /responses. |
Conseil
Pas sûr? Commencez par les réponses. Vous pouvez toujours ajouter un point de terminaison d’appel ultérieurement, un agent hébergé peut prendre en charge les deux protocoles simultanément.
Comparaison des protocoles
| Réponses | Invocations | |
|---|---|---|
| Idéal pour | La plupart des agents : la plateforme gère l’historique des conversations, le cycle de vie de streaming et l’exécution en arrière-plan | Agents qui ont besoin d’un contrôle HTTP complet, de charges utiles personnalisées ou de flux de travail asynchrones longs |
| Charge utile | Contrat de compatibilité des réponses avec OpenAI | JSON arbitraire via /invocations : vous définissez le schéma |
| Kit de développement logiciel (SDK) client | N'importe quel kit de développement logiciel (SDK) compatible OpenAI (Python, JS, C#) fonctionne prêt à l'emploi. | Client personnalisé : vous définissez le contrat |
| Historique des sessions | Géré par la plateforme via l’identifiant de conversation | Vous gérez des sessions (en mémoire, Cosmos DB, etc.) |
| Streaming | ResponseEventStream géré par la plateforme avec des événements de cycle de vie | SSE brut : vous mettez en forme et écrivez des événements directement |
| En arrière-plan / de longue durée | Intégré (arrière-plan : vrai + sondage géré par la plateforme) | Suivi manuel des tâches et points de terminaison de sondage personnalisés |
Protocoles supplémentaires
Les agents hébergés prennent également en charge le protocole d’Activité pour l’intégration des canaux de Teams et de M365 (généralement employés avec Réponses) et le protocole A2A pour la délégation d’agent à agent. Les quatre protocoles (réponses, appels, activité et A2A) peuvent être combinés dans un seul agent.
Identité et point de terminaison de l’agent
Chaque agent hébergé déployé sur un projet Foundry obtient son propre Microsoft Entra ID dédié (identité de l’agent) et point de terminaison dédié, tous deux créés automatiquement au moment du déploiement. Vous n’avez pas besoin de configurer manuellement les identités managées ou le routage.
Le point de terminaison est disponible immédiatement après le déploiement : la publication n’est pas requise pour l’accès par programmation :
- Réponses : {project_endpoint}/agents/{name}/endpoint/protocols/openai/v1/responses
- Invocations : {project_endpoint}/agents/{name}/endpoint/protocols/invocations
Les points de terminaison actifs dépendent des protocoles déclarés dans la définition de version de l’agent (défini dans agent.yaml lors de l’utilisation d’azd, ou via container_protocol_versions lors de l’utilisation du Kit de développement logiciel (SDK).
Deux identités sont impliquées :
| Identité | Portée | Objectif |
|---|---|---|
| Microsoft Entra ID (identité de l’agent, par agent) | Créé automatiquement au moment du déploiement | L’identité avec laquelle le conteneur de l’agent s’authentifie au moment de l’exécution. Utilisé pour l’appel de modèle, l’accès aux outils et les services Azure en aval. |
| Identité managée de projet (à l'échelle du projet) | Affecté par le système sur le projet Foundry | Utilisé par la plateforme pour les opérations d’infrastructure (par exemple, lecteur du référentiel container Registry sur le registre de conteneurs). Ce n'est pas l'identité d'exécution de l'agent. |
Lorsque vous déployez avec azd, le rôle RBAC requis (Azure AI User au niveau de l'étendue du compte) est affecté automatiquement à l'ID Microsoft Entra de l'agent. Pour les ressources externes (par exemple, votre propre stockage Azure), vous affectez manuellement RBAC aux Microsoft Entra ID de l'agent.
Lorsqu'ils sont intégrés via des canaux Microsoft 365 (par exemple, Teams), les agents hébergés peuvent également fonctionner au nom de l'utilisateur (OBO). Le Microsoft Entra ID de l'agent peut échanger un jeton utilisateur pour appeler des services en aval en tant qu'utilisateur, sous réserve des stratégies des clients. Pour plus d’informations, consultez les applications de l’agent et les concepts d’identité de l’agent.
Sessions et conversations
Les agents hébergés utilisent des sessions et des conversations pour gérer l’état. Leur fonctionnement dépend du protocole.
Sessions
Un ID de session identifie une session logique avec un état persistant, notamment $HOME et les fichiers chargés via le point de terminaison /files. La plateforme provisionne des ressources de calcul à la demande, et restaure l’état persistant sur celles-ci.
- Persistance de l’état : $HOME et le contenu /files sont conservés entre les tours et les périodes d’inactivité. Lorsque le calcul est inactif et est restauré (sur une infrastructure nouvelle ou existante), l’état de la session est automatiquement restauré.
- Isolation : chaque session est isolée des autres sessions.
- Cycle de vie automatique : les sessions sont créées lors de la première utilisation. La plateforme provisionne et déprovisionne automatiquement les ressources de calcul.
- Durée de vie de la session : les sessions persistent pendant jusqu’à 30 jours. Le délai d’inactivité est de 15 minutes : si aucune requête n’arrive dans cette fenêtre, la plateforme déprovisionne le calcul et conserve l’état de la session.
- API de gestion de session : répertorier les sessions, arrêter les sessions et charger ou télécharger des fichiers par session.
Conversations
Un ID de conversation est un enregistrement durable de l’historique des conversations (messages, appels d’outils et réponses) stocké dans Foundry.
- Persistance : l’historique des conversations est stocké dans Foundry et persiste indépendamment de l'état de calcul.
- Accès entre canaux : les utilisateurs peuvent accéder à la même conversation à partir du terrain de jeu, de l’API, de Teams ou d’autres canaux publiés.
Fonctionnement des sessions et des conversations avec chaque protocole
Protocole réponses : l’ID de conversation est le concept principal. La plateforme gère automatiquement l’historique des conversations et associe un ID de session à chaque conversation. La plateforme retourne l’ID de session au client, qui peut l’utiliser pour charger des fichiers via le point de terminaison /files, ce qui rend ces fichiers disponibles pour le calcul de la conversation.
Protocole d’appel : ID de session est le concept principal. Le client gère directement l’ID de session pour maintenir l’état entre les interactions. Le client peut charger du contenu via le point de terminaison /files à l’aide de l’ID de session pour le rendre disponible pour la session. Il n’existe pas d’historique de conversation géré par la plateforme : vous gérez l’état dans votre propre code.
Cycle de vie du calcul de session
| État | Que se passe-t-il ? |
|---|---|
| Active | Le calcul est en cours d’exécution. Les demandes sont acheminées vers celle-ci. $HOME et le contenu /files sont disponibles. |
| Inactif | Aucune demande pendant 15 minutes. Les ressources de calcul sont désapprovisionnées. L’état de session ($HOME, /files) est conservé. |
| Repris | Le même ID de session est référencé à nouveau. La plateforme provisionne de nouvelles ressources de calcul et restaure l'état persistant. |
Gestion de la sécurité et des données
Traitez un agent hébergé comme le code d’application de production.
Important
Si vous utilisez le service De l’agent Foundry pour héberger des agents qui interagissent avec des modèles, des serveurs ou des agents tiers, vous le faites à votre propre risque. Nous vous recommandons d’examiner toutes les données partagées avec des modèles, des serveurs ou des agents tiers et de comprendre les pratiques tierces pour la rétention et l’emplacement des données. Il est de votre responsabilité de gérer la possibilité que vos données circulent en dehors des limites de conformité et géographiques d'Azure de votre organisation, ainsi que de prendre en compte toutes les implications associées.
- Ne placez pas de secrets dans des images conteneur ou des variables d’environnement. Utilisez des identités managées et des connexions, et stockez des secrets dans un magasin de secrets managés. Pour obtenir des conseils, consultez Configurer une connexion Key Vault.
- Be prudent avec les outils et serveurs non Microsoft. Si votre agent appelle des outils soutenus par des non-services Microsoft, certaines données peuvent être transmises à ces services. Passez en revue les stratégies de partage, de rétention et d’emplacement des données pour tout service non Microsoft que vous connectez.
Détails de la plateforme
Versionnage
Chaque appel pour créer une version produit une version d’agent immuable , un instantané de l’image conteneur, l’allocation de ressources, les variables d’environnement et la configuration du protocole. Les déploiements référencent une version spécifique. Pour mettre à jour votre agent, vous créez une nouvelle version et la plateforme la déploie. Notez que les demandes de création de version de l’agent sans modification des paramètres de version de l’agent tels que l’image conteneur, les variables d’environnement, etc. n’entraînent pas la création d’une nouvelle version. Vous pouvez fractionner le trafic entre les versions avec une répartition pondérée pour prendre en charge les déploiements canary et bleu-vert.
Les variables d’environnement sont le mécanisme principal permettant de transmettre la configuration à votre conteneur au moment de l’exécution (par exemple, le point de terminaison du projet, le nom du déploiement du modèle et les paramètres personnalisés). Ils sont définis par version et sont immuables une fois la version créée.
Boîte à outils dans Foundry
Les agents hébergés accèdent aux outils gérés par Foundry (interpréteur de code, recherche web, Recherche Azure AI, OpenAPI, connexions MCP personnalisées, A2A) via un point de terminaison Toolbox MCP provisionné dans votre projet Foundry. Votre code d’agent se connecte à ce point de terminaison à l’aide de bibliothèques clientes MCP standard. La plateforme n’injecte pas automatiquement des outils. Pour plus d’informations, consultez la boîte à outils Curate basée sur les intentions dans Foundry. Nous vous recommandons d'utiliser l'ensemble d'outils de Foundry pour connecter des outils dans l'agent hébergé avec prise en charge unifiée de l'authentification à travers le passthrough OAuth Identity, l'identité d'agent, l'authentification à base de clé, et d'autres.
Prise en charge linguistique
Les agents hébergés prennent en charge Python et C#. Vous pouvez utiliser n’importe quelle infrastructure d’agent : les bibliothèques de protocole sont indépendantes de l’infrastructure. Pour obtenir des exemples utilisant Microsoft Agent Framework, LangGraph et du code personnalisé, consultez le dépôt foundry-samples.
Tailles de bac à sable
Les bacs à sable d'agent hébergé prennent en charge des allocations de vCPU et de mémoire allant de 0,25 vCPU / 0,5 Gio à 2 vCPU / 4 Gio.
Mise en réseau privé
Les agents hébergés prennent en charge le déploiement dans les ressources Foundry isolées du réseau. Pour plus d’informations, consultez Configurer des réseaux virtuels. Notez que l'Azure Container Registry contenant l'image de votre agent doit actuellement rester accessible via son point de terminaison public ; un ACR sécurisé par un réseau privé n'est pas encore pris en charge.
Limites, tarification et disponibilité (aperçu)
Les agents hébergés sont actuellement en aperçu.
Limitations pendant l'aperçu
| Limite | Portée | Valeur par défaut | Réglable |
|---|---|---|---|
| Nombre maximal de sessions simultanées actives | par abonnement par région | 50 | Oui, avec les demandes de quota pour Support Microsoft |
Prix
La facturation du runtime d’hébergement managé est basée sur la consommation des ressources processeur et mémoire pendant les sessions actives. Pour connaître les tarifs actuels, consultez la page de tarification Foundry.
Disponibilité de la région
Les agents hébergés sont actuellement disponibles dans les régions suivantes :
- USA Est 2
- USA Centre Nord
- Suède Centre
- Centre du Canada
- Asie Sud-Est
- Pologne Centre
- Afrique du Sud Nord
- Corée Centrale
- Inde sud
- Brésil Sud
- USA Ouest
- Ouest des États-Unis 3
- Norvège Est
- Japon Est
- France Centre
- Suisse Nord
- Espagne Centre
- Australie Est
Note
Cette liste sera mise à jour à mesure que d’autres régions deviennent disponibles.
Étapes suivantes
| Tâche | Lien |
|---|---|
| Générer et déployer votre premier agent hébergé | Démarrage rapide : Déployer votre premier agent hébergé |
| Déployer à l’aide du Kit de développement logiciel (SDK) Foundry | Déployer un agent hébergé à l’aide du Kit de développement logiciel (SDK) Foundry |
| Mettre à jour, supprimer, appeler ou transmettre des logs | Gérer les agents hébergés |
| Configurer le suivi et la surveillance | Activer le suivi dans votre projet |
| Évaluer les performances de l’agent | Évaluateurs d’agents |
| Publier sur Teams, M365 ou applications personnalisées | Applications d’agent |
| Parcourir des exemples de code | exemples Python · C# |
Contenu connexe
- Composants d’exécution de l’agent
- Cycle de vie du développement de l’agent
- concepts de l'identité d'Agent dans Microsoft Foundry
- Découvrir des outils dans Les outils Foundry
- documentation Azure Container Registry