Spaces:
Build error
Build error
Commit
·
ee0e203
1
Parent(s):
8c70192
Update app.py
Browse files
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 |
|