ThomasBlumet
update interface app
12476bc
raw
history blame
2.52 kB
from transformers import BartForConditionalGeneration, BartTokenizer
from transformers.utils import logging
import gradio as gr
#define the logger instance
logger = logging.get_logger("transformers")
# Charger le modèle BART et le tokenizer
model_name = "facebook/bart-large-cnn"
tokenizer = BartTokenizer.from_pretrained(model_name)
model = BartForConditionalGeneration.from_pretrained(model_name)
# Fonction pour générer du texte
def generate_text(prompt):
inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=512)
summary_ids = model.generate(inputs["input_ids"], max_length=150, min_length=40, length_penalty=2.0, num_beams=4, early_stopping=True)
return tokenizer.decode(summary_ids[0], skip_special_tokens=True)
#for training the model after the data is collected
#model.save_pretrained("model")
#tokenizer.save_pretrained("model")
#for the app functions
def clear_save_textbox(message):
return " ", message
def show_input_text(message,history:list[tuple[str,str]]):
history.append((message,""))
story = generate_text(message)
history[-1] = (message,story)
return history
def delete_previous_text(history:list[tuple[str,str]]):
try:
message, _ = history.pop()
except IndexError:
message = " "
return history, message
# Créer une interface de saisie avec Gradio
#interface = gr.Interface(fn=generate_text, inputs="text", outputs="text",title="TeLLMyStory",description="Enter your story idea and the model will generate the story based on it.")
with gr.Blocks() as demo:
gr.Markdown("TeLLMyStory chatbot")
#input_text = blocks.text(name="input_text", label="Enter your story idea here", default="Once upon a time, there was")
with gr.Row():
input_text = gr.Textbox(name="input_text", label="Enter your story idea here", default="Once upon a time, there was")
clear_button = demo.button(name="clear_button", label="Clear", fn=clear_save_textbox, inputs=[input_text],variants=["secondary"])
retry_button = demo.button(name="retry_button", label="Retry", fn=delete_previous_text, inputs=[input_text],variants=["secondary"])
with gr.Row():
gr.Markdown("History of your story ideas")
gen_story = gr.Textbox(name="story", label="History", default=" ", type="text",readonly=True)
send_button = demo.button(name="send_button", label="Send", fn=show_input_text, inputs=[input_text],outputs=[gen_story],variants=["primary"])
# Lancer l'interface
demo.launch()