Spaces:
Running on Zero
Running on Zero
File size: 2,334 Bytes
7f9dfed | 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 | from __future__ import annotations
import gradio as gr
from agent.runner import (
export_agent_traces,
export_agent_traces_hf_dataset,
run_agent_loop,
run_paper_to_code_loop,
save_agent_trace,
)
from ui.progress import CLICK_PROGRESS
def build_agent_tab() -> None:
gr.Markdown("Agent mode drafts a local research -> plan -> implement -> verify trace.")
task = gr.Textbox(label="Agent task", lines=5, placeholder="Example: improve field-note export")
plan = gr.Button("Draft agent trace", variant="primary")
gr.Markdown("### Paper-to-code trace")
paper_title = gr.Textbox(label="Paper title", placeholder="Optional paper or technique name")
paper_notes = gr.Textbox(
label="Paper notes",
lines=5,
placeholder="Paste key claims or abstract",
)
paper_goal = gr.Textbox(
label="Implementation goal",
lines=3,
placeholder="Example: reproduce the evaluation loop locally",
)
paper_plan = gr.Button("Draft paper-to-code trace")
export = gr.Button("Export traces")
export_dataset = gr.Button("Export traces dataset")
output = gr.Textbox(label="Plan", lines=10)
trace = gr.JSON(label="Trace")
def draft_plan(task_text: str) -> tuple[str, dict]:
session = run_agent_loop(task_text)
save_agent_trace(session)
return session.as_markdown(), session.as_dict()
def draft_paper_plan(title: str, notes: str, goal: str) -> tuple[str, dict]:
session = run_paper_to_code_loop(title, notes, goal)
save_agent_trace(session)
return session.as_markdown(), session.as_dict()
def export_trace_file() -> dict:
path = export_agent_traces()
return {"exported_to": str(path)}
def export_trace_dataset() -> dict:
path = export_agent_traces_hf_dataset()
return {"exported_to": str(path)}
plan.click(draft_plan, task, [output, trace], show_progress=CLICK_PROGRESS)
paper_plan.click(
draft_paper_plan,
[paper_title, paper_notes, paper_goal],
[output, trace],
show_progress=CLICK_PROGRESS,
)
export.click(export_trace_file, outputs=trace, show_progress=CLICK_PROGRESS)
export_dataset.click(
export_trace_dataset,
outputs=trace,
show_progress=CLICK_PROGRESS,
)
|