|
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) |