Partager via


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.

Capture d’écran montrant le processus de génération de demandes et de réponses de bot de l’agent IA.

Configuration requise

Installer Pour l’utilisation...
Visual Studio Code Environnements de build JavaScript, TypeScript ou Python. Utilisez la dernière version.
Toolkit Teams Extension Microsoft Visual Studio Code 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.

Create un nouveau projet d’agent IA

  1. Ouvrez Visual Studio Code.

  2. Sélectionnez l’icône Teams Toolkit dans la barre d’activité Visual Studio Code

  3. Sélectionnez Create une nouvelle application.

    Capture d’écran montrant l’emplacement du lien Create Nouveau projet dans la barre latérale du Kit de ressources Teams.

  4. Sélectionnez Custom Copilot.

    Capture d’écran montrant l’option permettant de sélectionner le projet Copilot personnalisé comme nouveau projet à créer.

  5. Sélectionnez Agent IA.

    Capture d’écran montrant l’option permettant de sélectionner des fonctionnalités d’application à l’aide de la liste des bibliothèques IA.

  6. Pour générer une application, sélectionnez l’une des options suivantes :

    1. Sélectionnez Générer nouveau.

      Capture d’écran montrant l’option permettant de sélectionner les agents IA disponibles.

    2. Sélectionnez JavaScript.

      Capture d’écran montrant l’option permettant de sélectionner le langage de programmation.

    3. 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.

      Capture d’écran montrant l’emplacement où entrer la clé API d’ouverture Azure.

    4. Sélectionnez Dossier par défaut.

      Capture d’écran montrant le dossier d’application location à enregistrer.

      Pour modifier l’emplacement par défaut, procédez comme suit :

      1. Sélectionnez Parcourir.
      2. Sélectionnez l’emplacement de l’espace de travail du projet.
      3. Sélectionnez Sélectionner un dossier.
    5. Entrez un nom d’application pour votre application, puis sélectionnez la touche Entrée .

      Capture d’écran montrant l’option permettant d’entrer le nom approprié.

      Vous avez créé votre bot d’agent IA.

      Capture d’écran montrant le chatbot ai créé et le fichier Lisez-moi est disponible.

    6. Sous EXPLORATEUR, accédez au fichier env.env.testtool.user>.

    7. Mettez à jour les valeurs suivantes :

      • SECRET_AZURE_OPENAI_API_KEY=<your-key>
      • AZURE_OPENAI_ENDPOINT=<your-endpoint>
      • AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>

      Capture d’écran montrant les détails mis à jour dans le fichier env.

    8. 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.

      Capture d’écran montrant la sélection de l’option débogage dans la liste des options.

    L’outil de test ouvre le bot dans une page web.

    Capture d’écran montrant la sortie finale de la génération d’un nouveau bot de l’agent IA.

    Découvrez le code source de l’application bot

    Folder Sommaire
    .vscode Fichiers Visual Studio Code 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.

Create 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
Coût 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);
    

Voir aussi

Bibliothèque d’IA Teams