import gradio as gr import time class PlannerAgent: def run(self, query): return { "goal": query, "tasks": [ "Understand the topic", "Collect important information", "Generate final report" ] } class ResearchAgent: def run(self, plan): topic = plan["goal"] research = f""" Topic: {topic} Key Points: • Definition and overview • Major applications • Advantages • Challenges • Future scope """ return research class WriterAgent: def run(self, research): report = f""" # AI Generated Report {research} Conclusion: This report summarizes the important aspects of the topic and provides a concise overview. """ return report planner = PlannerAgent() researcher = ResearchAgent() writer = WriterAgent() def multi_agent_workflow(query): if not query.strip(): return "Please enter a topic." plan = planner.run(query) time.sleep(1) research = researcher.run(plan) time.sleep(1) final_report = writer.run(research) return final_report demo = gr.Interface( fn=multi_agent_workflow, inputs=gr.Textbox( lines=2, placeholder="Enter any topic..." ), outputs=gr.Markdown(), title="Multi-Agent AI Research Assistant", description=""" Planner Agent → Research Agent → Writer Agent Enter a topic and the agents will collaborate to generate a report. """ ) demo.launch()