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)
|
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(
|
variables_dataframe = gr.Dataframe(
|
||||||
headers=["变量名", "变量值"],
|
headers=["变量名", "变量值"],
|
||||||
@ -54,7 +56,6 @@ def dataset_generate_page():
|
|||||||
value=initial_dataframe_value # 设置初始化数据
|
value=initial_dataframe_value # 设置初始化数据
|
||||||
)
|
)
|
||||||
|
|
||||||
output_text = gr.Textbox(label="生成结果", interactive=False)
|
|
||||||
|
|
||||||
def on_doc_change(selected_doc):
|
def on_doc_change(selected_doc):
|
||||||
# print(f"文档选择已更改为: {selected_doc}")
|
# print(f"文档选择已更改为: {selected_doc}")
|
||||||
@ -67,10 +68,11 @@ def dataset_generate_page():
|
|||||||
prompt_content = prompt_data["content"]
|
prompt_content = prompt_data["content"]
|
||||||
prompt_template = PromptTemplate.from_template(prompt_content)
|
prompt_template = PromptTemplate.from_template(prompt_content)
|
||||||
input_variables = prompt_template.input_variables
|
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
|
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 = {}
|
variables_dict = {}
|
||||||
# 正确遍历DataFrame的行数据
|
# 正确遍历DataFrame的行数据
|
||||||
for _, row in variables_dataframe.iterrows():
|
for _, row in variables_dataframe.iterrows():
|
||||||
@ -79,6 +81,20 @@ def dataset_generate_page():
|
|||||||
if var_name:
|
if var_name:
|
||||||
variables_dict[var_name] = var_value
|
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)
|
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])
|
prompt_dropdown.change(on_prompt_change, inputs=prompt_dropdown, outputs=[prompt_state, variables_dataframe])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user