adeelshuaib commited on
Commit
248713a
1 Parent(s): 8f33c3e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -12
app.py CHANGED
@@ -1,18 +1,16 @@
1
- # Import required libraries
2
- from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification
3
  import gradio as gr
 
 
4
  import matplotlib.pyplot as plt
5
  import pandas as pd
6
- from speechbrain.pretrained import Tacotron2, HIFIGAN, EncoderDecoderASR
7
 
8
- # Load Hugging Face psychometric model
9
- psych_model_name = "KevSun/Personality_LM" # Big Five personality traits
10
  psych_model = pipeline("text-classification", model=psych_model_name)
11
 
12
- # Load ASR model
13
  asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-crdnn-rnnlm-librispeech", savedir="tmp_asr")
14
-
15
- # Load TTS model
16
  tts_model = Tacotron2.from_hparams(source="speechbrain/tts-tacotron2-ljspeech", savedir="tmp_tts")
17
  voc_model = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech", savedir="tmp_voc")
18
 
@@ -28,7 +26,7 @@ audio_questions = [
28
  "How do you handle stressful situations?"
29
  ]
30
 
31
- # Function to analyze text response
32
  def analyze_text_responses(responses):
33
  analysis = [psych_model(response)[0] for response in responses]
34
  traits = {response["label"]: response["score"] for response in analysis}
@@ -77,8 +75,9 @@ def chat_interface(candidate_name, text_responses, audio_responses):
77
  audio_df, audio_plot = audio_part(candidate_name, audio_responses)
78
  return text_df, text_plot, audio_df, audio_plot
79
 
 
80
  text_inputs = [gr.Textbox(label=f"Response to Q{i+1}: {q}") for i, q in enumerate(text_questions)]
81
- audio_inputs = [gr.Audio(label=f"Response to Q{i+1}: {q}", type="file") for i, q in enumerate(audio_questions)]
82
 
83
  interface = gr.Interface(
84
  fn=chat_interface,
@@ -87,5 +86,5 @@ interface = gr.Interface(
87
  title="Psychometric Analysis Chatbot"
88
  )
89
 
90
- # Launch chatbot
91
- interface.launch()
 
1
+ # Importing necessary libraries
 
2
  import gradio as gr
3
+ from transformers import pipeline
4
+ from speechbrain.pretrained import Tacotron2, HIFIGAN, EncoderDecoderASR
5
  import matplotlib.pyplot as plt
6
  import pandas as pd
 
7
 
8
+ # Initialize psychometric model
9
+ psych_model_name = "KevSun/Personality_LM"
10
  psych_model = pipeline("text-classification", model=psych_model_name)
11
 
12
+ # Initialize ASR and TTS models
13
  asr_model = EncoderDecoderASR.from_hparams(source="speechbrain/asr-crdnn-rnnlm-librispeech", savedir="tmp_asr")
 
 
14
  tts_model = Tacotron2.from_hparams(source="speechbrain/tts-tacotron2-ljspeech", savedir="tmp_tts")
15
  voc_model = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech", savedir="tmp_voc")
16
 
 
26
  "How do you handle stressful situations?"
27
  ]
28
 
29
+ # Function to analyze text responses
30
  def analyze_text_responses(responses):
31
  analysis = [psych_model(response)[0] for response in responses]
32
  traits = {response["label"]: response["score"] for response in analysis}
 
75
  audio_df, audio_plot = audio_part(candidate_name, audio_responses)
76
  return text_df, text_plot, audio_df, audio_plot
77
 
78
+ # Create text inputs and audio inputs
79
  text_inputs = [gr.Textbox(label=f"Response to Q{i+1}: {q}") for i, q in enumerate(text_questions)]
80
+ audio_inputs = [gr.Audio(label=f"Response to Q{i+1}: {q}", type="filepath") for i, q in enumerate(audio_questions)]
81
 
82
  interface = gr.Interface(
83
  fn=chat_interface,
 
86
  title="Psychometric Analysis Chatbot"
87
  )
88
 
89
+ # Launch the interface
90
+ interface.launch()