Créer un bot d’agent IA dans Teams
Un agent IA dans Microsoft Teams est un chatbot conversationnel qui utilise des modèles de langage volumineux (LLM) pour interagir avec les utilisateurs. Il comprend les intentions de l’utilisateur et sélectionne une séquence d’actions, ce qui permet au chatbot d’effectuer des tâches courantes.
Configuration requise
Installer | Pour l’utilisation... |
---|---|
Visual Studio Code | Environnements de build JavaScript, TypeScript ou Python. Utilisez la dernière version. |
Toolkit Teams | Microsoft Visual Studio Code extension qui crée une structure de projet pour votre application. Utilisez la dernière version. |
Node.js | Environnement runtime JavaScript principal. Pour plus d’informations, consultez Node.js table de compatibilité des versions pour le type de projet. |
Microsoft Teams | Microsoft Teams pour collaborer avec toutes les personnes avec lesquelles vous travaillez via des applications de conversation, de réunions et d’appels au même endroit. |
Azure OpenAI | Commencez par créer votre clé API OpenAI pour utiliser le transformateur préentraîné génératif (GPT) d’OpenAI. Si vous souhaitez héberger votre application ou accéder à des ressources dans Azure, vous devez créer un service Azure OpenAI. |
Créer un projet d’agent IA
Ouvrez Visual Studio Code.
Sélectionnez l’icône Teams Toolkit dans la barre d’activité Visual Studio Code
Sélectionnez Créer une application.
Sélectionnez Agent du moteur personnalisé.
Sélectionnez Agent IA.
Pour générer une application, sélectionnez l’une des options suivantes :
Sélectionnez Générer nouveau.
Sélectionnez JavaScript.
Par défaut, le service OpenAI est sélectionné. Vous pouvez éventuellement entrer les informations d’identification pour accéder à OpenAI. Ensuite, sélectionnez Entrée.
Sélectionnez Dossier par défaut.
Pour modifier l’emplacement par défaut, procédez comme suit :
- Sélectionnez Parcourir.
- Sélectionnez l’emplacement de l’espace de travail du projet.
- Sélectionnez Sélectionner un dossier.
Entrez un nom d’application pour votre application, puis sélectionnez la touche Entrée .
Vous avez créé votre bot d’agent IA.
Sous EXPLORATEUR, accédez au fichier env.env.testtool.user>.
Mettez à jour les valeurs suivantes :
SECRET_AZURE_OPENAI_API_KEY=<your-key>
AZURE_OPENAI_ENDPOINT=<your-endpoint>
AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>
Pour déboguer votre application, sélectionnez la touche F5 ou, dans le volet gauche, sélectionnez Exécuter et déboguer (Ctrl+Maj+D), puis sélectionnez Déboguer dans l’outil de test (préversion) dans la liste déroulante.
L’outil de test ouvre le bot dans une page web.
Découvrez le code source de l’application bot
Folder Sommaire .vscode
Visual Studio Code des fichiers pour le débogage. appPackage
Modèles pour le manifeste de l’application Teams. env
Fichiers d’environnement. infra
Modèles de provisionnement de ressources Azure. src
Code source de l’application. Les fichiers suivants peuvent être personnalisés et illustrent un exemple d’implémentation pour vous aider à démarrer :
Fichier Sommaire src/index.js
Configure le serveur d’applications bot. src/adapter.js
Configure l’adaptateur de bot. src/config.js
Définit les variables d’environnement. src/prompts/planner/skprompt.txt
Définit l’invite. src/prompts/planner/config.json
Configure l’invite. src/prompts/planner/actions.json
Définit les actions. src/app/app.js
Gère les logiques métier de l’agent IA. src/app/messages.js
Définit les gestionnaires d’activité de message. src/app/actions.js
Définit les actions d’IA. Voici les fichiers projet spécifiques au Kit de ressources Teams. Pour plus d’informations sur le fonctionnement de Teams Toolkit, consultez un guide complet sur GitHub :
Fichier Sommaire teamsapp.yml
Il s’agit du fichier projet main Teams Toolkit. Le fichier projet définit les propriétés et les définitions d’étape de configuration. teamsapp.local.yml
Cela remplace par des teamsapp.yml
actions qui activent l’exécution et le débogage locaux.teamsapp.testtool.yml
Cela remplace par des teamsapp.yml
actions qui permettent l’exécution et le débogage locaux dans l’outil de test d’application Teams.
Créer un agent IA à l’aide de la bibliothèque IA Teams
Générer nouveau
La bibliothèque IA Teams fournit un flux complet qui simplifie le processus de création de votre propre agent IA. Les concepts importants que vous devez comprendre sont les suivants :
- Actions : une action est une fonction atomique inscrite dans le système d’IA.
- Planificateur : le planificateur reçoit la demande de l’utilisateur, qui se présente sous la forme d’une invite ou d’un modèle d’invite, et retourne un plan pour y répondre. Pour ce faire, utilisez l’IA pour combiner des fonctions atomiques, appelées actions, qui sont inscrites auprès du système IA. Ces actions sont combinées en une série d’étapes qui permettent d’atteindre un objectif.
- Action Planificateur : action Planificateur utilise un LLM pour générer des plans. Il peut déclencher des actions paramétrables et envoyer des réponses textuelles à l’utilisateur.
Générer avec l’API Assistants
L’API Assistants d’OpenAI simplifie l’effort de développement de la création d’un agent IA. OpenAI en tant que plateforme offre des outils prédéfinis tels que l’interpréteur de code, la récupération des connaissances et l’appel de fonction qui simplifient le code que vous devez écrire pour les scénarios courants.
Comparaison | Générer nouveau | Générer avec l’API Assistants |
---|---|---|
Cost | Seuls les coûts des services LLM | Les coûts des services LLM et de l’utilisation d’outils dans l’API Assistants entraînent des coûts supplémentaires. |
Effort de développement | Moyen | Relativement petite |
Services LLM | Azure OpenAI ou OpenAI | OpenAI uniquement |
Exemples d’implémentations dans le modèle | Ce modèle d’application peut discuter et aider les utilisateurs à gérer les tâches. | Ces modèles d’application utilisent l’outil Interpréteur de code pour résoudre les problèmes mathématiques, ainsi que l’outil d’appel de fonction pour obtenir la météo de la ville. |
Limitations | N/A | La bibliothèque IA Teams ne prend pas en charge l’outil de récupération des connaissances. |
Personnaliser le modèle d’application
Personnaliser l’augmentation de l’invite
Le Kit de développement logiciel (SDK) fournit une fonctionnalité permettant d’augmenter l’invite.
- Les actions, qui sont définies dans le
src/prompts/planner/actions.json
fichier, sont insérées dans l’invite. Cela permet au LLM de connaître les fonctions disponibles. - Un texte d’invite interne est inséré dans l’invite pour indiquer à LLM de déterminer les fonctions à appeler en fonction des fonctions disponibles. Ce texte d’invite ordonne à LLM de générer la réponse dans un format json structuré.
- Le Kit de développement logiciel (SDK) valide la réponse LLM et permet à LLM de corriger ou d’affiner la réponse si le format de la réponse est incorrect.
Dans le src/prompts/planner/config.json
fichier , configurez augmentation.augmentation_type
. Les options disponibles sont les suivantes :
-
Sequence
: convient aux tâches qui nécessitent plusieurs étapes ou une logique complexe. -
Monologue
: convient aux tâches qui nécessitent une compréhension et une génération du langage naturel, ainsi qu’une plus grande flexibilité et créativité.
Créer de nouvelles fonctions d’ajout
Dans le
src/prompts/planner/actions.json
fichier , définissez votre schéma d’actions.[ ... { "name": "myFunction", "description": "The function description", "parameters": { "type": "object", "properties": { "parameter1": { "type": "string", "description": "The parameter1 description" }, }, "required": ["parameter1"] } } ]
Dans le
src/app/actions.ts
fichier , définissez les gestionnaires d’actions.// Define your own function export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> { // Implement your function logic ... // Return the result return "..."; }
Dans le
src/app/app.ts
fichier , inscrivez les actions.app.ai.action("myFunction", myFunction);
Personnaliser assistant création
Le src/creator.ts
fichier crée un assistant OpenAI. Vous pouvez personnaliser les assistant en mettant à jour les paramètres, notamment l’instruction, le modèle, les outils et les fonctions.
Créer avec des fonctions d’ajout de l’API Assistants
Lorsque le assistant fournit une fonction et ses arguments pour l’exécution, le Kit de développement logiciel (SDK) aligne cette fonction avec une action préinscription. Il active ultérieurement le gestionnaire d’actions et renvoie le résultat au assistant. Pour intégrer vos fonctions, inscrivez les actions dans l’application.
Dans le
src/app/actions.ts
fichier , définissez les gestionnaires d’actions.// Define your own function export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> { // Implement your function logic ... // Return the result return "..."; }
Dans le
src/app/app.ts
fichier , inscrivez les actions.app.ai.action("myFunction", myFunction);