Programmer du python en langage naturel

Grâce à une IA telle GPT-3 de OpenAI

L'essentiel de cette page

Pouvoir programmer du R sans avoir à fouiller dans de la doc ou dans le web. N'est-ce pas un rêve. C'est maintenant possible avec les IA NLP (Natural Language Processing) dont le CodeX de GPT-3 fait partie. Priorité maintenant à l'invite à l'assemblage !

Etape 1 - Je me connecte à GPT-3 de OpenIA

Le lien présent permet de se connecter à GPT-3 de OpenAI . Je n'ai plus qu'à cliquer sur "LOG IN" (en haut à droite), puis à basculer dans la fenêtre "Playground" (l'onglet en haut).

Ensuite, je choisis l'option "Text to command" (par défaut, c'est noté Grammatical Standard English)

Dans cette capture d'écran, on voit la fenêtre de base de "Text to command".

Astuce : mieux vaut laisser la Temperature (à droite) à 0 quand on fait du code si on veut par que l'IA face du délire créatif.

Le bouton Submit sera presque notre seul bouton. Facile !

Etape 2 - Je code ! en python ! Sans rien savoir ! (ou presque)

Peu importe que j'écrive en français ou en anglais, mais attention, en général, cela marchera mieux en anglais. Prenons un exemple :

1) Je colle le texte suivant dans la fenêtre principale : on voit ici la consigne principale (faire du code python) et un exemple qui va guider GPT-3 pour qu'il s'adapte à mon raisonnement. Je peux d'ailleurs ajouter d'autres exemples.

Enfin, tout en bas, je lui demande de charger les données et de faire un test de corrélation entre x et y. Quant au graphique le plus adapté, s'il a du bon sens, il fera un plot(), un graphique de type y = f(x).

Convertit ce texte en langage python :

Exemple: Charge iris du module seaborn. Variable quantitative : sepal_length, Variable qualitative : species. Fait un test de comparaison des moyennes de la variable quantitative en fonction de la qualitative. Réalise le graphique le plus adapté.

Output:

import seaborn as sns

iris = sns.load_dataset('iris')

# Fait un test de comparaison des moyennes

import statsmodels.formula.api as sm

mdl = sm.ols('sepal_length~ species', data = iris)

res = mdl.fit()

import statsmodels.api

table = statsmodels.api.stats.anova_lm(res)

# Réalise le graphique le plus adapté

import numpy as np ; import pandas as pd ; import matplotlib.pyplot as plt

iris[["sepal_length","species"]].groupby("species").apply(np.mean).plot(kind="bar")

plt.show()



Charge iris du module seaborn. Variable x : Sepal.Length, Variable y : Sepal.Width. Fait un test de corrélation pour établir un lien entre x et y. Réalise le graphique le plus adapté.

2) Je fais ensuite Submit. (le bouton vert)

3) Résultat de sortie output :

Bingo ! Un code parfait et même déjà commenté qu'il ne reste qu'à affiner !

import seaborn as sns

iris = sns.load_dataset('iris')

# Fait un test de corrélation pour établir un lien entre x et y

import scipy.stats as stats

corr = stats.pearsonr(iris['sepal_length'], iris['sepal_width'])

print(corr)

# Réalise le graphique le plus adapté

import matplotlib.pyplot as plt

plt.scatter(iris['sepal_length'], iris['sepal_width'])

plt.xlabel('Sepal Length')

plt.ylabel('Sepal Width')

plt.show()

# ATTENTION DE JOUER SUR LE PARAMETRE Maximum_length de GPT-3 si vous voulez afficher un long code non tronqué.

En gros, je viens de me tier une balle dans le pied : mon site internet ne sert plus à rien. Bravo !