from transformers import GPT2LMHeadModel, GPT2Tokenizer

# Charger le modèle GPT-2 français et le tokenizer
tokenizer_fr = GPT2Tokenizer.from_pretrained('antoiloui/belgpt2')
model_fr = GPT2LMHeadModel.from_pretrained('antoiloui/belgpt2')

def generer_texte_avec_gpt2_fr(phrase):
    # Tokeniser la phrase en français
    tokens_fr = tokenizer_fr.encode(phrase, return_tensors='pt')

    # Générer du texte avec GPT-2 français
    sortie_fr = model_fr.generate(tokens_fr, max_length=100, num_beams=5, no_repeat_ngram_size=2, top_k=50, top_p=0.95, temperature=0.7)

    # Décoder la sortie en français
    texte_genere_fr = tokenizer_fr.decode(sortie_fr[0], skip_special_tokens=True)
    return texte_genere_fr

# Exemple d'utilisation avec un poème de Verlaine
phrase_test_verlaine = "Les sanglots longs des violons de l'automne, blessent mon cœur d'une langueur monotone."
texte_genere_gpt2_fr = generer_texte_avec_gpt2_fr(phrase_test_verlaine)

print("Phrase test (Verlaine) : ", phrase_test_verlaine)
print("Texte généré avec GPT-2 français : ", texte_genere_gpt2_fr)
