cody82 commited on
Commit
dca9874
·
verified ·
1 Parent(s): 9116b46

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -5
app.py CHANGED
@@ -2,7 +2,7 @@ import torch
2
  import gradio as gr
3
  from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
4
 
5
- model_id = "openai-community/gpt2" # можно flan-t5-large, если хватает памяти
6
  tokenizer = AutoTokenizer.from_pretrained(model_id)
7
  model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
8
  device = "cuda" if torch.cuda.is_available() else "cpu"
@@ -13,7 +13,7 @@ context = """
13
  специализирующийся на IT и робототехнике, расположенный в городе Иннополис, Татарстан.
14
  """
15
 
16
- def respond(message, history=None):
17
  if history is None:
18
  history = []
19
 
@@ -33,10 +33,18 @@ def respond(message, history=None):
33
  do_sample=False,
34
  eos_token_id=tokenizer.eos_token_id
35
  )
 
36
  answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
37
 
38
  history.append((message, answer))
39
- return history
 
 
 
 
 
 
 
 
40
 
41
- iface = gr.ChatInterface(fn=respond, title="Innopolis Q&A")
42
- iface.launch()
 
2
  import gradio as gr
3
  from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
4
 
5
+ model_id = "google/flan-t5-base" # можно flan-t5-large, если хватает памяти
6
  tokenizer = AutoTokenizer.from_pretrained(model_id)
7
  model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
8
  device = "cuda" if torch.cuda.is_available() else "cpu"
 
13
  специализирующийся на IT и робототехнике, расположенный в городе Иннополис, Татарстан.
14
  """
15
 
16
+ def respond(message, history):
17
  if history is None:
18
  history = []
19
 
 
33
  do_sample=False,
34
  eos_token_id=tokenizer.eos_token_id
35
  )
36
+
37
  answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
38
 
39
  history.append((message, answer))
40
+ return history, history
41
+
42
+ with gr.Blocks() as demo:
43
+ chatbot = gr.Chatbot()
44
+ message = gr.Textbox(placeholder="Введите вопрос...")
45
+ state = gr.State([])
46
+
47
+ message.submit(respond, inputs=[message, state], outputs=[chatbot, state])
48
+ message.submit(lambda: "", None, message) # очистка поля ввода
49
 
50
+ demo.launch()