makekali commited on
Commit
8f2ed12
Β·
verified Β·
1 Parent(s): adea141

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -6
app.py CHANGED
@@ -3,26 +3,39 @@ import gradio as gr
3
  from model_loader import MODELS, load_models
4
  from chat_utils import chat, download_chat
5
 
 
6
  loaded_models = load_models(MODELS)
7
 
8
  with gr.Blocks(theme=gr.themes.Monochrome()) as demo:
9
- gr.Markdown("<h1 style='text-align:center;'>🧠 Lightweight Coding Assistant</h1>")
10
 
11
  with gr.Row():
12
  model_selector = gr.Dropdown(choices=list(MODELS.keys()), value=list(MODELS.keys())[0], label="Choose Model")
13
  clear_button = gr.Button("🧹 Clear Chat")
14
  download_btn = gr.Button("⬇️ Download Chat")
15
 
16
- chatbot = gr.Chatbot(label="Conversation", show_copy_button=True)
17
  prompt_box = gr.Textbox(placeholder="Ask a coding question...", label="Your Prompt")
18
  submit_btn = gr.Button("πŸš€ Send")
19
 
20
  chat_state = gr.State([])
21
 
22
- submit_btn.click(chat, [prompt_box, chat_state, model_selector, loaded_models], [chatbot, chat_state])
23
- prompt_box.submit(chat, [prompt_box, chat_state, model_selector, loaded_models], [chatbot, chat_state])
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  clear_button.click(lambda: ([], []), None, [chatbot, chat_state])
25
  download_btn.click(download_chat, [chat_state], file_name="chat.txt")
26
 
27
- if __name__ == "__main__":
28
- demo.launch()
 
3
  from model_loader import MODELS, load_models
4
  from chat_utils import chat, download_chat
5
 
6
+ # Load models once at startup
7
  loaded_models = load_models(MODELS)
8
 
9
  with gr.Blocks(theme=gr.themes.Monochrome()) as demo:
10
+ gr.Markdown("<h1 style='text-align:center;'>πŸ’» Multi-Model Coding Assistant</h1>")
11
 
12
  with gr.Row():
13
  model_selector = gr.Dropdown(choices=list(MODELS.keys()), value=list(MODELS.keys())[0], label="Choose Model")
14
  clear_button = gr.Button("🧹 Clear Chat")
15
  download_btn = gr.Button("⬇️ Download Chat")
16
 
17
+ chatbot = gr.Chatbot(label="Conversation", show_copy_button=True, type="messages")
18
  prompt_box = gr.Textbox(placeholder="Ask a coding question...", label="Your Prompt")
19
  submit_btn = gr.Button("πŸš€ Send")
20
 
21
  chat_state = gr.State([])
22
 
23
+ def wrapped_chat(prompt, history, model_name):
24
+ return chat(prompt, history, model_name, loaded_models)
25
+
26
+ submit_btn.click(
27
+ wrapped_chat,
28
+ inputs=[prompt_box, chat_state, model_selector],
29
+ outputs=[chatbot, chat_state]
30
+ )
31
+
32
+ prompt_box.submit(
33
+ wrapped_chat,
34
+ inputs=[prompt_box, chat_state, model_selector],
35
+ outputs=[chatbot, chat_state]
36
+ )
37
+
38
  clear_button.click(lambda: ([], []), None, [chatbot, chat_state])
39
  download_btn.click(download_chat, [chat_state], file_name="chat.txt")
40
 
41
+ demo.launch()