Nathan Franklin commited on
Commit
d4b5f92
·
1 Parent(s): 97e9b74

use gr chatbot built in to keep and display history and change to gr blocks instead of interface

Browse files
Files changed (1) hide show
  1. app.py +58 -39
app.py CHANGED
@@ -3,12 +3,11 @@ from faster_whisper import WhisperModel
3
 
4
  model = WhisperModel("tiny")
5
 
6
- def generate_response(correction_intensity,
7
- language_level,
8
- buddy_personality,
9
- language_choice,
10
- user_query_audio
11
- ):
12
  # Convert input audio to text
13
 
14
  language_codes = {'English':'en',
@@ -20,45 +19,65 @@ def generate_response(correction_intensity,
20
  language=language_codes[language_choice]
21
  )
22
  user_query_transcribed = list(user_query_transcribed_segments)[0].text.strip()
 
23
 
24
  # Ask llm for response to text
25
 
 
 
26
 
27
  # Convert llm response to audio
28
- # Return converted llm response
 
29
 
30
- return user_query_transcribed
31
 
32
- demo = gr.Interface(
33
- fn=generate_response,
34
- inputs=[
35
- gr.Slider(
36
- minimum=1,
37
- maximum=5,
38
- step=1,
39
- label='Grammar Correction Intensity'
40
- ),
41
- gr.Dropdown(
42
- choices=['Beginner', 'Intermediate', 'Advanced'],
43
- label='Language Level'
44
- ),
45
- gr.Dropdown(
46
- choices=['Formal Teacher', 'Flirty Friend', 'Sarcastic Bro'],
47
- label='Language Buddy Personality'
48
- ),
49
- gr.Dropdown(
50
- choices=['English', 'Urdu', 'Japanese'],
51
- label='Language Choice',
52
- value='English'),
53
- gr.Audio(
54
- sources='microphone',
55
- show_download_button=True,
56
- type='filepath'
57
- )],
58
- outputs=[
59
- gr.Textbox(label='AI Buddy Response')
60
- ],
61
- title="AI Language Buddy"
62
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
64
  demo.launch()
 
3
 
4
  model = WhisperModel("tiny")
5
 
6
+ def generate_response(
7
+ language_level, buddy_personality,
8
+ language_choice, user_query_audio,
9
+ chatbot_history
10
+ ):
 
11
  # Convert input audio to text
12
 
13
  language_codes = {'English':'en',
 
19
  language=language_codes[language_choice]
20
  )
21
  user_query_transcribed = list(user_query_transcribed_segments)[0].text.strip()
22
+ user_message = 'User: ' + user_query_transcribed
23
 
24
  # Ask llm for response to text
25
 
26
+ bot_message = 'Bot: ' + user_query_transcribed
27
+ chatbot_history.append((user_query_transcribed, bot_message))
28
 
29
  # Convert llm response to audio
30
+ # Return None to reset user input audio and
31
+ # llm response + user inputs in chatbot_history object to be displayed
32
 
33
+ return None, chatbot_history
34
 
35
+ with gr.Blocks() as demo:
36
+
37
+ header_section = gr.Markdown(
38
+ """
39
+ # AI Language Buddy!
40
+ Click the **converse** button to practice your language skills!
41
+ """)
42
+
43
+ language = gr.Dropdown(
44
+ choices=['English', 'Spanish', 'Japanese'],
45
+ label='Language Choice',
46
+ value='English'
47
+ )
48
+
49
+ language_level = gr.Dropdown(
50
+ choices=['Beginner', 'Intermediate', 'Advanced'],
51
+ label='Language Level',
52
+ value='Beginner'
53
+ )
54
+
55
+ personality = gr.Dropdown(
56
+ choices=['Formal Teacher', 'Flirty Friend', 'Sarcastic Bro'],
57
+ label='Language Buddy Personality',
58
+ value='Flirty Friend'
59
+ )
60
+
61
+ chatbot = gr.Chatbot()
62
+
63
+ user_input = gr.Audio(
64
+ sources='microphone',
65
+ show_download_button=True,
66
+ type='filepath'
67
+ )
68
+
69
+ converse_button = gr.Button("Send Message")
70
+
71
+ clear_button = gr.Button("Clear Convo History")
72
+
73
+ converse_button.click(
74
+ fn=generate_response,
75
+ inputs=[
76
+ language_level, personality,
77
+ language, user_input,
78
+ chatbot
79
+ ],
80
+ outputs=[user_input, chatbot]
81
+ )
82
 
83
  demo.launch()