feat(frontend): 添加生成数据集进度条功能并优化了界面布局
This commit is contained in:
parent
db6e2271dc
commit
7242a2ce03
@ -44,7 +44,9 @@ def dataset_generate_page():
|
||||
)
|
||||
prompt_state = gr.State(value=initial_prompt)
|
||||
|
||||
generate_button = gr.Button("生成数据集")
|
||||
generate_button = gr.Button("生成数据集",variant="primary")
|
||||
|
||||
output_text = gr.Textbox(label="生成结果", interactive=False)
|
||||
|
||||
variables_dataframe = gr.Dataframe(
|
||||
headers=["变量名", "变量值"],
|
||||
@ -54,7 +56,6 @@ def dataset_generate_page():
|
||||
value=initial_dataframe_value # 设置初始化数据
|
||||
)
|
||||
|
||||
output_text = gr.Textbox(label="生成结果", interactive=False)
|
||||
|
||||
def on_doc_change(selected_doc):
|
||||
# print(f"文档选择已更改为: {selected_doc}")
|
||||
@ -67,10 +68,11 @@ def dataset_generate_page():
|
||||
prompt_content = prompt_data["content"]
|
||||
prompt_template = PromptTemplate.from_template(prompt_content)
|
||||
input_variables = prompt_template.input_variables
|
||||
dataframe_value = [[var, ""] for var in input_variables]
|
||||
input_variables.remove("document_slice")
|
||||
dataframe_value = [] if input_variables is None else input_variables
|
||||
return selected_prompt, dataframe_value
|
||||
|
||||
def on_generate_click(doc_state, prompt_state, variables_dataframe):
|
||||
def on_generate_click(doc_state, prompt_state, variables_dataframe, progress=gr.Progress()):
|
||||
variables_dict = {}
|
||||
# 正确遍历DataFrame的行数据
|
||||
for _, row in variables_dataframe.iterrows():
|
||||
@ -79,6 +81,20 @@ def dataset_generate_page():
|
||||
if var_name:
|
||||
variables_dict[var_name] = var_value
|
||||
|
||||
import time
|
||||
total_steps = 10
|
||||
for i in range(total_steps):
|
||||
# 模拟每个步骤的工作负载
|
||||
time.sleep(0.5)
|
||||
|
||||
# 更新进度条
|
||||
# 第一个参数是当前的进度比例 (0.0 到 1.0)
|
||||
# desc 参数可以动态更新进度条旁边的描述文字
|
||||
current_progress = (i + 1) / total_steps
|
||||
progress(current_progress, desc=f"处理步骤 {i + 1}/{total_steps}")
|
||||
|
||||
return "all done"
|
||||
|
||||
|
||||
doc_dropdown.change(on_doc_change, inputs=doc_dropdown, outputs=doc_state)
|
||||
prompt_dropdown.change(on_prompt_change, inputs=prompt_dropdown, outputs=[prompt_state, variables_dataframe])
|
||||
|
Loading…
x
Reference in New Issue
Block a user