Spaces:
Running
Running
import torch | |
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer | |
import gradio as gr | |
# Charger le modèle et le tokenizer | |
model_name = "Moustapha91/bart_large_poetique-v02" | |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) | |
tokenizer = AutoTokenizer.from_pretrained(model_name) | |
# Fonction de génération ajustée | |
# Fonction de génération ajustée | |
def generate_summary(input_text): | |
inputs = tokenizer( | |
input_text, | |
padding="max_length", | |
max_length=512, # Ajustez si nécessaire | |
return_tensors="pt", | |
truncation=True, | |
) | |
input_ids = inputs.input_ids.to(model.device) | |
attention_mask = inputs.attention_mask.to(model.device) | |
# Génération avec des paramètres personnalisés | |
outputs = model.generate( | |
input_ids=input_ids, | |
attention_mask=attention_mask, | |
max_length=512, | |
num_beams=4, | |
temperature=1.0, | |
early_stopping=True, | |
repetition_penalty=6.0, | |
no_repeat_ngram_size=5, | |
) | |
output_str = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
return output_str | |
# Liste d'exemples enrichis | |
examples = [ | |
"L'amour, cet élan mystérieux qui unit les âmes, est une lumière douce dans les ténèbres du quotidien.", | |
"Les tirailleurs sénégalais, ces soldats venus d'Afrique, ont marqué l'histoire par leur courage et leur sacrifice. Recrutés à partir de 1857 sous l'autorité coloniale française, ils provenaient de nombreux pays d'Afrique de l'Ouest.", | |
"Il était une fois un garçon plein de rêves et d'espoir. Porté par une vision audacieuse, il rêvait d'unifier toute l'Afrique sous un même idéal de paix et de solidarité.", | |
"L'eau, source de vie, est l'élément essentiel qui relie tous les êtres vivants. Elle coule dans les rivières, traverse les montagnes et nourrit la terre.", | |
"Dans un petit village au cœur de l'Afrique, une vieille femme racontait les légendes des ancêtres à la lumière des étoiles, transmettant ainsi leur sagesse aux générations futures." | |
] | |
# Personnalisation de la description et de l'interface | |
title = "📝 Générateur de Texte Poétique et Résumé" | |
description = """ | |
Bienvenue dans notre application interactive de génération de texte poétique ou résumé ! 🖋️ | |
Utilisez ce modèle pré-entraîné pour transformer des idées en textes élégants et expressifs. | |
Ajoutez un paragraphe dans la zone ci-dessous et voyez la magie opérer ! | |
""" | |
about = """ | |
### À propos | |
Ce projet utilise le modèle **BART** de Facebook, connu pour ses capacités avancées en résumé et génération de texte. | |
Créé pour inspirer, éduquer et honorer l'héritage de la littérature et des récits africains. | |
Vous pouvez tester avec les exemples ci-dessus ou entrer vos propres idées. | |
--- | |
📚 **Exemples suggérés :** | |
- Un texte sur l'amour. | |
- Une introduction sur les tirailleurs sénégalais. | |
- Un récit d'unité et d'espoir en Afrique. | |
""" | |
# Interface Gradio améliorée | |
interface = gr.Interface( | |
fn=generate_summary, | |
inputs=gr.Textbox( | |
lines=10, | |
placeholder="Entrez un texte à transformer en poème ou résumé ici...", | |
label="🖊️ Texte à transformer" | |
), | |
outputs=gr.Textbox( | |
lines=10, | |
label="✨ Texte généré" | |
), | |
examples=examples, | |
title=title, | |
description=description, | |
theme="compact", # Thème compact et moderne | |
article=about, # Section 'À propos' | |
allow_flagging="never", # Désactive le flagging si inutile | |
) | |
# Lancer l'application | |
interface.launch() | |