J'ai utilisé ChatGPT pour créer une application d'IA complète sur AWS

Ca parle de quoi?
Il y a deux jours, OpenAI a publié ChatGPT , un nouveau modèle de langage qui est une version améliorée de GPT-3 et, peut-être, nous donne un aperçu de ce que GPT-4 sera capable de faire lors de sa sortie au début (comme le dit la rumeur). Avec ChatGPT, il est possible d'avoir une conversation réelle avec le modèle, en se référant aux points précédents de la conversation.
Je voulais essayer si je pouvais utiliser ce modèle en tant que programmeur en binôme que je puisse donner quelques instructions et qu'il produise le code pour moi. Je revérifierais toujours ces extraits de code, bien sûr, mais au moins je n'aurais plus à les écrire à partir de zéro.
Donc, dans cet article de blog, je décris comment j'ai utilisé ChatGPT pour créer une application simple d'analyse des sentiments à partir de zéro. L'application doit s'exécuter sur une instance EC2 et utiliser un modèle NLP de pointe du Hugging Face Model Hub. Les résultats ont été étonnants
Avis de non-responsabilité complet - J'ai dû essayer d'affiner les invites plusieurs fois pour obtenir les résultats que je voulais. Cela étant dit, il ne fallait généralement que des améliorations mineures pour obtenir les résultats souhaités. Mes invites et le code généré par le modèle se trouvent dans ce référentiel GitHub .
Pourquoi est-ce important?
Vous plaisantez, n'est-ce pas ?
Commençons
Ok, commençons ! Commençons par vérifier si ChatGPT est prêt à vous aider :

Ok, c'est un début prometteur Plongeons dans les détails, comme demandé par notre compagnon !
Créer un modèle CloudFormation pour l'instance EC2
Nous voulons exécuter cette application sur une instance EC2, mais nous ne voulons pas cliquer sur la console AWS pour créer cette instance EC2. Par conséquent, notre première tâche pour ChatGPT consiste à créer un modèle CloudFormation qui configure l'instance EC2 :

Les instructions sont plutôt spécifiques (j'ai dû rechercher moi-même l'ID AMI, par exemple), mais j'ai quand même été assez surpris qu'il soit sorti avec un modèle CF presque parfait. Notez que ChatGPT met également quelques clauses de non-responsabilité à la fin du code :

L'intégralité du code produit par ChatGPT :
Notez que l'instance EC2 ne reçoit pas le nom que nous avons spécifié dans l'invite. Mais bon, vivons avec ça pour l'instant. Un autre "bogue" dans ce modèle est que l'environnement Pytorch préinstallé sur l'AMI s'appelle "pytorch" et non "pytorch_36". Corrigeons cela en remplaçant le nom de l'environnement.
Maintenant, comment gérons-nous cela ? Demandons à ChatGPT :

Ok, l'exécution de cette ligne a lancé la création de la pile à l'aide du modèle CF. Après quelques minutes, nous constatons que l'instance EC2 est opérationnelle. Notez que le modèle a créé un groupe de sécurité et que l'instance EC2 a utilisé ce groupe de sécurité comme spécifié :

Passons également en SSH à l'instance EC2 pour voir si les packages dont nous avons besoin sont installés :

On dirait que tout est configuré pour l'application Streamlit
Application éclairée
Maintenant, nous avons besoin d'une application qui s'exécute sur Streamlit et qui analyse le sentiment du texte. À ma grande surprise, c'était encore plus facile que prévu :


Encore une fois, belle clause de non-responsabilité à la fin.
Le code entier :
En fait, cela me semble bien, essayons de l'exécuter sans modifications. Copiez et collez ce code dans un fichier sur EC2 appelé "app.py". Mais comment exécuter à nouveau les applications Streamlit ? Demandons à notre « collègue » :

Streamlit est déjà installé, alors allons-y et exécutons "streamlit run app.py":

Ça a l'air tout bon !
Tester l'application
Maintenant vient le moment de vérité. Nous connectons l'URL streamlit exposée et voyons si l'application s'exécute.

Wow, ChatGPT vient de créer une application complète de sentiment de texte juste avec nos instructions
Conclusion
Je suis très bouche bée. Cela a été tellement amusant et les possibilités sont infinies. Je vais essayer d'expérimenter davantage avec ce modèle à l'avenir et j'aimerais également entendre ce que vous avez construit avec. Veuillez commenter ci-dessous!