Spaces:
Running
Running
File size: 1,554 Bytes
6941b34 d00f8d2 6941b34 d00f8d2 6941b34 d00f8d2 6941b34 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 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() |