gorkemgoknar commited on
Commit
ee0e203
1 Parent(s): 8c70192

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -4
app.py CHANGED
@@ -1,7 +1,7 @@
1
  import gradio as gr
2
  import random
3
  import torch
4
- from transformers import AutoConfig
5
  from transformers import GPT2Tokenizer, GPT2LMHeadModel
6
  from itertools import chain
7
 
@@ -14,7 +14,17 @@ import numpy as np
14
  from TTS.utils.manage import ModelManager
15
  from TTS.utils.synthesizer import Synthesizer
16
 
 
 
17
 
 
 
 
 
 
 
 
 
18
  config = AutoConfig.from_pretrained('gorkemgoknar/gpt2chatbotenglish')
19
  model = GPT2LMHeadModel.from_pretrained('gorkemgoknar/gpt2chatbotenglish', config=config)
20
 
@@ -22,6 +32,7 @@ tokenizer = GPT2Tokenizer.from_pretrained('gorkemgoknar/gpt2chatbotenglish')
22
  tokenizer.model_max_length = 1024
23
 
24
 
 
25
  #Dynamic Temperature
26
  #See experiment https://www.linkedin.com/pulse/ai-goes-job-interview-g%25C3%25B6rkem-g%25C3%25B6knar
27
 
@@ -119,7 +130,8 @@ def greet(character,your_voice,message,history):
119
  os.system('tts --text "'+response+'" --model_name tts_models/multilingual/multi-dataset/your_tts --speaker_wav '+speaker_wav+' --language_idx "en"')
120
 
121
  history["message_history"].append((message, response))
122
-
 
123
 
124
  html = "<div class='chatbot'>"
125
  for user_msg, resp_msg in history["message_history"]:
@@ -127,7 +139,7 @@ def greet(character,your_voice,message,history):
127
  html += f"<div class='resp_msg'>{character}: {resp_msg}</div>"
128
  html += "</div>"
129
 
130
- return "tts_output.wav",html,history
131
 
132
 
133
 
@@ -157,7 +169,7 @@ examples=[['Gandalf','Hello','dragon.wav']]
157
  history = {"character": "None", "message_history" : [] }
158
  interface= gr.Interface(fn=greet,
159
  inputs=[gr.inputs.Dropdown(personality_choices),gr.inputs.Audio(source="microphone", type="filepath") ,"text", "state"],
160
- outputs=[gr.outputs.Audio(type="file"),"html","state"],
161
  css=css, title=title, description=description,article=article )
162
 
163
 
 
1
  import gradio as gr
2
  import random
3
  import torch
4
+ from transformers import AutoConfig, AutoTokenizer, AutoModelWithLMHead
5
  from transformers import GPT2Tokenizer, GPT2LMHeadModel
6
  from itertools import chain
7
 
 
14
  from TTS.utils.manage import ModelManager
15
  from TTS.utils.synthesizer import Synthesizer
16
 
17
+ emotion_tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-base-finetuned-emotion")
18
+ emotion_model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-base-finetuned-emotion")
19
 
20
+ def get_emotion(text):
21
+ input_ids = tokenizer.encode(text + '</s>', return_tensors='pt')
22
+ output = model.generate(input_ids=input_ids,max_length=2)
23
+ dec = [tokenizer.decode(ids) for ids in output]
24
+ label = dec[0]
25
+ return label.split()[1]
26
+
27
+
28
  config = AutoConfig.from_pretrained('gorkemgoknar/gpt2chatbotenglish')
29
  model = GPT2LMHeadModel.from_pretrained('gorkemgoknar/gpt2chatbotenglish', config=config)
30
 
 
32
  tokenizer.model_max_length = 1024
33
 
34
 
35
+
36
  #Dynamic Temperature
37
  #See experiment https://www.linkedin.com/pulse/ai-goes-job-interview-g%25C3%25B6rkem-g%25C3%25B6knar
38
 
 
130
  os.system('tts --text "'+response+'" --model_name tts_models/multilingual/multi-dataset/your_tts --speaker_wav '+speaker_wav+' --language_idx "en"')
131
 
132
  history["message_history"].append((message, response))
133
+
134
+ emotion = get_emotion(response)
135
 
136
  html = "<div class='chatbot'>"
137
  for user_msg, resp_msg in history["message_history"]:
 
139
  html += f"<div class='resp_msg'>{character}: {resp_msg}</div>"
140
  html += "</div>"
141
 
142
+ return "tts_output.wav",emotion, html,history
143
 
144
 
145
 
 
169
  history = {"character": "None", "message_history" : [] }
170
  interface= gr.Interface(fn=greet,
171
  inputs=[gr.inputs.Dropdown(personality_choices),gr.inputs.Audio(source="microphone", type="filepath") ,"text", "state"],
172
+ outputs=[gr.outputs.Audio(type="file"),"text","html","state"],
173
  css=css, title=title, description=description,article=article )
174
 
175