import gradio as gr from managers.evaluator import Evaluator class App: def __init__(self): self.interface = gr.Blocks() self._build_interface() def _build_interface(self): with self.interface: gr.Markdown("# Basic Agent Evaluation Runner") gr.Markdown("Follow instructions to run and evaluate the agent.") gr.LoginButton() run_button = gr.Button("Run Evaluation & Submit All Answers") status_output = gr.Textbox(label="Run Status / Submission Result", lines=5, interactive=False) results_table = gr.DataFrame(label="Questions and Agent Answers", wrap=True) run_button.click( fn=App.evaluate_agent, outputs=[status_output, results_table] ) @staticmethod def evaluate_agent(profile: gr.OAuthProfile | None): evaluator = Evaluator(profile) return evaluator.run_and_submit() def run(self): print("Launching Gradio Interface...") self.interface.launch(debug=True, share=False)