Notre application permet de générer un poème à partir de mots de votre choix.
Vous pouvez en effet sélectionner 3 mots ainsi que la longueur souhaitée du poème.
Amusez-vous bien! 🎉
Cette application a été créée par Yvan Belakebi-Joly, Vinciane Desbois, Simon Mariani & Clémence Millet dans le cadre de notre projet de Cloud Computing.
Pour lancer le générateur de poème vous-même en local :
git clone https://gitlab.com/ensae-dev/projects_2022_2023/poem-generation.git
Vérifiez que votre version de Python est python==3.9
.
pip install -r requirements.txt
flask run
Pour lancer le générateur de poème vous-même en version dockerisée :
docker pull simariani/poemgen:latest
docker run -d -p 5000:5000 simariani/poemgen:latest
Then click on http://localhost:5000/
Pour mettre au point notre générateur de poème, nous avons suivi les étapes suivantes :
- Scrapper les poèmes du site web : https://www.bonjourpoesie.fr
- Finetuner avec les poèmes scrappés un modèle préentrainé de génération de texte (T5)
- Enregistrer ce modèle en ligne à l'aide d'HuggingFace
- Créer l'application Flask
- Tester l'application et le modèle à l'aide de tests unitaires
- Dockériser notre application
- Nous amuser à générer une infinité de poèmes 😄
data_factory
: Dossier qui contient les fichiers de traitement des données
scrapping_poems.py
: script utilisé pour le scrapping de poèmewebscrapped_poem_cleaning.py
: script utilisé pour nettoyer les poèmes issus du webscrappingcreation_keywords.py
: script qui créé le dataset d'entraînement à partir du webscrapping
model
: Dossier qui contient les fichiers de création et d'enregistrement du modèle
config.json
: fichier contenant tous les paramètres du modèle T5special_tokens_map.json
: fichier contenant des features du tokenizer du modèlespiece.model
: fichier contenant des features du tokenizer du modèletokenizer_config.json
: fichier contenant tous les features du tokenizer du modèletokenizer.json
: fichier contenant des features du tokenizer du modèleexport_model_to_huggingface.py
: script permettant d'enregistrer le modèle sur HuggingFacetraining.py
: script d'entraînement du modèle
static
: Dossier qui contient les éléments statiques de l'application
style.css
: fichier CSS contenant les éléments de style utilisés dans les htmllogo.png
: Image représentant le logo de l'applicationsmall_logo_blue.png
: Image représentant le logo de l'application sans le texte
templates
: Dossier qui contient les templates html utiles pour l'application
accueil.html
: html présentant la page d'accueil de l'applicationselection_mots.html
: html permettant l'ajout des motslongueur_vers.html
: html permettant la sélection de la longueur du poème souhaitégenerate_poem.html
: html qui affiche le poème généré
test
: Dossier contenant les tests unitaires
test_app.py
: tests unitaires vérifiant les procédures de l'application flasktest_model.py
: tests unitaires vérifiant les sorties de la fonction de génération de poème
app.py
: script qui permet de lancer l'application avec flaskDockerfile
: fichier qui liste les instructions à exécuter pour build une imagegeneration_t5.py
: script qui génère un poème à partir d'une liste de 3 motsrequirements.txt
: librairies nécessaires pour la création de notre application de génération de poème.gitignore
: éléments que l'on ne souhaite jamais ajouter dans le repository Git