|
|
|
|
|
import gradio as gr |
|
from agents.programmer import ProgrammerAgent |
|
from agents.debugger import DebuggerAgent |
|
from agents.base_agent import ACPMessage |
|
from firebase.firebase_config import log_message_to_firestore |
|
|
|
|
|
codebot = ProgrammerAgent() |
|
bugbot = DebuggerAgent() |
|
|
|
def chat_with_bots(user_input): |
|
|
|
msg_to_codebot = ACPMessage(sender="User", receiver="CodeBot", performative="request", content=user_input) |
|
msg_to_bugbot = ACPMessage(sender="User", receiver="BugBot", performative="request", content=user_input) |
|
|
|
|
|
log_message_to_firestore(msg_to_codebot.to_dict()) |
|
log_message_to_firestore(msg_to_bugbot.to_dict()) |
|
|
|
|
|
reply_codebot = codebot.receive_message(msg_to_codebot) |
|
reply_bugbot = bugbot.receive_message(msg_to_bugbot) |
|
|
|
|
|
log_message_to_firestore(reply_codebot.to_dict()) |
|
log_message_to_firestore(reply_bugbot.to_dict()) |
|
|
|
|
|
full_reply = f""" |
|
π§ **CodeBot** (Programmer): |
|
{reply_codebot.content} |
|
|
|
π **BugBot** (Debugger): |
|
{reply_bugbot.content} |
|
""" |
|
return full_reply.strip() |
|
|
|
|
|
with gr.Blocks(title="BotTalks: Chat with 2 AI Agents") as demo: |
|
gr.Markdown("# π€ BotTalks: Chat with 2 AI Friends!\nAsk anything and see how both agents respond.") |
|
input_box = gr.Textbox(label="You", placeholder="Ask something like: How do I reverse a list?", lines=2) |
|
output_box = gr.Textbox(label="Responses", lines=10) |
|
|
|
send_btn = gr.Button("Send") |
|
|
|
send_btn.click(chat_with_bots, inputs=input_box, outputs=output_box) |
|
|
|
demo.launch() |
|
|