This commit is contained in:
hailin 2025-07-08 17:49:23 +08:00
parent c48ad6ca73
commit 013f4602de
1 changed files with 19 additions and 35 deletions

View File

@ -18,11 +18,6 @@ def run_eval(
max_prompt_len, num_requests, max_prompt_len, num_requests,
model_override model_override
): ):
"""
1. 动态拼装 evalscope perf 命令
2. 流式打印日志
3. 可选启动可视化报告
"""
global current_process global current_process
timestamp = time.strftime("%Y%m%d-%H%M%S") timestamp = time.strftime("%Y%m%d-%H%M%S")
@ -67,7 +62,6 @@ def run_eval(
full_output += "[Eval Finished]\n" full_output += "[Eval Finished]\n"
# ---------- 可视化报告 ----------
if "Evaluation Report" in output_choices: if "Evaluation Report" in output_choices:
vis_port = 7861 vis_port = 7861
outputs_root = "./outputs" outputs_root = "./outputs"
@ -153,13 +147,9 @@ def enforce_input_exclusive_and_toggle_fields(selected):
input_update = gr.update() if list(selected) == final_list else gr.update(value=final_list) input_update = gr.update() if list(selected) == final_list else gr.update(value=final_list)
show_api_fields = "API Models" in final_sel show_api_fields = "API Models" in final_sel
api_row_update = gr.Row.update(visible=show_api_fields) api_field_update = gr.Column.update(visible=show_api_fields)
show_run_params = bool(final_sel & {"API Models", "Local Models"}) return input_update, api_field_update
# 👇 修复:用通用 gr.update 而非 Column.update
run_params_update = gr.update(visible=show_run_params)
return input_update, api_row_update, run_params_update
# ---------------- 构建 Gradio UI ---------------- # ---------------- 构建 Gradio UI ----------------
@ -171,13 +161,12 @@ with gr.Blocks(title="EvalScope 全功能界面") as demo:
with gr.Row(): with gr.Row():
input_choices = gr.CheckboxGroup( input_choices = gr.CheckboxGroup(
label="选择输入源", label="选择输入源",
choices=["API Models", "Local Models", choices=["API Models", "Local Models", "Benchmarks", "Custom Datasets"],
"Benchmarks", "Custom Datasets"],
interactive=True interactive=True
) )
# ===== API 地址 & Token ===== # ===== API 地址 & 运行参数(统一控制显示) =====
with gr.Row(visible=False) as api_fields: with gr.Column(visible=False) as api_fields:
api_url_input = gr.Textbox( api_url_input = gr.Textbox(
label="API 地址", label="API 地址",
placeholder="https://api.example.com/v1/chat" placeholder="https://api.example.com/v1/chat"
@ -187,24 +176,6 @@ with gr.Blocks(title="EvalScope 全功能界面") as demo:
type="password", type="password",
placeholder="sk-xxx" placeholder="sk-xxx"
) )
# ===== 本地/外部组件 =====
with gr.Row():
with gr.Column():
native_choices = gr.CheckboxGroup(
label="启用本地模块",
choices=["Model Adapter", "Data Adapter",
"Evaluator", "Perf Monitor"]
)
with gr.Column():
other_choices = gr.CheckboxGroup(
label="启用外部后端",
choices=["OpenCompass", "VLMEvalKit",
"RAGAS", "MTEB/CMTEB"]
)
# ===== 运行参数(可隐藏) =====
with gr.Column(visible=False) as run_params_section:
with gr.Accordion("运行参数(可选修改)", open=False): with gr.Accordion("运行参数(可选修改)", open=False):
with gr.Row(): with gr.Row():
api_provider_dropdown = gr.Dropdown( api_provider_dropdown = gr.Dropdown(
@ -244,6 +215,19 @@ with gr.Blocks(title="EvalScope 全功能界面") as demo:
minimum=2048, maximum=32768, step=512, value=15360 minimum=2048, maximum=32768, step=512, value=15360
) )
# ===== 本地/外部组件 =====
with gr.Row():
with gr.Column():
native_choices = gr.CheckboxGroup(
label="启用本地模块",
choices=["Model Adapter", "Data Adapter", "Evaluator", "Perf Monitor"]
)
with gr.Column():
other_choices = gr.CheckboxGroup(
label="启用外部后端",
choices=["OpenCompass", "VLMEvalKit", "RAGAS", "MTEB/CMTEB"]
)
# ===== 输出形式 ===== # ===== 输出形式 =====
output_choices = gr.CheckboxGroup( output_choices = gr.CheckboxGroup(
label="输出形式", label="输出形式",
@ -263,7 +247,7 @@ with gr.Blocks(title="EvalScope 全功能界面") as demo:
input_choices.change( input_choices.change(
fn=enforce_input_exclusive_and_toggle_fields, fn=enforce_input_exclusive_and_toggle_fields,
inputs=input_choices, inputs=input_choices,
outputs=[input_choices, api_fields, run_params_section] outputs=[input_choices, api_fields]
) )
run_button.click( run_button.click(