Spaces:
Running
Running
| 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() |