gzhu-biyesheji/frontend/dataset_generate_page.py
carry 7ee751c88f fix(frontend): 移除文档生成页面的冗余事件绑定代码
- 删除了原有的简单事件绑定逻辑,这些逻辑仅将输入值赋给状态变量
- 为后续添加更复杂的文档选择更改事件处理函数做准备
2025-04-15 20:44:26 +08:00

59 lines
2.2 KiB
Python

import gradio as gr
import sys
from pathlib import Path
sys.path.append(str(Path(__file__).resolve().parent.parent))
from global_var import get_docs, get_prompt_store
def dataset_generate_page():
with gr.Blocks() as demo:
gr.Markdown("## 数据集生成")
with gr.Row():
with gr.Column():
# 获取文档列表并设置初始值
docs_list = [str(doc.name) for doc in get_docs()]
initial_doc = docs_list[0] if docs_list else None
doc_dropdown = gr.Dropdown(
choices=docs_list,
value=initial_doc, # 设置初始选中项
label="选择文档",
allow_custom_value=True,
interactive=True
)
doc_state = gr.State(value=initial_doc) # 用文档初始值初始化状态
with gr.Column():
# 获取模板列表并设置初始值
prompts = get_prompt_store().all()
prompt_list = [f"{p['id']} {p['name']}" for p in prompts]
initial_prompt = prompt_list[0] if prompt_list else None
prompt_dropdown = gr.Dropdown(
choices=prompt_list,
value=initial_prompt, # 设置初始选中项
label="选择模板",
allow_custom_value=True,
interactive=True
)
prompt_state = gr.State(value=initial_prompt) # 用模板初始值初始化状态
# 新增事件绑定
def on_doc_change(selected_doc):
print(f"文档选择已更改为: {selected_doc}")
return selected_doc
def on_prompt_change(selected_prompt):
print(f"模板选择已更改为: {selected_prompt}")
return selected_prompt
doc_dropdown.change(on_doc_change, inputs=doc_dropdown, outputs=doc_state)
prompt_dropdown.change(on_prompt_change, inputs=prompt_dropdown, outputs=prompt_state)
return demo
if __name__ == "__main__":
from global_var import init_global_var
init_global_var("workdir")
demo = dataset_generate_page()
demo.launch()