File size: 2,376 Bytes
437cdee
12476bc
437cdee
 
12476bc
 
 
437cdee
 
 
 
 
 
 
 
 
 
 
aa5f698
 
 
 
12476bc
 
 
 
 
 
 
 
 
aa5f698
12476bc
 
 
 
 
 
aa5f698
12476bc
45b30ae
12476bc
 
 
 
caab722
45b30ae
 
 
12476bc
 
 
caab722
12476bc
45b30ae
12476bc
 
45b30ae
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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()