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.
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.
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 :
- Comprend l’intention comme un résumé.
- Utilise des invites pour effectuer des résumés au fil du temps, en se concentrant sur les interactions de l’utilisateur.
- 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 functions augmentations de style , sequence et 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 :
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' });
- Pour une application JavaScript : mettez à jour
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" + } }
Spécifiez tous vos
function definitions
dans leactions.json
fichier, qui se trouve dans leprompts
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" }]
Inscrivez votre
handlers
dans votreapplication
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’unPlan
et sont appelées dans la fonction de classerun
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
commerequired
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
surnone
pour désactiver l’outil.
La valeur par défaut de
tool_choice
estauto
. Il permet au modèle de sélectionner les fonctions qu’il doit appeler.- Définissez
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éfinirparallel_tool_calls
surtrue
oufalse
. Par défaut, leparallel_tool_calls
paramètre est défini surtrue
.
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 |