from agents import Runner import gradio as gr from dotenv import load_dotenv from reviewer_agent import reviewer from defender_agent import defender from judge_agent import judge load_dotenv(override=True) async def run_review(code: str): if not code.strip(): yield "Please paste some code." return # Start log yield "Running AI agents..." # Reviewer review_result = await Runner.run( reviewer, f"Review this code:\n\n{code}" ) review = review_result.final_output # Defender defense_result = await Runner.run( defender, f"Code:{code}. Reviewer feedback: {review}. Respond to the reviewer." ) defense = defense_result.final_output # Judge judge_result = await Runner.run( judge, f"Code: {code} Review: {review} Defense: {defense} Evaluate the debate and give a final verdict." ) verdict = judge_result.final_output # Final result yield f""" # AI Code Review Arena ## Reviewer {review} --- ## Defender {defense} --- ## Judge Verdict {verdict} """ demo = gr.Interface( fn=run_review, inputs=gr.Textbox( lines=18, placeholder="Paste your code here...", label="Code Input" ), outputs=gr.Markdown(), submit_btn="Run Review", title="AI Code Review Arena", description="Three AI agents debate your code: Reviewer → Defender → Judge." ) if __name__ == "__main__": demo.launch()