Exemple pratique d’utilisation de ChatGPT en Python

Au moment où nous écrivons ces lignes, ChatGPT n’a pas encore fourni de SDK officiel à utiliser. Dans cet article, je vous présente l’utilisation d’un SDK open source, ChatGPT-Wrapper, pour vous aider à incorporer ChatGPT dans votre application Python avec les avantages et les inconvénients énoncés.

Qu’est-ce que ChatGPT ?

ChatGPT est un modèle d’outil conversationnel utilisant l’intelligence artificielle, développé par OpenAI. ChatGPT est capable d’échanger sous forme de messages. Il répond à vos questions, mais génère également du contenu écrit en réponse à une commande écrite de texte précis, appelée « prompt » en anglais. Vu qu’il fonctionne dans plusieurs langues, nous pouvons échanger avec lui en français. ChatGPT a été entrainé en utilisant des données provenant d’Internet, ce qui signifie qu’il peut être utilisé pour fournir des réponses à des questions, des commentaires ou même de la fiction.

En synthèse, ChatGPT est un modèle de traitement du langage développé avec la technique du transfert de connaissances, ce qui lui permet d’utiliser les connaissances acquises lors de son entraînement pour générer des réponses plus précises et utiles.

Installation de ChatGPT-Wrapper.

ChatGPT-Wrapper ouvre une page Web en arrière-plan et enregistre/transmet la conversation à votre interface de ligne de commande ou à votre application.

Pour utiliser ChatGPT-Wrapper, nous aurons besoin des modules Python suivants :

  • pyreadline3 : bibliothèque implémentant la fonctionnalité GNU readline
  • setuptools : bibliothèque de processus de développement de packages conçue pour faciliter l’empaquetage de projets Python.

Pour installer, ces bibliothèques, il suffit juste d’exécuter :

pip install pyreadline3

pip install setuptools

Et nous installons la dernière version de ChatGPT-Wrapper, directement depuis Github avec la commande pip suivante :

pip install git+https://github.com/mmabrouk/chatgpt-wrapperstall

Sous le capot, ChatGPT-Wrapper utilise Playwright pour interagir avec ChatGPT via un navigateur Web. Donc en installant ChatGPT-Wrapper , le module Python Playwright sera installé comme une dépendance. Il faut donc utiliser playwright pour installer un navigateur Web (par défaut, c’est le navigateur Firefox qui est installé) avec la commande suivante :

playwright install

Ensuite, il est nécessaire de s’authentifier avec ChatGPT. Pour cela, exécuter :

chatgpt install

Cela ouvrira une page d’authentification dans le navigateur web que vous avez installé en utilisant Playwright. Comme ci-dessous, authentifiez-vous avec votre compte ChatGPT enregistré.

Authentification ChatGPT

Une fois l’authentification effectuée, fermer le navigateur playwright.

Le SDK ChatGPT-Wrapper fournit une interface de ligne de commande.

Utilisation du SDK ChatGPT-Wrapper en ligne de commande

En plus de demander directement à ChatGPT, le shell fournit un certain nombre de commandes détaillées sur le repositry Github.

En Python, pour utiliser la classe ChatGPT du SDK comme API pour parler à ChatGPT, créer une instance de la classe et utilisez la méthode ask pour envoyer un message à OpenAI et recevoir la réponse.

Par exemple :

# https://github.com/mmabrouk/chatgpt-wrapper
from chatgpt_wrapper import ChatGPT

PROMPT = "Comment exploiter la puissance de l'énergie solaire avec des panneaux Solaire ?"

botChatGPT = ChatGPT()

response = botChatGPT.ask("Comment exploiter la puissance de l'énergie solaire avec des panneaux Solaire ?")
print(response)

La méthode ask prend un argument de type chaîne représentant le message à envoyer à ChatGPT, et renvoie une chaîne représentant la réponse reçue de ChatGPT.

Vous pouvez également utiliser la réponse au fur et à mesure qu’elle arrive de ChatGPT en utilisant le mode streaming (diffusion de la réponse brute de ChatGPT) avec la méthode ask_stream de la manière suivante :

# https://github.com/mmabrouk/chatgpt-wrapper
from chatgpt_wrapper import ChatGPT

PROMPT = "Comment exploiter la puissance de l'énergie solaire avec des panneaux Solaire ?"

botChatGPT = ChatGPT()

for chunk in botChatGPT.ask_stream(PROMPT):
    print(chunk, end="")

Comme vous l’aurez remarqué, le SDK ChatGPT-Wrapper est facile à utiliser. Soit en ligne de commande avec un shell, soit en programmation avec Python.
Le seul problème est que cela est assez lent. En effet, comme il interagit avec un navigateur Web il faut un certain temps pour voir la réponse.

Laisser un commentaire