Pourquoi utiliser Amazon Bedrock dans votre Mendix Les applications sont indispensables | Mendix

Passer au contenu principal

Pourquoi utiliser Amazon Bedrock dans votre Mendix Les applications sont indispensables 

Créer des applications rapides, intuitives et intelligentes est une nécessité. Même si les possibilités de création de ces applications se précisent de jour en jour, trouver les bons outils peut encore s'apparenter à une véritable montagne.

Dans cet article de blog, nous partagerons l'expérience personnelle de notre équipe avec le service Amazon Bedrock et expliquerons pourquoi l'utilisation de ce service dans vos applications est indispensable.

Mendix et IA

Mendix a fait une introduction dynamique au développement d'applications améliorées par l'IA pour les applications d'entreprise. Notre plateforme permet de fournir des applications intelligentes, intuitives et personnalisées avec Capacités IA.

Dans notre voyage pour trouver le meilleur pour Mendix développeurs d'applications, nous avons réussi à rassembler les services d'IA les plus intuitifs d'AWS pour aider à faire du développement d'applications d'entreprise intelligentes une promenade de santé.

Vous pouvez suivre notre voyage à travers :

En tant qu'équipe, notre objectif est de pouvoir fournir aux développeurs des outils utiles dans leur pratique de développement. Nous consacrons également du temps à l'étude et à la mise en avant de fonctionnalités intelligentes dynamiques et faciles à utiliser.

Récemment, nous avons exploré un nouveau service d’AWS – Amazon Bedrock – à partir duquel nous avons créé un Mendix Connecteur Amazon Bedrock et le exemple d'implémentation.

 

Image générée par l'IA : les montagnes rencontrent la mer
Invite : les montagnes rencontrent la mer

Qu'est-ce qu'Amazon Bedrock ?

Amazon Bedrock est un service entièrement géré qui met à disposition des modèles de base (FM) d'Amazon ainsi que des principales startups d'IA via une API.

Grâce à cela, vous pouvez choisir parmi différents FM pour trouver le modèle le mieux adapté à votre cas d'utilisation. Cela promet un démarrage rapide vers une expérience sans serveur avec des modèles fondamentaux.

Que sont les modèles Foundation ?

La première définition de modèles de fondation a été proposé par l'Université de Stanford. Il les décrit (par exemple, BERT, GPT-3, Claude, Amazon Titan) comme des modèles formés sur des données larges à une échelle qui peut être adaptée à une large gamme de tâches en aval.

Comme nous avons pu bénéficier d'un accès anticipé à Amazon Bedrock, nous avons trouvé les dernières versions des modèles de fondations suivants disponibles :

Texte

  • Amazon Titan Large v.1.01
  • Laboratoires AI21 Jurassic-2 Ultra
  • Anthropique Claude 2

Image(s)

  • Stabilité AI Stable Diffusion XL v2.2.2

Pour rendre les choses plus intéressantes pour notre équipe tout en découvrant ce service, nous avons décidé d'organiser une journée de hackathon : « Nous contre Amazon Bedrock ».

Nous avons été stupéfaits de constater la rapidité avec laquelle nous avons progressé dans une application d’essai. En 15 minutes, nous avions intégré et récupéré avec succès une liste de tous les modèles disponibles dans Amazon Bedrock.

Encore plus impressionnant, en un peu moins d'une heure, nous expérimentions déjà avec Amazon Titan et produisions des images à l'aide de Stable Diffusion XL de Stability AI.

Plus loin dans cet article, nous partagerons les expériences personnelles de divers membres de l’équipe – à la fois les difficultés et les moments passionnants – qui ont mis en œuvre les modèles fondamentaux dans l’application de test.

Diffusion Stable XL

Dans le monde de l'IA générative, Stability AI est une entreprise à surveiller de près. L'entreprise open source a lancé son initiative d'IA en 2021 et compte désormais une communauté de plus de 200,000 XNUMX créateurs, développeurs et chercheurs.

Stability AI utilise le puissant supercalculateur Ezra-1 UltraCluster pour créer les modèles Stable Diffusion XL, offrant aux utilisateurs une expérience unique.

Stable Diffusion XL 2.0. est sorti en novembre 2022, mais Stable Diffusion XL n'est toujours disponible au public qu'en version version bêta. Stable Diffusion XL est une IA de conversion de texte en image. Cela signifie que vous pouvez créer des images descriptives avec des invites plus courtes et générer des mots dans les images. Pour illustrer, toutes les images de ce blog ont été créées avec Stable Diffusion XL.

Agapi Karafoulidou sur la mise en œuvre de Stable Diffusion XL

« Lors du hackathon « Us against Amazon Bedrock », je me suis lancé dans l'implémentation de Stable Diffusion XL. Mes premières pensées étaient un peu pessimistes, mais cela ne m'a pas arrêté.

« Sur la page de test d'Amazon Bedrock, j'ai pu trouver la requête API au format JSON. Une fois que j'ai eu cela à portée de main, j'ai facilement créé la structure JSON dans le Mendix application et j'ai ensuite créé un mappage d'exportation.

« Après cela, un microflow avec un appel API POST a été ajouté et, bien sûr, j'ai dû ajouter les en-têtes nécessaires. Heureusement, ils étaient visibles dans la requête API. J'ai exécuté l'application, ajouté l'invite « donnez-moi l'image parfaite » et cliqué. » 

Voici le résultat :

 

Image suggérée par l'IA : Donnez-moi l'image parfaite
Invite : Donnez-moi l'image parfaite

Titan d'Amazonie

Amazon Titan est un modèle de langage génératif de grande taille pour les tâches de génération de texte telles que la création d'un article de blog. Au cas où vous vous poseriez la question après avoir lu cette dernière phrase, la partie récapitulative de ce blog a été créée avec l'aide de l'IA, mais le reste ne l'a pas été. 🙂

Amazon Titan est bien sûr formé avec de nombreux ensembles de données qui le placent dans la catégorie des modèles à usage général. En savoir plus sur Titan d'Amazonie.

 

Image générée par l'IA : Titan Cronus face au futur
Invite : Le Titan Cronus face au futur

Daan Van Otterloo sur la mise en œuvre d'Amazon Titan

« En tant que nouveau Mendix Membre de l'équipe AWS, j'étais ravi et heureux de commencer mon travail avec le connecteur Amazon Bedrock. L'IA générative a fait des progrès impressionnants au cours des dernières années et est devenue un sujet brûlant depuis la sortie de ChatGPT. Cela permet Mendix Les développeurs pourront facilement intégrer ces modèles dans leurs applications. Cela ajoutera de la valeur à de nombreuses applications de multiples façons.  

« Personnellement, j'ai eu le plaisir de développer une partie de l'exemple d'implémentation du connecteur Amazon Bedrock. J'ai ainsi pu jouer avec la plupart des modèles, en particulier le modèle Amazon Titan Text Large. 

« Il s’agit d’un LLM (Large Language Model) génératif à usage général qui peut aider les utilisateurs dans des domaines tels que :

  • Génération de texte
  • Génération de code
  • Et le brainstorming d'idées, entre autres cas d'utilisation 

« Ma façon préférée d'utiliser des modèles comme Amazon Titan est pour l'inspiration, par exemple en demandant au modèle des recettes, des idées de cadeaux ou simplement en lui demandant des recommandations de films ou de musique. 

« Nous avons décidé de nous connecter au service Amazon Bedrock à l'aide d'appels d'API REST. Voici comment j'ai procédé :

  • Pour commencer, je me suis connecté à mon compte AWS et j’ai accédé à l’aire de jeux Amazon Bedrock.
  • J'ai sélectionné le modèle Amazon Titan Text Large et j'ai commencé à jouer. (Sur cette page, vous trouverez également un exemple de requête JSON qui peut être copié et utilisé dans Mendix pour créer le mappage d'exportation qui sera utilisé pour l'appel REST invoquant Amazon Titan.)
  • In MendixJ'ai utilisé le débogueur pour vérifier et copier la réponse afin de pouvoir créer le modèle de données et la logique de microflow utilisés pour importer la réponse. 

« C'est tout ce que j'avais à faire pour pouvoir utiliser le modèle, et maintenant ce sera à notre équipe créative de jouer. Mendix communauté pour générer de la valeur en utilisant ces modèles ! »

Jurassic-2 Ultra

AI21 Labs, une entreprise basée en Israël, a été fondée en 2018 avec pour mission de créer des systèmes d'IA capables de comprendre et de créer du langage naturel. Leurs produits incluent le modèle fondateur Jurassic-2 Ultra.

Selon Documentation d'AI21 Labs, avec les modèles Jurassic-2, vous pouvez :

''… générez une saisie semi-automatique de texte pour une invite de texte donnée en utilisant notre SDK Python ou en envoyant une requête HTTP au point de terminaison complet correspondant au modèle de langage souhaité à utiliser. La requête contient le texte d'entrée, appelé invite, et divers paramètres contrôlant la génération. Pour l'authentification, vous devez inclure votre clé API dans les en-têtes de la requête. Une réponse complète contient l'invite tokenisée, le ou les textes générés, appelés saisie semi-automatique, et diverses métadonnées.''

 

Image générée par l'IA : lever de soleil de l'ère jurassique
Invite : Lever de soleil à l'ère jurassique

Nicolas Kunz Vega sur la mise en œuvre de Jurassic-2 Ultra

« Contrairement à leur nom, les modèles fondamentaux de Jurassic-2 Ultra n'ont rien à voir avec l'ère préhistorique, mais sont plutôt des LLM de pointe. Ce qui m'a vraiment étonné en travaillant avec les modèles Jurassic-2 Ultra, c'est le nombre de façons dont les requêtes pouvaient être modifiées pour manipuler la réponse renvoyée par le modèle. 

« Outre les paramètres d'entrée plus courants trouvés dans divers modèles disponibles sur Amazon Bedrock, comme le nombre maximal de jetons à renvoyer ou la température qui contrôle la créativité (ou la répétitivité) du modèle avec les réponses, Jurassic-2 Ultra fournit des entrées avancées. 

« Par exemple, il existe la possibilité de pénaliser l’utilisation de jetons en fonction de :

  • Leur présence sur l'invite donnée
  • La fréquence à laquelle ils sont utilisés, et
  • Leur nombre dans les réponses générées 

« Cela peut également être étendu pour prendre en compte les espaces, les émojis, les nombres, etc. Cette variété d’entrées m’a aidé à mieux comprendre ce qui influence le modèle lors de la génération d’une réponse à une invite donnée. Cela m’a également aidé à démystifier la boîte noire que représente l’IA générative pour la plupart d’entre nous.  

« En ce qui concerne la mise en œuvre de la réponse, j'ai constaté que les modèles Jurassic-2 Ultra renvoyaient une réponse plus détaillée que les autres modèles que j'avais vus jusqu'à présent sur Amazon Bedrock. Outre le texte généré et certaines métadonnées, il vous fournira également chaque jeton généré et ses scores de probabilité. Il est également possible d'obtenir les meilleures alternatives aux invites choisies, ce qui, je suppose, peut être considéré comme le « processus de réflexion de l'IA » par lequel le modèle passe lors de la génération de la sortie. 

« Dans l’ensemble, ce fut une expérience pratique et amusante de mise en œuvre des modèles Jurassic-2 Ultra dans Mendix et surtout jouer avec la création de toutes sortes de requêtes et voir l'influence qu'elles ont sur les réponses qui sont envoyées au Mendix application ! »

Claudie 2

Anthropic est une entreprise avec la mission « garantir que l’IA transformatrice aidera les gens et la société à s’épanouir. » L’entreprise basée à San Francisco a été fondée en 2021 par d’anciens membres d’OpenAI avec la vision de construire des systèmes sur lesquels les gens peuvent compter.

Le produit Claude 2 d'Anthropic a été conçu pour réduire les risques liés à la marque (l'IA constitutionnelle est intégrée). Il peut gérer de grandes quantités de contenu et peut être personnalisé en fonction des cas d'utilisation. En savoir plus ici.

Casper Spronk sur la mise en œuvre d'Anthropic Claude 2

« L'implémentation d'Anthropic Claude 2 a été un jeu d'enfant. AWS fournissant déjà la syntaxe correcte pour les trois modèles (et étant identique à l'exception du champ modélisé), les modèles ont pu être implémentés en utilisant la même structure de requête et de réponse. 

« En ajoutant une énumération de version à la requête, puis en la mappant à la chaîne d'ID de modèle correspondante, un seul microflux peut être utilisé pour les trois modèles. Il appartient ensuite au développeur qui implémente le modèle de choisir s'il souhaite permettre à l'utilisateur final de sélectionner un modèle ou si le modèle sera toujours le même.  

  • Le corps de la requête peut être mappé avec un simple mappage d'exportation.
  • Ensuite, définissez la sortie du mappage d’exportation comme corps de la requête générique.
  • Après avoir appelé l’action microflow Invoke Model Generic, le mappage d’importation est effectué sur l’attribut du corps de la réponse.
  • L'attribut d'achèvement sur l'entité InvokeModelResponseAthropicClaude contiendra alors la réponse que Claude 2 a générée.  

« Si vous souhaitez avoir une conversation complète avec Claude 2, le développeur doit ajouter la balise « Humain : » avant toutes les entrées humaines (précédentes) et la balise « Assistant : » pour toutes les sorties précédentes générées par Claude 2. 

« Si vous souhaitez vous assurer que le modèle ne renvoie rien au-delà d'une certaine phrase, vous pouvez ajouter une séquence d'arrêt à la requête. Si le modèle avait généré ce mot ou cette phrase, il renverrait à la place tout ce qu'il a généré jusqu'à ce point. »

 

Image générée par l'IA : un robot anthropique regardant par la fenêtre
Invite : Un robot anthropique regarde par la fenêtre

Casper Spronk sur l'appel d'Amazon Bedrock via lambda

« Lors du hackathon Amazon Bedrock, l’un de nos objectifs était de tester si nous pouvions également appeler Amazon Bedrock via une fonction AWS Lambda. Cela a posé quelques problèmes, car Amazon Bedrock n’était pas encore disponible via AWS Lambda par défaut. Nous avons dû déterminer quels packages étaient nécessaires pour appeler Amazon Bedrock, ou la fonctionnalité AWS en général, avec Python. 

« Pour accéder à AWS avec Python, vous devez disposer d'au moins deux packages, boto3 et botocore. Habituellement, lors de l'appel de packages, vous devez télécharger une couche et l'ajouter à votre fonction lambda. Cependant, les problèmes que nous avons rencontrés étaient les suivants :

  1. Les packages boto3 et botocore étaient déjà disponibles sous forme de couches dans une fonction lambda, et
  2. Ces couches par défaut seraient appelées avant les couches personnalisées que nous ajouterions

« Après beaucoup de débogage et de frustration, nous avons décidé de télécharger l'intégralité de la fonction Python fonctionnelle avec toutes ses dépendances en tant que fonction lambda dans l'espoir que cela permettrait d'appeler les dernières versions de boto3 et botocore au lieu des packages boto par défaut d'AWS. Cela a fini par fonctionner et nous a donné une fonction lambda fonctionnelle ! »

Résumé (AI)

Comme mentionné au début, nous avons demandé aux modèles d'IA de nous donner un résumé de cet article :

Diffusion stable XL v2.2.2

Trois personnes assises au sommet après une randonnée

Jurassic-2 Ultra

Amazon Bedrock est un service entièrement géré qui fournit les derniers modèles de base via une API, ce qui permet aux développeurs d'utiliser ces modèles plus rapidement et plus facilement dans leurs applications. En tant qu'équipe, nous étions ravis d'avoir un accès anticipé à Amazon Bedrock et avons été impressionnés par la rapidité avec laquelle nous avons pu intégrer et récupérer une liste de tous les modèles disponibles.

Nous avons organisé une journée de hackathon intitulée « Nous contre Amazon Bedrock » où nous avons expérimenté les différents modèles disponibles, notamment Stable Diffusion XL, Amazon Titan, Jurassic-2 Ultra et Anthropic Claude 2. Nous avons été impressionnés par les résultats que nous avons pu obtenir en peu de temps et pensons qu'Amazon Bedrock est un outil précieux pour Mendix les développeurs cherchant à créer des applications intelligentes et intuitives.

En conclusion, Amazon Bedrock est un outil puissant pour Mendix les développeurs qui cherchent à créer des applications intelligentes et intuitives avec des capacités d'IA. Nous avons trouvé qu'il était rapide et facile à utiliser, et nous pensons qu'il s'agit d'un ajout précieux à la Mendix écosystème.

Claudie 2

Voici un résumé des points clés du billet de blog :

  • L'article traite de l'utilisation d'Amazon Bedrock, un nouveau service qui donne accès aux modèles de base via une API, pour créer rapidement des applications alimentées par l'IA avec Mendix.
  • L'équipe a organisé un hackathon « Us against Amazon Bedrock » pour tester le service. Ils ont pu intégrer et obtenir des résultats à partir de modèles tels que Stable Diffusion XL pour la génération d'images et Amazon Titan pour la génération de texte en une heure.
  • Les membres de l'équipe partagent leurs expériences dans la mise en œuvre de différents modèles de fondations tels que Stable Diffusion XL, Amazon Titan, Jurassic-2 Ultra et Anthropic Claude 2 dans Mendix et créer des preuves de concept.
  • Ils ont trouvé le service facile à utiliser avec une documentation claire. Les API basées sur JSON pouvaient être facilement intégrées dans Mendix en utilisant des mappages d'exportation.
  • L’un des défis consistait à appeler Amazon Bedrock depuis AWS Lambda, mais ils ont réussi à le faire fonctionner en regroupant toutes les dépendances dans la fonction Lambda.
  • Dans l’ensemble, Amazon Bedrock semble être un service prometteur pour aider Mendix Les développeurs créent rapidement des applications intelligentes, basées sur l'IA, en s'appuyant sur de puissants modèles de base. Cet article propose un aperçu pratique de la manière de commencer à l'utiliser.

Amazon Titan Large v1.01

Résumé :
Amazon Bedrock est un service entièrement géré par AWS qui met à disposition des modèles de base d'Amazon et des principales startups d'IA via une API. Il promet un démarrage rapide vers une expérience sans serveur avec des modèles de base. L'équipe de Mendix a réuni les services d'IA les plus intuitifs d'AWS pour aider à rendre le développement d'applications d'entreprise intelligentes une promenade de santé. L'équipe a organisé une journée de hackathon pour en savoir plus sur le service et, en seulement 15 minutes, elle a réussi à intégrer et à récupérer une liste de tous les modèles disponibles dans Amazon Bedrock. En un peu moins d'une heure, ils expérimentaient Amazon Titan et produisaient des images à l'aide de Stable Diffusion XL de Stability AI. Les membres de l'équipe ont partagé leurs expériences personnelles de mise en œuvre des modèles fondamentaux dans une application de test, y compris les difficultés et les moments passionnants.

Auteurs

Agapi Karafoulidou, Casper Spronk, Daan Van Otterloo, Nicolas Kunz Vega

Choisissez votre langue