Le lancement de ChatGPT et la popularité croissante de l'IA générative ont captivé l'imagination des clients curieux de savoir comment utiliser cette technologie pour créer de nouveaux produits et services sur AWS, tels que les chatbots d'entreprise, qui sont davantage conversationnels. Cet article vous montre comment créer une interface utilisateur Web, que nous appelons Chat Studio, pour démarrer une conversation et interagir avec les modèles de base disponibles dans Amazon SageMaker JumpStart tels que Llama 2, Stable Diffusion et d'autres modèles disponibles sur Amazon Sage Maker. Après avoir déployé cette solution, les utilisateurs peuvent démarrer rapidement et découvrir les capacités de plusieurs modèles de base en IA conversationnelle via une interface Web.
Chat Studio peut également éventuellement appeler le point de terminaison du modèle Stable Diffusion pour renvoyer un collage d'images et de vidéos pertinentes si l'utilisateur demande que les médias soient affichés. Cette fonctionnalité peut contribuer à améliorer l’expérience utilisateur grâce à l’utilisation des médias comme ressources d’accompagnement de la réponse. Ceci n'est qu'un exemple de la façon dont vous pouvez enrichir Chat Studio avec des intégrations supplémentaires pour atteindre vos objectifs.
Les captures d'écran suivantes montrent des exemples de ce à quoi ressemblent une requête et une réponse utilisateur.
Grands modèles de langage
Les chatbots d'IA générative tels que ChatGPT sont alimentés par de grands modèles de langage (LLM), basés sur un réseau neuronal d'apprentissage en profondeur qui peut être formé sur de grandes quantités de texte non étiqueté. L'utilisation des LLM permet une meilleure expérience conversationnelle qui ressemble étroitement aux interactions avec de vrais humains, favorisant un sentiment de connexion et une meilleure satisfaction des utilisateurs.
Modèles de base SageMaker
En 2021, l'Institut de Stanford pour l'intelligence artificielle centrée sur l'humain a qualifié certains LLM de modèles de fondation. Les modèles de base sont pré-entraînés sur un ensemble vaste et large de données générales et sont destinés à servir de base à d'autres optimisations dans un large éventail de cas d'utilisation, de la génération d'art numérique à la classification de textes multilingues. Ces modèles de base sont populaires auprès des clients car la formation d’un nouveau modèle à partir de zéro prend du temps et peut s’avérer coûteuse. SageMaker JumpStart donne accès à des centaines de modèles de base gérés par des fournisseurs tiers open source et propriétaires.
Vue d'ensemble de la solution
Cet article présente un flux de travail low-code pour déployer des LLM pré-entraînés et personnalisés via SageMaker et créer une interface utilisateur Web pour s'interfacer avec les modèles déployés. Nous couvrons les étapes suivantes :
- Déployez les modèles de base SageMaker.
- Déployer AWS Lambda ainsi que Gestion des identités et des accès AWS (IAM) à l'aide de AWS CloudFormation.
- Configurez et exécutez l’interface utilisateur.
- Ajoutez éventuellement d'autres modèles de fondation SageMaker. Cette étape étend la capacité de Chat Studio à interagir avec des modèles de base supplémentaires.
- Vous pouvez éventuellement déployer l'application à l'aide de AWS Amplifier. Cette étape déploie Chat Studio sur le Web.
Reportez-vous au diagramme suivant pour un aperçu de l’architecture de la solution.
Pré-requis
Pour parcourir la solution, vous devez avoir les prérequis suivants :
- An Compte AWS avec des privilèges utilisateur IAM suffisants.
npm
installé dans votre environnement local. Pour obtenir des instructions sur la façon d'installernpm
, faire référence à Téléchargement et installation de Node.js et npm.- Un quota de service de 1 pour les points de terminaison SageMaker correspondants. Pour Llama 2 13b Chat, nous utilisons une instance ml.g5.48xlarge et pour Stable Diffusion 2.1, nous utilisons une instance ml.p3.2xlarge.
Pour demander une augmentation de quota de service, sur le Console des quotas de service AWS, aller vers Services AWS, SageMaker, et demandez une augmentation du quota de service à une valeur de 1 pour ml.g5.48xlarge pour l'utilisation du point de terminaison et ml.p3.2xlarge pour l'utilisation du point de terminaison.
L'approbation de la demande de quota de service peut prendre quelques heures, en fonction de la disponibilité du type d'instance.
Déployer les modèles de base SageMaker
SageMaker est un service d'apprentissage automatique (ML) entièrement géré permettant aux développeurs de créer et de former rapidement et facilement des modèles ML. Effectuez les étapes suivantes pour déployer les modèles de base Llama 2 13b Chat et Stable Diffusion 2.1 à l'aide de Amazon SageMakerStudio:
- Créez un domaine SageMaker. Pour obtenir des instructions, reportez-vous à Intégration au domaine Amazon SageMaker à l'aide de la configuration rapide.
Un domaine configure tout le stockage et vous permet d'ajouter des utilisateurs pour accéder à SageMaker.
- Sur la console SageMaker, choisissez Studio dans le volet de navigation, puis choisissez Open Studio.
- Au lancement de Studio, sous SageMaker JumpStart dans le volet de navigation, choisissez Modèles, cahiers, solutions.
- Dans la barre de recherche, recherchez Llama 2 13b Chat.
- Sous Configuration du déploiement, Pour Instance d'hébergement SageMaker, choisissez ml.g5.48xlarge et pour Nom du noeud final, Entrer
meta-textgeneration-llama-2-13b-f
. - Selectionnez Déployer.
Une fois le déploiement réussi, vous devriez pouvoir voir le In Service
état.
- Sur le Modèles, cahiers, solutions page, recherchez Stable Diffusion 2.1.
- Sous Configuration du déploiement, Pour Instance d'hébergement SageMaker, choisissez ml.p3.2xlarge et pour Nom du noeud final, Entrer
jumpstart-dft-stable-diffusion-v2-1-base
. - Selectionnez Déployer.
Une fois le déploiement réussi, vous devriez pouvoir voir le In Service
état.
Déployer les autorisations Lambda et IAM à l'aide d'AWS CloudFormation
Cette section décrit comment lancer une pile CloudFormation qui déploie une fonction Lambda qui traite votre demande utilisateur, appelle le point de terminaison SageMaker que vous avez déployé et déploie toutes les autorisations IAM nécessaires. Effectuez les étapes suivantes :
- Accédez à la GitHub référentiel et téléchargez le modèle CloudFormation (
lambda.cfn.yaml
) sur votre ordinateur local. - Sur la console CloudFormation, choisissez le Créer une pile menu déroulant et choisissez Avec de nouvelles ressources (standard).
- Sur le Spécifiez le modèle page, sélectionnez Télécharger un fichier modèle ainsi que Choisir le fichier.
- Choisissez le
lambda.cfn.yaml
fichier que vous avez téléchargé, puis choisissez Suivant. - Sur le Spécifiez les détails de la pile , saisissez un nom de pile et la clé API que vous avez obtenue dans les prérequis, puis choisissez Suivant.
- Sur le Configurer les options de pile page, choisissez Suivant.
- Examinez et reconnaissez les modifications et choisissez Envoyer.
Configurer l'interface utilisateur Web
Cette section décrit les étapes pour exécuter l'interface utilisateur Web (créée à l'aide de Système de conception Cloudscape) sur votre ordinateur local :
- Sur la console IAM, accédez à l'utilisateur
functionUrl
. - Sur le Identifiants de sécurité onglet, choisissez Créer une clé d'accès.
- Sur le Accédez aux meilleures pratiques et alternatives clés page, sélectionnez Interface de ligne de commande (CLI) et choisissez Suivant.
- Sur le Définir la balise de description page, choisissez Créer une clé d'accès.
- Copiez la clé d'accès et la clé d'accès secrète.
- Selectionnez OK.
- Accédez à la GitHub référentiel et télécharger le
react-llm-chat-studio
code. - Lancez le dossier dans votre IDE préféré et ouvrez un terminal.
- Accédez à
src/configs/aws.json
et saisissez la clé d'accès et la clé d'accès secrète que vous avez obtenues. - Entrez les commandes suivantes dans le terminal :
- Ouvert http://localhost:3000 dans votre navigateur et commencez à interagir avec vos modèles !
Pour utiliser Chat Studio, choisissez un modèle fondamental dans le menu déroulant et saisissez votre requête dans la zone de texte. Pour obtenir des images générées par l'IA avec la réponse, ajoutez l'expression « avec images » à la fin de votre requête.
Ajouter d'autres modèles de fondation SageMaker
Vous pouvez étendre davantage les capacités de cette solution pour inclure des modèles de base SageMaker supplémentaires. Étant donné que chaque modèle attend des formats d'entrée et de sortie différents lors de l'appel de son point de terminaison SageMaker, vous devrez écrire du code de transformation dans la fonction Lambda callSageMakerEndpoints pour assurer l'interface avec le modèle.
Cette section décrit les étapes générales et les modifications de code requises pour implémenter un modèle supplémentaire de votre choix. Notez qu'une connaissance de base du langage Python est requise pour les étapes 6 à 8.
- Dans SageMaker Studio, déployez le modèle de fondation SageMaker de votre choix.
- Selectionnez SageMaker JumpStart ainsi que Lancer les ressources JumpStart.
- Choisissez votre point de terminaison de modèle nouvellement déployé et choisissez Cahier ouvert.
- Sur la console du notebook, recherchez les paramètres de charge utile.
Ce sont les champs attendus par le nouveau modèle lors de l’appel de son point de terminaison SageMaker. La capture d'écran suivante montre un exemple.
- Sur la console Lambda, accédez à
callSageMakerEndpoints
. - Ajoutez un gestionnaire d'entrée personnalisé pour votre nouveau modèle.
Dans la capture d'écran suivante, nous avons transformé l'entrée pour Falcon 40B Instruct BF16 et GPT NeoXT Chat Base 20B FP16. Vous pouvez insérer votre logique de paramètre personnalisé comme indiqué pour ajouter la logique de transformation d'entrée en référence aux paramètres de charge utile que vous avez copiés.
- Revenez à la console du portable et localisez
query_endpoint
.
Cette fonction vous donne une idée sur la façon de transformer la sortie des modèles pour extraire la réponse textuelle finale.
- En référence au code dans
query_endpoint
, ajoutez un gestionnaire de sortie personnalisé pour votre nouveau modèle. - Selectionnez Déployer.
- Ouvrez votre IDE, lancez le
react-llm-chat-studio
code et accédez àsrc/configs/models.json
. - Ajoutez le nom de votre modèle et le point de terminaison du modèle, puis entrez les paramètres de charge utile de l'étape 4 sous
payload
en utilisant le format suivant: - Actualisez votre navigateur pour commencer à interagir avec votre nouveau modèle !
Déployer l'application à l'aide d'Amplify
Amplify est une solution complète qui vous permet de déployer rapidement et efficacement votre application. Cette section décrit les étapes de déploiement de Chat Studio sur un Amazon CloudFront distribution en utilisant Amplify si vous souhaitez partager votre application avec d’autres utilisateurs.
- Accédez à la
react-llm-chat-studio
dossier de code que vous avez créé précédemment. - Entrez les commandes suivantes dans le terminal et suivez les instructions de configuration :
- Initialisez un nouveau projet Amplify à l'aide de la commande suivante. Fournissez un nom de projet, acceptez les configurations par défaut et choisissez Clés d'accès AWS lorsque vous êtes invité à sélectionner la méthode d'authentification.
- Hébergez le projet Amplify à l’aide de la commande suivante. Choisir Amazon CloudFront et S3 lorsque vous êtes invité à sélectionner le mode plugin.
- Enfin, créez et déployez le projet avec la commande suivante :
- Une fois le déploiement réussi, ouvrez l'URL fournie dans votre navigateur et commencez à interagir avec vos modèles !
Nettoyer
Pour éviter d'encourir des frais futurs, procédez comme suit :
- Supprimez la pile CloudFormation. Pour obtenir des instructions, reportez-vous à Suppression d'une pile sur la console AWS CloudFormation.
- Supprimez le point de terminaison SageMaker JumpStart. Pour obtenir des instructions, reportez-vous à Supprimer des terminaux et des ressources.
- Supprimez le domaine SageMaker. Pour obtenir des instructions, reportez-vous à Supprimer un domaine Amazon SageMaker.
Conclusion
Dans cet article, nous avons expliqué comment créer une interface utilisateur Web pour s'interfacer avec les LLM déployés sur AWS.
Avec cette solution, vous pouvez interagir avec votre LLM et tenir une conversation de manière conviviale pour tester ou poser des questions LLM, et obtenir un collage d'images et de vidéos si nécessaire.
Vous pouvez étendre cette solution de différentes manières, par exemple en intégrant des modèles de fondations supplémentaires, intégrer avec Amazon Kendra pour permettre une recherche intelligente basée sur le ML pour comprendre le contenu de l'entreprise, et bien plus encore !
Nous vous invitons à expérimenter différents LLM pré-formés disponibles sur AWS, ou construisez sur ou même créez vos propres LLM dans SageMaker. Faites-nous part de vos questions et découvertes dans les commentaires, et amusez-vous !
À propos des auteurs
Jarrett Yeo Shan Wei est architecte cloud associé au sein des services professionnels AWS couvrant le secteur public de l'ASEAN et défend l'aide aux clients pour leur modernisation et leur migration vers le cloud. Il a obtenu cinq certifications AWS et a également publié un document de recherche sur les ensembles de machines d'amplification de gradient lors de la 8e Conférence internationale sur l'IA. Pendant son temps libre, Jarrett se concentre et contribue à la scène de l'IA générative chez AWS.
Tammy Lim Lee Xin est architecte cloud associé chez AWS. Elle utilise la technologie pour aider les clients à obtenir les résultats souhaités dans leur parcours d'adoption du cloud et est passionnée par l'IA/ML. En dehors du travail, elle aime voyager, faire de la randonnée et passer du temps avec sa famille et ses amis.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/create-a-web-ui-to-interact-with-llms-using-amazon-sagemaker-jumpstart/
- :possède
- :est
- $UP
- 1
- 10
- 120
- 160
- 2021
- 3000
- 320
- 7
- 8
- 8ème
- a
- Capable
- A Propos
- Accepter
- accès
- reconnaître
- à travers
- ajouter
- Supplémentaire
- Adoption
- avocat
- Après
- AI
- AI / ML
- Tous
- permet
- le long de
- aussi
- Amazon
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- amplifier
- an
- ainsi que
- api
- Application
- ,
- architecture
- SONT
- Art
- artificiel
- intelligence artificielle
- AS
- Asean
- demander
- Outils
- Associé(e)
- At
- atteint
- Authentification
- disponibilité
- disponibles
- éviter
- AWS
- AWS CloudFormation
- Services professionnels AWS
- barre
- base
- basé
- Essentiel
- BE
- car
- LES MEILLEURS
- les meilleures pratiques
- Améliorée
- stimuler
- Box
- vaste
- navigateur
- construire
- by
- Appelez-nous
- Appels
- CAN
- Peut obtenir
- capacités
- aptitude
- capturé
- cas
- certifications
- Modifications
- des charges
- Chatbots
- ChatGPT
- le choix
- Selectionnez
- classification
- étroitement
- le cloud
- adoption du cloud
- code
- commentaires
- complet
- Congrès
- configuration
- connexion
- Console
- contenu
- contribue
- Conversation
- de la conversation
- IA conversationnel
- Correspondant
- couverture
- couvrant
- engendrent
- créée
- La création
- curieux
- Customiser
- Clients
- données
- profond
- l'apprentissage en profondeur
- Réglage par défaut
- livrer
- Selon
- déployer
- déployé
- déployer
- déploiement
- déploie
- la description
- Conception
- voulu
- détails
- mobiles
- différent
- La diffusion
- numérique
- Art numérique
- dans
- distribution
- domaine
- download
- Plus tôt
- facilité
- efficacement
- permettre
- fin
- Endpoint
- de renforcer
- enrichir
- Entrer
- Entreprise
- Environment
- Pourtant, la
- Chaque
- exemple
- exemples
- attend
- cher
- d'experience
- expérience
- expliqué
- étendre
- S'étend
- extrait
- famille
- Fonctionnalité
- few
- Des champs
- Déposez votre dernière attestation
- finale
- Trouvez
- résultats
- cinq
- se concentre
- suivre
- Abonnement
- Pour
- le format
- favoriser
- Fondation
- Fondationale
- Gratuit
- amis
- De
- d’étiquettes électroniques entièrement
- fonction
- plus
- avenir
- Général
- données GENERALES
- générateur
- génératif
- IA générative
- obtenez
- donne
- Objectifs
- Vous avez
- he
- vous aider
- aider
- sa
- appuyez en continu
- hébergement
- HEURES
- Comment
- How To
- HTML
- http
- HTTPS
- Les êtres humains
- Des centaines
- idée
- Identite
- if
- satellite
- imagination
- Mettre en oeuvre
- amélioré
- in
- comprendre
- Améliore
- indiqué
- contribution
- installer
- Installé
- installer
- instance
- Institut
- Des instructions
- intégrer
- intégrations
- Intelligence
- Intelligent
- interagir
- interagissant
- interactions
- Interfaces
- International
- développement
- nous invitons les riders XCO et DH à rouler sur nos pistes haute performance, et leurs supporters à profiter du spectacle. Pour le XNUMXe anniversaire, nous visons GRAND ! Vous allez vouloir être là ! Nous accueillerons la légendaire traversée de l'étant avec de la musique en direct ! Nous aurons également des divertissements pour les jeunes et les jeunes de cœur pendant l'après-midi. Vous ne voudrez pas manquer ça !
- SES
- chemin
- jpg
- juste
- juste un
- ACTIVITES
- Savoir
- spécialisées
- langue
- gros
- lancer
- lancement
- apprentissage
- Lee
- laisser
- comme
- Gamme
- Flamme
- LLM
- locales
- logique
- Style
- ressembler
- aime
- click
- machine learning
- gérés
- manière
- Mai..
- signifiait
- Médias
- Découvrez
- Menu
- méthode
- émigrer
- ML
- Mode
- modèle
- numériques jumeaux (digital twin models)
- moderniser
- PLUS
- plusieurs
- must
- prénom
- NAVIGUER
- Navigation
- nécessaire
- Besoin
- réseau et
- neural
- Réseau neuronal
- Nouveauté
- produits nouveaux
- nouvellement
- nœud
- Node.js
- noter
- cahier
- obtenu
- of
- on
- ONE
- ouvert
- open source
- Options
- or
- Autre
- les résultats
- sortie
- au contrôle
- vue d'ensemble
- propre
- page
- pain
- Papier
- paramètre
- paramètres
- passionné
- autorisations
- Platon
- Intelligence des données Platon
- PlatonDonnées
- plug-in
- Populaire
- popularité
- Post
- alimenté
- pratiques
- préféré
- conditions préalables
- privilèges
- les process
- Produits
- professionels
- Projet
- propriétaire
- fournir
- à condition de
- fournisseurs
- fournit
- public
- publié
- Python
- fréquemment posées
- Rapide
- vite.
- augmenter
- gamme
- réal
- reportez-vous
- référence
- pertinent
- nécessaire
- demandes
- conditions
- un article
- Ressemble
- Resources
- réponse
- retourner
- Augmenter
- Courir
- sagemaker
- client
- scène
- gratter
- screenshots
- Rechercher
- secret
- Section
- secteur
- sur le lien
- Sélectionner
- sens
- besoin
- service
- Services
- set
- Sets
- installation
- Partager
- elle
- devrait
- montrer
- Spectacles
- Fragment
- sur mesure
- quelques
- Identifier
- Dépenses
- stable
- empiler
- Standard
- Stanford
- Commencer
- j'ai commencé
- Statut
- étapes
- Étapes
- storage
- studio
- tel
- suffisant
- Prenez
- prend
- Technologie
- modèle
- terminal
- tester
- texte
- Classification du texte
- qui
- La
- leur
- puis
- Ces
- l'ont
- des tiers.
- this
- bien que?
- Avec
- fiable
- à
- top
- Train
- qualifié
- Formation
- Transformer
- De La Carrosserie
- transformé
- type
- ui
- sous
- compréhension
- URL
- us
- Utilisation
- utilisé
- Utilisateur
- Expérience utilisateur
- Interface utilisateur
- convivial
- utilisateurs
- Usages
- en utilisant
- Plus-value
- divers
- Vidéos
- marcher
- marche
- façons
- we
- web
- services Web
- Quoi
- quand
- qui
- WHO
- large
- Large gamme
- sera
- souhaiter
- comprenant
- activités principales
- workflow
- écrire
- oui
- Vous n'avez
- Votre
- zéphyrnet