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()