cosmosai471 commited on
Commit
8536ecc
·
verified ·
1 Parent(s): e40c923

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -23
app.py CHANGED
@@ -1,13 +1,13 @@
1
  import gradio as gr
2
  from lunacode import smart_luna_answer, text_to_speech_luna
3
 
4
- def respond(message, history, system_message, max_tokens):
5
- try:
6
- result = smart_luna_answer(message, max_tokens=max_tokens)
7
- return result
8
- except Exception as e:
9
- return f"Error: {str(e)}"
10
 
 
11
  def voice_chat(audio, max_tokens):
12
  import speech_recognition as sr
13
  recognizer = sr.Recognizer()
@@ -17,39 +17,43 @@ def voice_chat(audio, max_tokens):
17
  try:
18
  text = recognizer.recognize_google(audio_data)
19
  except:
20
- return "Could not understand audio", None
21
 
22
  response_text = smart_luna_answer(text, max_tokens=max_tokens)
23
  audio_path = text_to_speech_luna(response_text)
24
  return response_text, audio_path
25
 
26
- # Voice tab
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  voice_interface = gr.Interface(
28
  fn=voice_chat,
29
  inputs=[
30
- gr.Audio(type="filepath", label="Speak to Luna"),
31
  gr.Slider(minimum=128, maximum=2048, value=512, step=1, label="Max new tokens")
32
  ],
33
  outputs=[
34
  gr.Textbox(label="Luna's Response"),
35
  gr.Audio(label="Luna Speaks")
36
  ],
37
- title="Luna Voice Assistant",
38
- description="Speak to Luna and hear her response!",
39
- )
40
-
41
- # Text chat
42
- chat_interface = gr.ChatInterface(
43
- fn=respond,
44
- additional_inputs=[
45
- gr.Textbox(value="You are a helpful AI assistant.", label="System message"),
46
- gr.Slider(minimum=128, maximum=2048, value=512, step=1, label="Max new tokens"),
47
- ],
48
- title="Luna AI — Code & Web Enhanced Assistant",
49
- description="Ask Luna questions, generate code, and explore smart AI-powered answers with web context!",
50
  )
51
 
52
- # Tabs
53
  demo = gr.TabbedInterface(
54
  [chat_interface, voice_interface],
55
  ["Chat with Luna", "Voice with Luna"]
 
1
  import gradio as gr
2
  from lunacode import smart_luna_answer, text_to_speech_luna
3
 
4
+ # TEXT CHAT
5
+ def text_chat(user_input, max_tokens, system_message, history):
6
+ response = smart_luna_answer(user_input, max_tokens=max_tokens)
7
+ history.append((user_input, response))
8
+ return history, history
 
9
 
10
+ # VOICE CHAT
11
  def voice_chat(audio, max_tokens):
12
  import speech_recognition as sr
13
  recognizer = sr.Recognizer()
 
17
  try:
18
  text = recognizer.recognize_google(audio_data)
19
  except:
20
+ return "Sorry, could not understand audio", None
21
 
22
  response_text = smart_luna_answer(text, max_tokens=max_tokens)
23
  audio_path = text_to_speech_luna(response_text)
24
  return response_text, audio_path
25
 
26
+ # INTERFACE 1: CHAT
27
+ chat_interface = gr.Interface(
28
+ fn=text_chat,
29
+ inputs=[
30
+ gr.Textbox(label="Your Message"),
31
+ gr.Slider(minimum=128, maximum=2048, value=512, step=1, label="Max new tokens"),
32
+ gr.Textbox(value="You are a helpful AI assistant.", label="System message"),
33
+ gr.State([]) # chat history
34
+ ],
35
+ outputs=[
36
+ gr.Chatbot(label="Luna Chat"),
37
+ gr.State([])
38
+ ],
39
+ title="Luna Chat Assistant"
40
+ )
41
+
42
+ # INTERFACE 2: VOICE
43
  voice_interface = gr.Interface(
44
  fn=voice_chat,
45
  inputs=[
46
+ gr.Audio(source="microphone", type="filepath", label="Speak to Luna"),
47
  gr.Slider(minimum=128, maximum=2048, value=512, step=1, label="Max new tokens")
48
  ],
49
  outputs=[
50
  gr.Textbox(label="Luna's Response"),
51
  gr.Audio(label="Luna Speaks")
52
  ],
53
+ title="Luna Voice Assistant"
 
 
 
 
 
 
 
 
 
 
 
 
54
  )
55
 
56
+ # TABS
57
  demo = gr.TabbedInterface(
58
  [chat_interface, voice_interface],
59
  ["Chat with Luna", "Voice with Luna"]