Je me suis aidé de chatGPT pour créer une générateur de poésie en Python! Tout cela en utilisant transformers (et pytorch). C’est un premier pas intéressant dans le monde de l’IA !

Demain, dès l’aube

L’IA, qui utilise GPT2, a généré le poème suivant en partant simplement du bout de phrase “Demain, dès l’aube”

Quelques modifications ont été nécessaires pour donner du sens au poème, mais le résultat est plutôt pas mal:

Demain dès l’aube,
Un orage se lèvera et il marchera.
Il fera son chemin,
Et il ne s’arrêtera pas jusqu’à ce que le grand orage tombe avec lui.
Un orage s’abat sur tout lieu qui passe,
Et ceux qui marchent en seront blessés,
Se briseront les os et mourront.
Il s’abattra avec cet orage,
Et personne n’y prêtera attention,
Et son âme entière sera brisée,
Il entrera dans un état de folie,
Et il sera dépourvu de toutes choses.
Combien de jours il a dû vivre, et combien de jours il n’a pas dû vivre.
Il se dit : “Le vent était fort, les nuages ​​étaient forts et les étoiles étaient belles.”

Qu’en pensez-vous? N’hésitez pas à laisser un commentaire!

Le code et l’explication

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
poetry.py :
Poetry generator program using gpt2
"""

from transformers import GPT2LMHeadModel, GPT2Tokenizer

tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2LMHeadModel.from_pretrained('gpt2') 

#prompt = "I wandered lonely as a cloud" #- Default
#prompt = "tomorrow at dawn"
prompt = "Today is a beautiful day"
input_ids = tokenizer.encode(prompt, return_tensors='pt')

# Generate up to 200 words
max_length = 200
output = model.generate(input_ids, max_length=max_length, do_sample=True, top_p=0.95, top_k=60)

# Decode the generated output back into text
generated_poetry = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_poetry)

# Save generated poetry to a file
poem_name = prompt.replace(' ', '_')  # Replace spaces with underscores
print("Save generated poetry to a file: " + poem_name + '.txt')
with open(poem_name + '.txt', 'w') as file:
    file.write(generated_poetry)
    file.close()

Ce code génère de la poésie en utilisant un modèle pré-entraîné de language naturelle GPT-2 de Hugging Face en utilisant PyTorch.

Il commence par importer les classes GPT2LMHeadModel et GPT2Tokenizer du module transformers et charge le modèle et le tokenizer pour la génération de la poésie.

Ensuite, il définit un prompt, qui est la chaîne de texte de départ pour la génération de la poésie. Vous pouvez décommenter l’une des lignes de prompt pour changer le début de la génération de poésie.

Il encode le prompt en tokens d’entrée pour le modèle à l’aide du tokenizer.

Il définit la longueur maximale de la génération à 50 mots et utilise le modèle pour générer une suite de mots de la poésie.

Ensuite, il décode les tokens de sortie en texte à l’aide du tokenizer et affiche la poésie générée dans la console.

Enfin, il enregistre la poésie générée dans un fichier texte nommé d’après le prompt, avec les espaces remplacés par des tirets bas. Le fichier texte est enregistré dans le même répertoire que le script.

Conclusion

On peut utiliser l’IA simplement pour générer des poèmes.

L’IA semble pessimiste dans son poème mais avec une note d’optimisme à la fin:

Il se dit : “Le vent était fort, les nuages ​​étaient forts et les étoiles étaient belles.”

Tags:

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *