ThomasBlumet
launch interface
45b30ae
raw
history blame
2.38 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(label="Enter your story idea here")
#clear_button = gr.Button("Clear",variant="secondary")
#clear_button.click(fn=clear_save_textbox, inputs=[input_text])
#retry_button = gr.Button("Retry", fn=delete_previous_text, inputs=[input_text],variants=["secondary"])
with gr.Row():
gr.Markdown("History of your story ideas")
gen_story = gr.Textbox(label="History")
#send_button = gr.Button(name="send_button", label="Send", fn=show_input_text, inputs=[input_text],outputs=[gen_story],variants=["primary"])
# Lancer l'interface
interface.launch()