aymnsk commited on
Commit
b84b954
·
verified ·
1 Parent(s): 3957bf5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -57
app.py CHANGED
@@ -1,67 +1,59 @@
1
- # app/app.py
2
-
3
  import gradio as gr
4
- from agents.programmer import ProgrammerAgent
5
- from agents.debugger import DebuggerAgent
6
  from agents.base_agent import ACPMessage
7
 
8
- # Instantiate agents
9
  aymaan = ProgrammerAgent()
10
  zaid = DebuggerAgent()
11
 
12
- # Agent memory
13
- memory = []
14
 
15
- # Chat function
16
  def chat(user_input):
17
  if not user_input.strip():
18
- return memory
19
-
20
- # Format user's message
21
- memory.append({"role": "user", "content": user_input, "name": "You", "avatar": "🧑", "color": "#ff0000"})
22
-
23
- # Create messages for both agents
24
- msg_for_aymaan = ACPMessage(sender="You", receiver="Aymaan", performative="inform", content=user_input)
25
- msg_for_zaid = ACPMessage(sender="You", receiver="Zaid", performative="inform", content=user_input)
26
-
27
- # Get responses
28
- aymaan_reply = aymaan.receive_message(msg_for_aymaan)
29
- zaid_reply = zaid.receive_message(msg_for_zaid)
30
-
31
- # Append replies to memory
32
- memory.append({"role": "assistant", "content": aymaan_reply.content, "name": "Aymaan", "avatar": "💬", "color": "#00cc66"})
33
- memory.append({"role": "assistant", "content": zaid_reply.content, "name": "Zaid", "avatar": "🐞", "color": "#ffa500"})
34
-
35
- return memory
36
-
37
- # Reset memory
38
- def reset():
39
- memory.clear()
40
- return memory
41
-
42
- # Custom chat styling
43
- with gr.Blocks(theme=gr.themes.Base(), css=".message { border-radius: 999px !important; min-height: 250px; }") as demo:
44
- gr.Markdown("## 🤖 BotTalks: Chat with Aymaan & Zaid (TinyLLaMA + Mistral)")
45
- chatbot = gr.Chatbot(label="Group Chat", type='messages', show_copy_button=True)
46
-
47
  with gr.Row():
48
- msg = gr.Textbox(placeholder="Say something...", scale=8)
49
- send_btn = gr.Button("Send", scale=1)
50
- reset_btn = gr.Button("🧹 Reset Memory", scale=1)
51
-
52
- send_btn.click(chat, inputs=[msg], outputs=[chatbot])
53
- msg.submit(chat, inputs=[msg], outputs=[chatbot])
54
- reset_btn.click(reset, outputs=[chatbot])
55
-
56
- # Footer with social links
57
- gr.Markdown(
58
- "<div style='text-align: right; font-size: 14px;'>"
59
- "🔗 Connect: "
60
- "<a href='https://www.linkedin.com/in/aymnsk' target='_blank'>LinkedIn</a> | "
61
- "<a href='https://github.com/aymnsk' target='_blank'>GitHub</a> | "
62
- "<a href='https://www.instagram.com/damnn_aymn/' target='_blank'>Instagram</a> | "
63
- "<a href='https://huggingface.co/aymnsk' target='_blank'>HF</a>"
64
- "</div>"
65
- )
66
-
67
- demo.launch()
 
 
 
1
  import gradio as gr
2
+ from app.agents.programmer import ProgrammerAgent
3
+ from app.agents.debugger import DebuggerAgent
4
  from agents.base_agent import ACPMessage
5
 
 
6
  aymaan = ProgrammerAgent()
7
  zaid = DebuggerAgent()
8
 
9
+ chat_memory = []
 
10
 
 
11
  def chat(user_input):
12
  if not user_input.strip():
13
+ return chat_memory
14
+
15
+ user_msg = ACPMessage(sender="User", receiver="Aymaan", performative="inform", content=user_input)
16
+
17
+ # Responses from agents
18
+ response_aymaan = aymaan.receive_message(user_msg)
19
+ response_zaid = zaid.receive_message(user_msg)
20
+
21
+ # Save to memory
22
+ chat_memory.append({"role": "user", "content": user_input})
23
+ chat_memory.append({"role": "aymaan", "content": response_aymaan.content})
24
+ chat_memory.append({"role": "zaid", "content": response_zaid.content})
25
+
26
+ return chat_memory
27
+
28
+ def reset_memory():
29
+ global chat_memory
30
+ chat_memory = []
31
+ return chat_memory
32
+
33
+ with gr.Blocks(css="footer {margin-top: 2em; text-align: center;}") as demo:
34
+ gr.Markdown("## 🤖 BotTalks: Chat with 2 AI Friends!\nAsk anything and see what Aymaan and Zaid say.")
35
+
36
+ chatbot = gr.Chatbot(label="Group Chat", type='messages', height=250)
37
+ msg = gr.Textbox(label="You")
38
+ send_btn = gr.Button("Send")
39
+ clear_btn = gr.Button("🧹 Reset Memory")
40
+
 
41
  with gr.Row():
42
+ send_btn.render()
43
+ clear_btn.render()
44
+
45
+ send_btn.click(chat, inputs=msg, outputs=chatbot)
46
+ clear_btn.click(reset_memory, outputs=chatbot)
47
+
48
+ gr.HTML("""
49
+ <footer>
50
+ 🔗 Connect:
51
+ <a href="https://www.linkedin.com/in/aymnsk" target="_blank">LinkedIn</a> |
52
+ <a href="https://github.com/aymnsk" target="_blank">GitHub</a> |
53
+ <a href="https://www.instagram.com/damnn_aymn/" target="_blank">Instagram</a> |
54
+ <a href="https://huggingface.co/aymnsk" target="_blank">HF</a>
55
+ </footer>
56
+ """)
57
+
58
+ if __name__ == "__main__":
59
+ demo.launch()