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.
Azure Functions Hosted Skills est un modèle de programmation permettant de développer des capacités intelligentes hébergées dans le cloud et pilotées par des événements sur Azure Functions. Vous définissez le comportement avec Markdown, des instructions en langage naturel et une configuration déclarative. Vous pouvez intégrer des compétences hébergées à vos applications via les déclencheurs et liaisons Azure Functions, ou apporter votre propre code comme outils si besoin.
Important
Azure Functions Hosted Skills est actuellement en aperçu. Les fonctionnalités, les noms de configuration et les connecteurs pris en charge peuvent changer avant la disponibilité générale.
Une application de compétences hébergée sur Azure Functions est une application de fonctions qui utilise le modèle de programmation de compétences hébergée. Il contient des tâches d’IA définies dans .agent.md des fichiers, et les tâches peuvent éventuellement utiliser des instructions Markdown réutilisables à partir de SKILL.md fichiers. Dans cet article, les compétences hébergées désignent le modèle de programmation, la tâche désigne une unité exécutable individuelle, et la compétence désigne les conseils Markdown réutilisables.
Scenarios
Les compétences hébergées par Azure Functions sont les meilleures pour des charges d’IA axées sur les événements et riches en outils. Les scénarios courants sont les suivants :
- Des tâches HTTP qui reçoivent une requête, appellent des outils et retournent une réponse structurée.
- Tâches planifiées qui exécutent des rapports quotidiens, des récapitulatifs, des workflows de nettoyage ou de rapprochement.
- Tâches en file d’attente ou de messagerie qui traitent des éléments de travail nécessitant le raisonnement du modèle ou des appels à des outils.
- Tâches de modification de données qui réagissent à de nouveaux fichiers, enregistrements ou lignes de base de données modifiés.
- Des tâches déclenchées par un connecteur qui réagissent à des événements provenant de connecteurs gérés, tels que les messages Teams, les courriels Outlook ou les événements du calendrier.
Tip
Pour essayer les compétences hébergées sur Azure Functions, voir Construire une application d’IA événementielle avec des compétences hébergées sur Azure Functions. En utilisant un azd modèle, vous pouvez déployer une application fonctionnelle sur Azure en quelques minutes.
Pourquoi utiliser Functions pour vos applications d’IA ?
Les charges de travail en IA de production nécessitent plus qu’un simple prompt et un modèle. Ils ont besoin de moyens fiables pour démarrer le travail, appeler des systèmes externes, conserver l’historique des conversations, exécuter du code non approuvé en toute sécurité, s’authentifier sans secrets, émettre des données de télémétrie et mettre à l’échelle à la demande.
Functions fournit un modèle de calcul piloté par les événements pour ces préoccupations opérationnelles. Les compétences hébergées par Azure Functions appliquent ce même modèle à votre code IA. Les avantages sont les suivants :
- Les tâches liées à l’IA sont l’unité de travail. Chaque tâche est définie dans un fichier séparé
.agent.mdavec une configuration déclarative et des instructions en langage naturel. - Les événements lancent des tâches. Les fonctions déclenchent des tâches IA à partir de plannings, requêtes HTTP, messages de file d’attente, changements de blobs, événements Event Grid, messages Service Bus et autres événements pris en charge.
- Les fonctionnalités sont configurées en premier, avec du code quand vous en avez besoin. Vous pouvez configurer des tâches pour utiliser des serveurs MCP distants, des serveurs MCP hébergés dans des espaces de noms de connecteurs, des compétences et des exécutions de code en mode bac à sable. Écris tes propres outils basés sur Python pour la logique spécifique à chaque application.
- L’hébergement Azure Functions est intégré. Les compétences hébergées d’Azure Functions prennent en charge les forfaits Flex Consumption, Premium et Dedicated (App Service). Flex Consumption offre une mise à l’échelle jusqu’à zéro, une facturation à la seconde et une mise à l’échelle automatique. Tous les plans prennent en charge l’identité gérée, l’intégration réseau virtuel et les analyses d’application.
- La plomberie opérationnelle est prise en charge pour vous. L’exécution gère la découverte des tâches, l’enregistrement des déclencheurs, l’assemblage des outils, l’historique des sessions et les terminaux intégrés optionnels.
Fonctionne avec d’autres plateformes d’IA Microsoft
Les compétences hébergées par Azure Functions sont complémentaires aux autres offres d’IA Microsoft et peuvent être utilisées en parallèle. Leur point idéal est de développer des capacités intelligentes hébergées dans le cloud et pilotées par des événements sur Azure Functions via un modèle de programmation accessible. Les compétences hébergées peuvent exposer des capacités via HTTP ou MCP pour être utilisées par d’autres applications, agents et harnais d’agents.
Choisissez la capacité Azure qui correspond le mieux à votre situation :
| Scénario | Option |
|---|---|
| Exposer des fonctions déterministes comme outils pour un autre client IA | extension MCP pour Azure Functions |
| Orchestration de longue durée en plusieurs étapes avec validation humaine intégrée | Fonctions durables |
| Créer et gérer des agents IA sans hébergement personnalisé | Microsoft Foundry ou Copilot Studio |
Définition du Project
Une application de compétences hébergée sur Azure Functions est un projet standard d’application de fonctions Python v2, déployé avec des fichiers spécifiques à l’exécution. Les fichiers de projet suivants sont toujours requis pour les applications de fonctions Python :
| File | Purpose |
|---|---|
function_app.py |
Importe create_function_app() et retourne l’application Azure Functions configurée. |
host.json |
Configure l’hôte Azure Functions. |
requirements.txt |
Inclut le package d’exécution Skills hébergé et toutes les dépendances Python spécifiques à l’application. |
Pour plus d’informations, consultez le guide de référence développeur Azure Functions pour les applications Python.
Fichiers de l’environnement d’exécution de l’agent
L’exécution découvre ces fichiers et dossiers, qui sont déployés avec le projet d’application :
| Fichier ou dossier | Purpose |
|---|---|
*.agent.md |
Définit les tâches liées à l’IA. L’en-tête YAML configure la tâche, et le corps Markdown constitue les instructions. Votre projet doit contenir au moins un .agent.md fichier. |
agents.config.yaml |
(Optionnel) Définit les paramètres d’exécution par défaut à l’échelle de l’application, tels que le modèle, le délai d’expiration et les paramètres du bac à sable. |
mcp.json |
Définit les serveurs MCP HTTP distants que les tâches d’IA peuvent utiliser comme outils, y compris des outils de connecteur pour des actions telles que l’envoi d’emails ou la collaboration avec Teams. |
tools/ |
(Optionnel) Contient tous les outils Python personnalisés que vous créez pour fournir des fonctionnalités non déjà fournies par les serveurs MCP, les connexions, les compétences ou les exécutions en sandbox. |
skills/ |
(Facultatif) Contient des SKILL.mdressources d’invite réutilisables que les tâches d’IA peuvent charger selon les besoins. |
Chaque fichier .agent.md comprend un en-tête YAML suivi d’instructions Markdown. Cet exemple définit une tâche d’IA déclenchée par minuterie qui s’exécute quotidiennement à 15h (UTC) :
---
name: Daily Tech News Email
description: Fetches top tech news and emails a summary daily.
trigger:
type: timer_trigger
args:
schedule: "0 0 15 * * *"
---
You are a news assistant. When triggered, do the following:
1. Gather today's top technology news from reputable sources.
1. Summarize the stories in a concise HTML email body.
1. Email the summary to $TO_EMAIL with the subject "Daily Tech News Summary".
La question de départ précise comment la tâche est invoquée. Le corps en Markdown est le bloc d’instructions que l’environnement d’exécution transmet au modèle pendant l’exécution. La substitution de variable d’environnement permet aux instructions et aux valeurs de configuration de référencer les paramètres d’application tels que $TO_EMAIL.
Chaque .agent.md fichier définit une tâche d’IA. Le nom du fichier est utilisé pour déterminer le nom de la fonction Azure et le segment de route pour les points de terminaison intégrés. Le champ name est un nom affiché dans les journaux, les étiquettes et la documentation.
Pour la liste complète des champs de fichiers agents, des options de configuration de l’application et des règles de substitution de variables, consultez la référence des compétences hébergées Azure Functions.
Processus de démarrage d’applications
Lorsque l’hôte Functions charge l’application, la méthode create_function_app découvre les .agent.md fichiers, les serveurs MCP, les compétences et les outils personnalisés du projet. Il valide la configuration, assemble les outils pour chaque tâche, et enregistre les déclencheurs et terminaux requis.
Lorsqu’un déclencheur se déclenche, l’exécution construit la tâche avec ses instructions résolues, son modèle, ses outils et son historique de session, puis l’exécute en utilisant le Microsoft Agent Framework.
Déclencher des tâches d’IA à partir d’événements
L’exécution prend en charge plusieurs déclencheurs dans votre application, mais un seul déclencheur par .agent.md fichier. Une définition de déclencheur a un type objet et un args objet. Il type identifie la liaison de déclenchement et args contient les paramètres spécifiques au déclencheur qui déterminent quel événement lance la tâche IA.
Les modèles de déclencheur courants sont les suivants :
| Modèle | Example |
|---|---|
| Tâche HTTP | Recevez une demande, des outils d’appel et retournez une réponse structurée. |
| Tâche planifiée | Lancez un rapport quotidien, une synthèse, un nettoyage ou un processus de rapprochement. |
| Tâche de file d’attente ou de message | Traitez les éléments de travail qui nécessitent un raisonnement du modèle ou des appels à des outils. |
| Tâche d’événement de stockage ou de base de données | Réagir aux fichiers, enregistrements ou événements modifiés. |
| Tâche déclenchée par le connecteur | Réagir aux événements issus de connecteurs gérés, tels que les messages Teams, les courriels Outlook ou les événements de calendrier supportés par le connecteur. |
Pour les détails de configuration des déclencheurs, les types pris en charge et args les références, consultez la référence des compétences hébergées sur Azure Functions.
Outils d’IA pris en charge
Les compétences hébergées d’Azure Functions prennent en charge plusieurs types d’outils. Commencez avec des capacités configurées, et utilisez des outils Python personnalisés pour la logique spécifique à l'application qui ne correspond pas à ces options.
Serveurs MCP distants
Définissez des serveurs HTTP distants ou HTTP MCP streamables dans mcp.json. Le runtime découvre ces serveurs et met leurs outils à disposition de toutes les tâches d’IA. Utilisez des serveurs MCP distants lorsque les tâches doivent appeler des outils hébergés par un autre service ou composer des capacités au-delà des limites d’applications.
connecteurs Azure
Les connecteurs permettent aux tâches d’IA de travailler avec des services externes sans code client API personnalisé. Un espace de noms de connecteur héberge des connexions, des déclencheurs et des serveurs MCP pour des services tels que Microsoft 365 Outlook, Teams, Salesforce, SAP ou SQL. Utilisez des déclencheurs de connecteurs pour lancer des tâches à partir d’événements externes, et des outils MCP de connecteurs pour appeler des actions de service depuis des instructions de tâche.
Compétences
Stockez les éléments d’invite réutilisables sous le skills/ dossier. Chaque dossier de compétences contient un SKILL.md fichier avec un nom, une description et des instructions de markdown. Le runtime découvre automatiquement des compétences et les rend accessibles aux tâches de l’IA. Les compétences aident à garder les instructions de base petites tout en rendant disponibles des conseils spécifiques au domaine lorsque nécessaire.
Exécution en bac à sable
L’environnement d’exécution peut utiliser les sessions dynamiques d’Azure Container Apps pour fournir un outil execute_python aux tâches d’IA. Cet outil exécute Python dans un pool de sessions isolé, ce qui est utile pour l’exécution du code et l’analyse de données. Configurez le point de terminaison du pool de session dans agents.config.yaml.
Outils de Python personnalisés
Utilisez des outils Python personnalisés pour les capacités spécifiques à chaque application. Ajoutez des fichiers .py au dossier tools/ et annotez les fonctions avec @tool du package d’exécution. Le runtime découvre et enregistre automatiquement ces outils.
Pour des détails de configuration, des tables de champs et des exemples de code pour chaque type d’outil, voir la référence des compétences hébergées Azure Functions.
Sessions et état
Les interactions sur plusieurs tours nécessitent l’historique des sessions. Dans Azure, l’environnement d’exécution stocke l’historique des sessions dans Stockage Blob via le compte AzureWebJobsStorage de l’application de fonction. Pour le développement local, l’environnement d’exécution bascule sur un historique de session fondé sur des fichiers. L’exécution en bac à sable tient également compte de la session et utilise des sessions isolées pour des exécutions non liées.
Observability
À partir de azure-functions-agents-runtime la version 0.1.0b6, l’exécution inclut un ensemble de fonctionnalités d’observabilité encore en développement actif et sujet à modifications.
Pour les dernières configurations, champs de télémétrie et conseils d’utilisation, utilisez la documentation du dépôt d’exécution :
Contenu connexe
- Référence de compétences hébergée sur Azure Functions
- Développez une application d’IA événementielle avec des compétences hébergées sur Azure Functions
- Utilisez les outils et les modèles IA dans Azure Functions
- Builder un serveur MCP distant personnalisé à l’aide de Azure Functions
- Hébergement du plan Flex Consumption