feat(frontend): 实现数据集生成页面的文档和模板选择功能
- 添加文档和模板的下拉选择框 - 实现文档和模板选择后的状态更新 - 优化页面布局,分为文档和模板两个列
This commit is contained in:
parent
541d37c674
commit
4d8754aad2
@ -1,9 +1,41 @@
|
|||||||
import gradio as gr
|
import gradio as gr
|
||||||
|
from global_var import docs, scan_docs_directory, prompt_store
|
||||||
|
|
||||||
def dataset_generate_page():
|
def dataset_generate_page():
|
||||||
with gr.Blocks() as demo:
|
with gr.Blocks() as demo:
|
||||||
gr.Markdown("## 数据集生成")
|
gr.Markdown("## 数据集生成")
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
with gr.Column():
|
with gr.Column():
|
||||||
pass
|
# 获取文档列表并设置初始值
|
||||||
|
docs_list = [str(doc.name) for doc in scan_docs_directory("workdir")]
|
||||||
|
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 = prompt_store.all()
|
||||||
|
prompt_choices = [f"{p['id']} {p['name']}" for p in prompts]
|
||||||
|
initial_prompt = prompt_choices[0] if prompt_choices else None
|
||||||
|
|
||||||
|
prompt_dropdown = gr.Dropdown(
|
||||||
|
choices=prompt_choices,
|
||||||
|
value=initial_prompt, # 设置初始选中项
|
||||||
|
label="选择模板",
|
||||||
|
allow_custom_value=True,
|
||||||
|
interactive=True
|
||||||
|
)
|
||||||
|
prompt_state = gr.State(value=initial_prompt) # 用模板初始值初始化状态
|
||||||
|
|
||||||
|
# 绑定事件(保留原有逻辑,确保交互时更新)
|
||||||
|
doc_dropdown.change(lambda x: x, inputs=doc_dropdown, outputs=doc_state)
|
||||||
|
prompt_dropdown.change(lambda x: x, inputs=prompt_dropdown, outputs=prompt_state)
|
||||||
|
|
||||||
return demo
|
return demo
|
@ -1,4 +1,6 @@
|
|||||||
from db import get_sqlite_engine,get_prompt_tinydb
|
from db import get_sqlite_engine,get_prompt_tinydb
|
||||||
|
from tools import scan_docs_directory
|
||||||
|
|
||||||
prompt_store = get_prompt_tinydb("workdir")
|
prompt_store = get_prompt_tinydb("workdir")
|
||||||
sql_engine = get_sqlite_engine("workdir")
|
sql_engine = get_sqlite_engine("workdir")
|
||||||
|
docs = scan_docs_directory("workdir")
|
Loading…
x
Reference in New Issue
Block a user