Partager via


Bibliothèque d’IA Teams

La bibliothèque IA Teams est une interface centrée sur Teams qui permet d’intégrer des modèles de langage basés sur GPT et des moteurs d’intention utilisateur. Il simplifie le processus de développement en réduisant la nécessité d’écrire et de gérer une logique de bot conversationnelle complexe.

Représentation visuelle d’une entrée utilisateur et d’une réponse de bot.

Vous pouvez tirer parti des extraits de code prédéfinis et réutilisables qui vous permettent de créer rapidement des applications intelligentes. Cette approche basée sur les fonctionnalités vous permet de vous concentrer sur la logique métier plutôt que d’apprendre les subtilités des frameworks conversationnels Microsoft Teams.

Pourquoi utiliser la bibliothèque IA Teams ?

La bibliothèque IA Teams permet à vos applications d’impliquer les utilisateurs dans des interactions naturelles et conversationnelles. Ces interactions peuvent être guidées vers des fonctionnalités ou des tâches d’application spécifiques, ce qui permet à votre application de mieux comprendre et traiter l’intention de l’utilisateur.

Vous pouvez vous appuyer sur les fonctionnalités de bot conversationnel intégrées dans Teams (telles que Power Virtual Agents ou Bot Framework) pour gérer les complexités du traitement en langage naturel.

Capture d’écran montrant les avantages de l’utilisation de la bibliothèque IA Teams.

Vous pouvez tirer parti de la bibliothèque IA Teams pour :

  • Utilisez des modèles prédéfinis pour ajouter des fonctionnalités d’application Teams.
  • Utilisez des techniques telles que l’ingénierie d’invite pour ajouter des ChatGPT telles que des expériences de conversation à votre bot et des fonctionnalités de sécurité intégrées, telles que la modération, pour vous assurer que votre bot répond toujours de manière appropriée.
  • Utilisez le moteur de planification de la bibliothèque qui permet au modèle d’identifier l’intention de l’utilisateur, puis mappe cette intention aux actions que vous implémentez.
  • Ajoutez la prise en charge de n’importe quel LLM de votre choix sans modifier la logique du bot.

La bibliothèque IA Teams prend en charge JavaScript et C#. Il vous permet d’exploiter les fonctionnalités d’IA pour créer des applications intelligentes et conviviales pour Microsoft Teams. La bibliothèque offre la flexibilité nécessaire pour créer des expériences basées sur l’IA à l’aide des outils et des langages qui correspondent le mieux aux besoins de votre projet et garantit les meilleurs résultats possibles pour vos utilisateurs Teams.

En quoi les fonctionnalités de la bibliothèque d’IA Teams m’tirent-elles avantage ?

La bibliothèque IA Teams offre une variété de fonctionnalités qui peuvent simplifier le développement de votre agent de moteur personnalisé.

En tant que développeur, je souhaite créer un lightbot intelligent qui contrôle la lumière en réponse à la commande de l’utilisateur. J’envisage d’utiliser la bibliothèque IA Teams en raison de ses fonctionnalités qui peuvent faciliter la création de mon agent de moteur personnalisé. Je veux que mon lightbot alimenté par l’IA améliore l’expérience utilisateur et les empêche de s’impliquer davantage.

Comment puis-je utiliser la bibliothèque IA Teams pour m’assurer que mon agent de moteur personnalisé fonctionne correctement et offre aux utilisateurs une expérience amusante et interactive ?

Localiser

La bibliothèque IA Teams utilise le modèle GPT d’OpenAI pour la localisation. Les entrées utilisateur dans n’importe quelle langue sont traduites en intentions, entités et actions. Cette approche élimine la nécessité de gérer les enregistrements de localisation.

Modularité LLM

Un LLM génère un texte en langage naturel cohérent et diversifié à l’aide de variables latentes. La bibliothèque IA Teams utilise le modèle GPT d’OpenAI, mais elle vous permet de l’échanger avec n’importe quel LLM sans modifier la logique du bot. Cela signifie que vous pouvez conserver le contenu de votre application en dehors du domaine public et limité à votre modèle LLM préféré.

IA responsable

La bibliothèque d’IA Teams permet de créer des applications conversationnelles avec des hooks de modération, un balayage de conversation et des boucles de commentaires. Il prend en charge les scénarios à faible code et complexes. La bibliothèque étend les fonctionnalités avec des constructions IA pour la modélisation en langage naturel, l’intention utilisateur, la personnalisation et les conversations contextuelles automatisées.

Moteur prédictif pour le mappage des intentions aux actions

Une interface simple pour les actions et les prédictions permet à un bot de réagir en cas de besoin. La présence ambiante permet à un bot d’apprendre l’intention, d’utiliser des invites de logique métier et de générer des réponses. Par exemple, si un utilisateur n’est pas du bureau et doit résumer un thread, bibliothèque IA Teams :

  1. Comprend l’intention comme un résumé.
  2. Utilise des invites pour effectuer des résumés au fil du temps, en se concentrant sur les interactions de l’utilisateur.
  3. Fournit des actions pour résumer le contenu de la conversation.

Planificateur d’action

Action Planificateur est le composant main qui appelle votre LLM et inclut plusieurs fonctionnalités pour améliorer et personnaliser votre modèle. Les plug-ins de modèle simplifient la configuration de votre LLM sélectionné sur le planificateur et sont fournis avec un OpenAIModel qui prend en charge les machines llms OpenAI et Azure OpenAI. Ajoutez d’autres plug-ins pour d’autres modèles comme Llama-2 afin de vous donner la possibilité de choisir le meilleur modèle pour votre cas d’usage. Une boucle de rétroaction interne augmente la fiabilité en corrigeant les réponses secondaires du LLM.

Assistants API

Remarque

La bibliothèque d’IA Teams prend en charge openAI et l’API Assistants Azure OpenAI dans la préversion publique des développeurs pour vous permettre de commencer à créer des assistants intelligents.

L’API Assistants vous permet de créer des assistants IA puissants capables d’effectuer des tâches difficiles à coder à l’aide de méthodes traditionnelles. Il fournit un accès programmatique au système GPT d’OpenAI pour des tâches allant de la conversation au traitement d’images, en passant par le traitement audio et la création d’assistants personnalisés. L’API prend en charge l’interaction en langage naturel pour permettre le développement d’assistants capables de comprendre et de répondre de manière conversationnelle.

Suivez le guide de démarrage rapide de l’API Assistants pour créer un assistant spécialisé dans les mathématiques.

Gestion des invites

La gestion dynamique des invites permet au bot d’ajuster la taille et le contenu de l’invite envoyée au LLM, en fonction du budget de jeton disponible et des sources de données ou des augmentations. Il améliore l’efficacité et la précision de l’invite en s’assurant qu’elle n’inclut pas d’informations non pertinentes ou ne dépasse pas la fenêtre de contexte.

Augmentation

Améliorez les réponses de votre modèle IA avec l’augmentation. Personnalisez votre modèle à l’aide de différents modes pour la précision et les résultats souhaités :

  • Récupération augmentée (RAG) : incorporez des sources de données externes dynamiques en temps réel pour obtenir des résultats à jour et précis sans réentrentrement.
  • Monologue : créez des agents de style AutoGPT pour les actions à plusieurs étapes avec validation de schéma complète et réparation automatique.
  • Séquence : activez votre assistant IA pour retourner une séquence d’actions avec validation de schéma pour la fiabilité.
  • Fonctions : produisez des réponses structurées à l’aide de fonctions personnalisées définies par l’utilisateur. Le Planificateur d’action évalue et répare les réponses du modèle à des fins de fiabilité et de cohérence.

Sources de données vectorielles

Les bases de données vector sont conçues pour stocker des vecteurs afin de permettre une recherche efficace. Ils retournent les résultats les plus pertinents pour la requête d’un utilisateur. Ils permettent à RAG d’utiliser des llms et des données personnalisées ou des informations spécifiques au domaine. Cela implique d’extraire les informations pertinentes d’une source de données personnalisée et de les intégrer dans la demande de modèle par le biais d’une ingénierie rapide. Avant d’envoyer une requête au LLM, l’entrée utilisateur est transformée en incorporation, et des techniques de recherche vectorielle sont utilisées pour rechercher l’incorporation la plus similaire dans la base de données.

Raisonnement amélioré

La bibliothèque d’IA Teams offre un système intégré de vérification des faits pour lutter contre les hallucinations des bots. Lorsqu’un utilisateur interagit avec votre assistant IA, il invite le bot à évaluer de manière critique ses réponses potentielles avant de l’envoyer. Le bot identifie les inexactitudes et corrige ses réponses, ce qui améliore la précision, la qualité et la pertinence contextuelle. Le raisonnement avancé garantit que votre assistant IA devient une source fiable d’informations et de jugement qui renforce la confiance dans le produit et augmente l’engagement des utilisateurs.

Boucle de commentaires

La boucle de commentaires permet à un bot de valider et de corriger la sortie du modèle de langage. Il vérifie la structure et les paramètres du plan ou du monologue que le modèle retourne et fournit des commentaires sur les erreurs ou les informations manquantes. Le modèle tente de corriger ses erreurs et de retourner une sortie valide. La boucle de rétroaction peut améliorer la fiabilité et la précision du système d’IA et réduire les risques d’hallucinations ou d’actions non valides.

Mises à jour à la bibliothèque IA Teams

Le tableau suivant répertorie les mises à jour de la bibliothèque IA Teams :

Type Description .NET JavaScript Python
OpenAIModel La classe OpenAIModel vous permet d’appeler OpenAI et Azure OpenAI avec un seul composant. De nouveaux modèles peuvent être définis pour d’autres types de modèles tels que Llama2. ✔️ ✔️ ✔️
Incorporations La classe OpenAIEmbeddings vous permet de générer des incorporations à l’aide d’OpenAI ou d’Azure OpenAI. De nouvelles incorporations peuvent être définies pour des éléments tels que les incorporations OSS. ✔️ ✔️
Requêtes Un nouveau système d’invite basé sur un objet permet une meilleure gestion des jetons et réduit la probabilité de dépassement de la fenêtre de contexte du modèle. ✔️ ✔️ ✔️
Augmentation Les augmentations simplifient les tâches d’ingénierie d’invite en permettant au développeur d’ajouter des augmentations nommées à son invite. Seules les functionsaugmentations de style , sequenceet monologue sont prises en charge. ✔️ ✔️ ✔️
Sources de données Un nouveau plug-in DataSource facilite l’ajout de RAG à n’importe quelle invite. Vous pouvez inscrire une source de données nommée auprès du planificateur, puis spécifier les noms des sources de données qu’il souhaite ajouter à l’invite. ✔️ ✔️

Appels de fonction à l’aide du KIT de développement logiciel (SDK) IA

Les appels de fonction, implémentés dans le SDK IA, déverrouillent de nombreuses fonctionnalités, ce qui permet au modèle IA de générer des réponses précises en toute transparence. Il permet une connexion directe avec des outils externes, ce qui rend l’IA encore plus puissante. Ces fonctionnalités incluent l’exécution de calculs complexes, la récupération de données importantes, la création de flux de travail plus fluides et l’activation d’interactions dynamiques avec les utilisateurs.

Remarque

Les sorties structurées ne sont pas prises en charge.

Pour utiliser l’appel de fonction avec l’API De saisie semi-automatique de conversation :

  1. Configurez le planificateur où l’invite par défaut utilise l’augmentation des outils. Mettez à jour l’un des fichiers suivants de votre application bot :

    • Pour une application JavaScript : mettez à jour index.ts.
    • Pour une application de bot C# : mettez à jour Program.cs.
    • Pour une application Python : mettez à jour bot.py.

    L’extrait de code suivant montre comment configurer la ToolsAugmentation classe :

    const planner = new ActionPlanner({
        model,
        prompts,
        defaultPrompt: 'tools'
    });
    
  2. Spécifiez l’augmentation des outils dans le config.json fichier.

    {
        "schema": 1.1,
        "description": "",
        "type": "",
        "completion": {
    +       "tool_choice": "auto",
    +       "parallel_tool_calls": true,
        },
    +    "augmentation": {
    +        "augmentation_type": "tools"
    +    }
    }
    
  3. Spécifiez tous vos function definitions dans le actions.json fichier, qui se trouve dans le prompts dossier . Veillez à suivre le schéma pour éviter les erreurs lorsque l’action est appelée par le LLM.

    [{
        "name": "CreateList",
        "description": "Creates a list"
    }]
    
  4. Inscrivez votre handlers dans votre application classe.

    • Chaque gestionnaire est une fonction de rappel qui s’exécute lorsqu’un événement spécifique se produit. Le gestionnaire d’appels de fonction exécute du code en réponse à l’événement .
    • L’appel de fonction doit retourner une chaîne comme sortie de l’appel de fonction.
    • Lorsque le modèle demande à appeler des fonctions, celles-ci sont mappées à DO des commandes au sein d’un Plan et sont appelées dans la fonction de classe run IA. Les sorties sont ensuite retournées au modèle avec des ID d’appel d’outil pour indiquer que les outils ont été utilisés.

    L’extrait de code suivant montre comment inscrire handlers:

    app.ai.action("createList", async (context: TurnContext, state: ApplicationTurnState, parameters: ListAndItems) => {
    // Ex. create a list with name "Grocery Shopping".
    ensureListExists(state, parameters.list);
    return `list created and items added. think about your next action`;
    });
    

Activer les options de l’outil

Vous pouvez activer les options d’outil suivantes :

  • Activer le choix d’outils : autorisez le modèle à sélectionner la fonction qu’il doit appeler en activant la sélection d’outils. Dans le config.json fichier :

    • Définissez tool_choice comme required pour imposer au modèle d’appeler toujours au moins une fonction.
    • Définissez tool_choice sur une fonction spécifique à l’aide de sa définition pour l’utilisation de cette fonction.
    • Définissez tool_choice sur none pour désactiver l’outil.

    La valeur par défaut de tool_choiceest auto. Il permet au modèle de sélectionner les fonctions qu’il doit appeler.

  • Activer/désactiver les appels d’outils parallèles : l’exécution d’outils en parallèle est plus rapide et réduit le nombre d’appels à l’API. Dans le config.json fichier , vous pouvez définir parallel_tool_calls sur true ou false. Par défaut, le parallel_tool_calls paramètre est défini sur true.

L’extrait de code suivant montre comment activer le choix des outils et activer les appels d’outils parallèles :

{

    "schema": 1.1,
    "description": "",
    "type": "",
    "completion": {
+       "tool_choice": "auto",
+       "parallel_tool_calls": true,
    },
+    "augmentation": {
+        "augmentation_type": "tools"
+    }
}

Remarque

En tant que développeur utilisant le SDK IA, vous pouvez partager des commentaires précieux ou demander de l’aide pour améliorer votre expérience.

Exemples de code

Exemple de nom Description .NET Node.js Python
Echo bot Cet exemple montre comment incorporer un flux conversationnel dans une application Microsoft Teams à l’aide de Bot Framework et de la bibliothèque d’IA Teams. View View View
Extension de message de commande de recherche Cet exemple montre comment incorporer une application d’extension de message de base dans une application Microsoft Teams à l’aide de Bot Framework et de la bibliothèque IA Teams. View View View
Bot typeahead Cet exemple montre comment incorporer la fonctionnalité de recherche de typeahead dans les cartes adaptatives dans une application Microsoft Teams à l’aide de Bot Framework et de la bibliothèque d’IA Teams. View View View
Bot conversationnel avec IA : Chef Teams Cet exemple montre comment incorporer le comportement d’un bot conversationnel dans Microsoft Teams. Le bot est conçu pour permettre à GPT de faciliter la conversation en son nom, en utilisant uniquement un fichier d’invite en langage naturel pour le guider. View View
Extensions de message : GPT-ME Cet exemple est une extension de message pour Microsoft Teams qui utilise le modèle text-davinci-003 pour aider les utilisateurs à générer et mettre à jour des publications. View View View
Bot léger Cet exemple illustre un comportement de bot conversationnel plus complexe dans Microsoft Teams. Le bot est conçu pour permettre à GPT de faciliter la conversation en son nom et les réponses définies manuellement, et mappe les intentions de l’utilisateur aux actions définies par l’utilisateur. View View View
Lister le bot Cet exemple montre comment incorporer le comportement d’un bot conversationnel dans Microsoft Teams. Le bot exploite la puissance de l’IA pour simplifier votre flux de travail et mettre de l’ordre dans vos tâches quotidiennes, et présente les fonctionnalités de chaînage d’actions. View View View
Bot DevOps Cet exemple montre comment incorporer le comportement d’un bot conversationnel dans Microsoft Teams. Le bot utilise le modèle gpt-3.5-turbo pour discuter avec les utilisateurs de Teams et effectuer des actions DevOps telles que créer, mettre à jour, trier et synthétiser des éléments de travail. View View View
Vingt questions Cet exemple montre les capacités incroyables des modèles de langage et le concept d’intention utilisateur. Mettez au défi vos compétences en tant que joueur humain et essayez de deviner un secret en 20 questions, tandis que le bot alimenté par l’IA répond à vos questions sur le secret. View View View
Assistant de professeur de mathématiques Cet exemple montre comment créer une expérience de conversation à l’aide des API Assistants d’OpenAI. Il utilise l’outil Interpréteur de code d’OpenAI pour créer un assistant expert en mathématiques. View View View
Assistant de commandes alimentaires Cet exemple montre comment créer un assistant conversationnel qui utilise des outils pour appeler des actions dans le code de votre bot. Il s’agit d’une commande de nourriture assistant pour un restaurant fictif appelé The Pub et est capable d’interactions complexes avec l’utilisateur à mesure qu’il prend sa commande. View View View

Étape suivante

Voir aussi