Comment créer des applications plus intelligentes avec l'appel de fonctions et l'IA générative | Mendix

Passer au contenu principal

Comment créer des applications plus intelligentes avec l'appel de fonctions et l'IA générative

Créer des contenus dynamiques, interactifs et applications intelligentes est un facteur de différenciation clé pour les éditeurs de logiciels, en particulier dans un paysage technologique en évolution rapide. L'IA générative (GenAI) offre de nombreuses opportunités pour aider les organisations à y parvenir. Le défi consiste à étendre les capacités de GenAI au-delà de la génération de texte statique.

Les capacités de génération de texte par défaut des modèles linguistiques de grande taille (LLM) sont souvent insuffisantes. En effet, ils manquent de connaissances contextuelles en temps réel et ne peuvent pas accéder aux données privées après la formation.

L'appel de fonctions peut aider à résoudre des problèmes complexes, de la récupération de données à l'automatisation des tâches, en rendant les microflux accessibles à un LLM. Ainsi, vous pouvez essentiellement créer un agent virtuel, mais de manière low-code.

L'assistant IA ultime

Imaginez un assistant d'assistance IA qui fait tout :

  • Répondre à des questions courantes basées sur des informations trouvées dans une base de connaissances privée, pour
  • Récupérer des données utilisateur en temps réel à partir d'une base de données,
  • Rechercher des solutions dans une base de connaissances privée, et
  • Créer un ticket d’assistance au nom d’un employé, le tout au sein d’une seule conversation.

Cette capacité serait extrêmement précieuse pour les développeurs de logiciels chargés de la mise en œuvre. Elle aiderait également les propriétaires de produits qui cherchent à améliorer la satisfaction des utilisateurs et l'efficacité opérationnelle.

Les utilisateurs finaux bénéficieraient surtout de processus d’assistance rationalisés et efficaces. C’est là qu’entre en jeu l’appel de fonctions, également appelé utilisation d’outils. Il permet aux modèles d’IA d’effectuer diverses tâches pour le compte de l’utilisateur actuel.

La vidéo ci-dessous montre l'interface utilisateur de notre nouvelle version Application de démarrage de l'assistant d'assistance. L'animation est basée sur le cas d'utilisation du support informatique décrit précédemment. Elle sert également d'exemple tout au long de cet article. L'application Support Assistant Starter vous donnera une longueur d'avance dans la création d'un agent virtuel. (Pour plus de conseils sur la façon de commencer, consultez les ressources dans le «Démarrage rapide(section « À la fin de ce blog ».)

Voyons comment l'appel de fonctions peut vous aider à résoudre des problèmes complexes, de la récupération de données à l'automatisation des tâches. Nous verrons également comment intégrer des connecteurs GenAI pris en charge par la plateforme dans votre Mendix applications. Nous vous fournirons des exemples pratiques et des informations exploitables pour exploiter tout le potentiel de GenAI afin de créer des applications plus intelligentes.

Qu'est-ce qu'un appel de fonction ?

L'appel de fonction est une fonctionnalité facultative des capacités de génération de texte, également appelée complétion de chat. Il permet à un LLM de se connecter à des outils et systèmes externes.

L'appel de fonction est un modèle standard pris en charge par de nombreux LLM :

  • OpenAI Chat GPT
  • Anthropique Claude
  • Méta-lama
  • Commande Cohere.

Permettre à un LLM de se connecter à des outils et systèmes externes peut être utile pour de nombreux cas d'utilisation différents, tels que :

Récupération de données

  • Accéder à des données en temps réel (par exemple, des mesures de production en direct) ou à des informations spécifiques à un domaine (par exemple, la documentation interne) pour fournir des réponses pertinentes
  • Récupérer des données sur l'utilisateur actuel afin qu'il puisse poser des questions sur son compte ou ses activités récentes
  • Récupérer des données en temps réel à partir d'API externes publiques. Par exemple, les cours des actions ou les données météorologiques pour répondre à des questions telles que : « Quel temps fera-t-il demain à Rotterdam ? »

Déclencher des actions

  • Créer des objets comme des commandes basées sur une conversation par chat
  • Lancer des flux de travail dans des systèmes internes ou externes en utilisant le LLM pour interpréter des demandes complexes
  • Effectuer des calculs basés sur des données non structurées
  • Interagir avec des objets sur une page en apportant des modifications ou en demandant que quelque chose soit affiché

Comment utiliser l'appel de fonction dans Mendix

La bonne nouvelle est que les développeurs n'ont pas besoin de déploiements, d'outils, de services ou de compétences supplémentaires pour utiliser l'appel de fonction dans Mendix. Tout peut être configuré à l'intérieur Mendix Studio Pro avec nos connecteurs GenAI pris en charge par la plateforme.

Le diagramme ci-dessous décrit comment l'appel de fonction à partir d'un Mendix l'application fonctionne.

Étape 1

Fonctions dans Mendix sont essentiellement des microflux qui peuvent être décrits et enregistrés dans le cadre de la demande adressée au LLM. En général, l'ajout de fonctions à une demande est facultatif. Si une demande ne contient pas de fonctions, les étapes deux à cinq ne sont pas applicables et le LLM génère directement une réponse basée sur l'invite de l'utilisateur, comme indiqué à l'étape six.

Étape 2

En fonction du contexte actuel et des descriptions de fonctions, le modèle décide si des fonctions prédéfinies (microflux) doivent être appelées pour recueillir plus d'informations ou pour prendre des mesures en fonction du message de l'utilisateur. C'est ce qu'on appelle l'invite utilisateur

Étape 3

Le LLM n'appelle pas lui-même une fonction. Au lieu de cela, il renvoie une réponse structurée avec des instructions sur les fonctions à exécuter par le Mendix application et leurs paramètres d'entrée requis.

Étapes 4 et 5

Les microflux de fonction sont ensuite exécutés à l'intérieur du Mendix application. Leurs valeurs de retour sont renvoyées au LLM pour être ajoutées à l'invite utilisateur initiale en cours de traitement.

Ce processus, visualisé dans les étapes deux à cinq du diagramme ci-dessous, se répète jusqu’à ce que le LLM renvoie la réponse finale à l’étape suivante.

Étape 6

Le LLM renvoie la réponse finale de l'assistant.

L'opération de complétion de chat dans les connecteurs GenAI pris en charge par la plateforme gère automatiquement les six étapes. Cela permet aux développeurs de se concentrer uniquement sur la création de microflux de fonctions à ajouter à la demande, tandis que le reste est géré pour eux.

Mendix les développeurs ont le contrôle total

Dans un Mendix Les microflux d'application et de fonction sont exécutés dans le contexte de l'utilisateur actuel. Cela permet aux développeurs de s'assurer que seules les données pertinentes pour l'utilisateur actuel sont récupérées et exposées. Par conséquent, Mendix l'application a un contrôle total sur la manière dont les microflux sont appelés et sur les données utilisées par le LLM.

Les utilisateurs auront un accès précis à la sécurité des données et à la validation des actions. Outre la récupération des données, les utilisateurs peuvent également déclencher des actions en fonction de leur demande, ce qui leur permet d'interagir avec la page en cours.

Pour les actions qui peuvent affecter le monde réel, comme la création d'objets, le déclenchement de microflux ou la mise à jour d'éléments d'interface utilisateur, il est judicieux d'inclure une étape de confirmation pour impliquer l'utilisateur. Vous ne voulez pas que votre assistant commande accidentellement 100 pizzas alors que vous aviez prévu d'en commander 10 ! (Vous pouvez également envoyer un e-mail, soumettre une commande ou prendre rendez-vous, par exemple).

Tant le Connecteur OpenAI et Connecteur Amazon Bedrock prendre en charge les complétions de chat avec l'appel de fonction en exploitant le Module GenAI CommonsCes modules fournissent des opérations faciles à utiliser pour ajouter des fonctions à une demande.

Le microflux ci-dessous montre un exemple de comment :

  • Un objet de requête est créé
  • Plusieurs fonctions sont ajoutées
  • Une opération de complétion de chat avec votre fournisseur d'IA préféré, tel qu'Amazon Bedrock ou (Azure) OpenAI, est exécutée
  • La réponse de l'assistant est mise à jour afin qu'elle puisse être affichée sur une page

Lors de l'utilisation d'une opération de complétion de chat avec un connecteur GenAI pris en charge par la plateforme, les développeurs doivent simplement ajouter les microflux de fonction à la demande. Le connecteur se chargera de la réponse et exécutera les microflux de fonction jusqu'à ce que le LLM fournisse la réponse finale de l'assistant.

Comment l'appel de fonction est-il utilisé dans l'application de démarrage de l'assistant d'assistance

Examinons de plus près le Application de démarrage de l'assistant d'assistanceNous voulons voir comment l’appel de fonction était essentiel pour créer une expérience utilisateur engageante et interactive.

En règle générale, les employés consultent une application d'assistance informatique parce qu'ils ont un problème informatique. Dans ce cas, les chatbots d'assistance sont censés réduire les frais généraux du support de première ligne. Ils y parviennent en réduisant le nombre de tickets créés et les ressources nécessaires pour les traiter.

En utilisant l'appel de fonction, nous avons donné à l'assistant d'assistance la possibilité de choisir d'effectuer les opérations suivantes :

Interroger une base de connaissances avec des manuels

Ici, le LLM interroge une base de connaissances privée avec des manuels et des guides statiques contenant des solutions aux problèmes informatiques courants. Il s'agit essentiellement Récupération Augmentée Générée (RAG) sur des données textuelles statiques enveloppées dans une fonction.

Interroger une base de connaissances contenant des tickets résolus

Cette fonction examine les tickets résolus avec des descriptions similaires pour suggérer des solutions possibles. Contrairement à la première fonction, qui utilise des données de texte libre statiques, celle-ci fonctionne avec Mendix données liées aux objets et pouvant évoluer au fil du temps, appelées RAG.

Si l'utilisateur résout son problème avec une solution issue des manuels ou des tickets résolus, la discussion se termine et aucun ticket ne sera créé. Cela permet de gagner du temps pour l'utilisateur ainsi que pour l'employé du service d'assistance.

Recherchez des tickets ouverts similaires de l'utilisateur et mettez à jour le ticket

Avant de créer un nouveau ticket, vérifiez si le même employé a déjà ouvert un ticket pour un problème similaire. Si tel est le cas, vous pouvez utiliser la fonction de mise à jour du ticket pour ajouter les nouvelles informations au ticket existant.

Si aucune des étapes ou solutions précédentes issues des tickets fermés ou de la base de connaissances ne fonctionne, l'assistant peut demander à l'utilisateur s'il souhaite créer un nouveau ticket. Cela permet aux utilisateurs d'inclure des détails importants, ce qui facilite la tâche du personnel d'assistance et réduit le travail supplémentaire.

Créer un nouveau billet

Cette fonction crée un ticket pour l'utilisateur en utilisant les informations déjà fournies dans la conversation. Cela conduit à des tickets de haute qualité qui capturent tous les détails pertinents, permettant une résolution plus rapide des tickets.

Lors de la définition des fonctions, il est essentiel d'expliquer clairement leur objectif et quand les utiliser. La description sert d'invite pour le LLM, indiquant quand appeler la fonction, quelle entrée elle nécessite et comment interpréter sa valeur de retour.

Vous pouvez inclure des instructions générales sur l'ordre d'exécution des fonctions dans l'invite système. Par exemple, l'assistant d'assistance doit toujours consulter la base de connaissances ou résoudre les tickets pour trouver des solutions avant de créer un nouveau ticket.

Pourquoi devriez-vous utiliser l'appel de fonction dans votre Mendix appli

Pour récupérer des données, vous pouvez utiliser soit l'ingénierie rapide, soit l'appel de fonctions. Cependant, l'appel de fonctions présente des avantages évidents :

  • Il est difficile de prédire quelles informations seront pertinentes dans les conversations futures, ce qui peut conduire à ajouter trop d'informations à une invite système. Bien que l'appel de fonction nécessite toujours que vous définissiez des fonctions à l'avance, il empêche les informations non pertinentes d'encombrer le contexte de la conversation. Le LLM peut alors déterminer les données à récupérer et à inclure selon les besoins.
  • Si vous ajoutez des informations inutiles à l'invite du système, le LLM risque de perdre le focus sur ce qui est important. Cela peut entraîner des comportements et des réponses inattendus.
  • De plus, les utilisateurs sont généralement facturés en fonction du nombre de jetons d'entrée et de sortie dans une requête. L'ajout d'un grand nombre de données supplémentaires allonge la durée de l'invite, ce qui augmente le nombre de jetons d'entrée et les coûts inutilement.

L'appel de fonction permet de résoudre ces défis en fournissant uniquement les données nécessaires au bon moment, garantissant ainsi qu'elles sont toujours à jour.

Dans d'autres cas où des actions doivent être déclenchées à l'intérieur de fonctions, l'ingénierie des invites ne fonctionne pas bien. L'appel de fonctions offre de nouvelles opportunités qui nécessiteraient généralement des agents ou des assistants, mais qui peuvent être réalisées de manière low-code.

Les avantages de l'utilisation de l'appel de fonction avec la plate-forme prise en charge Mendix les connecteurs basés sur le module GenAI Commons incluent :

  • Les microflux peuvent être exécutés à l'intérieur du Mendix sans les exposer via une API pour les rendre disponibles à partir de systèmes externes.
  • Il n’est pas nécessaire d’écrire du code en dehors de Mendix, faisant de l'appel de fonction une véritable expérience low-code

Démarrage rapide

Découvrez la nouvelle Application de démarrage de l'assistant d'assistance pour vous aider à créer rapidement un agent virtuel basé sur le cas d'utilisation dont nous avons discuté. C'est également un excellent moyen d'apprendre à implémenter l'appel de fonctions dans Mendix.

Si vous débutez dans l'ajout de fonctionnalités GenAI à un Mendix application, nous vous recommandons vivement d'explorer le Application vitrine GenAIIl présente une gamme de cas d'utilisation inspirants, allant des implémentations de chat simples utilisant le Module d'interface utilisateur conversationnelle vers des fonctionnalités plus avancées telles que l'appel de fonctions, la génération augmentée de récupération (RAG), la vision et la génération d'images.

L'application Support Assistant Starter et l'application de présentation GenAI utilisent des connecteurs pris en charge par la plateforme pour deux fournisseurs d'IA populaires : (Azure) OpenAI et Amazon BedrockVous pouvez facilement basculer entre ces fournisseurs et leurs modèles, ce qui facilite leur test et leur comparaison côte à côte.

Ces connecteurs sont construits sur la base Module GenAI Commons, qui fournit un modèle de domaine partagé et des actions réutilisables pour enregistrer des fonctions et les ajouter aux demandes. Les connecteurs gèrent les réponses aux appels de fonction du LLM et exécutent les fonctions en fonction du contexte de l'utilisateur actuel.

Soyez sûr de vérifier la aperçu des modèles prenant en charge l'appel de fonctions et revoir le documentation technique.

Si vous travaillez sur votre propre cas d'utilisation GenAI et que vous avez besoin d'aide ou que vous souhaitez nous faire part de vos commentaires, nous serions ravis de vous entendre. Contactez votre responsable de la réussite client ou envoyez-nous un message dans le #connecteurs-genai canal sur le Mendix Communauté Slack. Inscrivez-vous ici!

Choisissez votre langue