dsd16 commited on
Commit
5a7c8ed
·
1 Parent(s): 1c42415

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -0
app.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
3
+
4
+
5
+ def language_model(input_prompt, input_numBeams, input_min_text_length, input_max_length,
6
+ input_length_penalty, input_temp):
7
+ model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-t5-large")
8
+ tokenizer = AutoTokenizer.from_pretrained("google/flan-t5-large")
9
+
10
+ text_input = input_prompt
11
+ beams = int(input_numBeams)
12
+ min_text_length = int(input_min_text_length)
13
+ max_text_length = int(input_max_length)
14
+ penalty = int(input_length_penalty)
15
+ temp = float(input_temp)
16
+
17
+ inputs = tokenizer(text_input, return_tensors = "pt")
18
+ outputs = model.generate(**inputs,
19
+ min_length=min_text_length, \
20
+ max_new_tokens=max_text_length, \
21
+ length_penalty=penalty, \
22
+ num_beams=beams, \
23
+ no_repeat_ngram_size=2, \
24
+ early_stopping=True, \
25
+ temperature=temp)
26
+ return tokenizer.batch_decode(outputs, skip_special_tokens=True)
27
+
28
+
29
+ language_model_UI = gr.Interface(fn=language_model,
30
+ inputs=[gr.Textbox(lines = 1, placeholder="Enter your prompt..."), # input_prompt
31
+ gr.Slider(minimum=1, maximum=50, value=16, label="Number of Beams"), # input_numBeams
32
+ gr.Slider(minimum=20, maximum=5000, value=100, step=50, label="Minimum text length"), # input_min_text_length
33
+ gr.Slider(minimum=21, maximum=1000, value=250, step=50, label="Maximum text length"), # input_max_length
34
+ gr.Slider(minimum=0, maximum=10, value=2, step=1, label="Penalty length"), # input_length_penalty
35
+ gr.Slider(minimum=0, maximum=1, value=.8, step=.1, label="Temperature") # input_temp
36
+ ],
37
+ outputs="text",
38
+ title = "Dre's ChatGPT")
39
+
40
+ language_model_UI.launch(share=True)