Compare commits

...

3 Commits

Author SHA1 Message Date
carry
d0aebd17fa refactor(global_var): 重构全局变量管理
- 移除了 _docs 全局变量
- 更新了 get_docs() 函数,使其在每次调用时重新扫描文档目录
- 优化了全局变量初始化逻辑
2025-04-15 15:25:44 +08:00
carry
d9abf08184 fix(frontend): 修复表格选择事件的行数据获取问题
- 在 prompt_manage_page 和 setting_page 中更新了 select_record 函数
- 使用 DataFrame.iloc 方法获取选中行的数据,并转换为列表
- 添加了将第一列数据转换为整数的逻辑
- 更新了表格选择事件的参数,增加了输入和输出参数
- 将 gradio 版本升级到 5.25.0
2025-04-15 15:10:15 +08:00
carry
a27a1ab079 refactor(frontend): 重构训练页面布局并优化用户界面
- 调整数据集下拉框布局位置
- 新增超参数输入组件
- 修改训练日志输出框标签为"训练状态"
- 添加 TensorBoard 可视化 iframe 显示框
2025-04-15 00:12:09 +08:00
5 changed files with 28 additions and 26 deletions

View File

@ -61,9 +61,11 @@ def prompt_manage_page():
selected_row = None # 保存当前选中行的全局变量
def select_record(evt: gr.SelectData):
def select_record(dataFrame ,evt: gr.SelectData):
global selected_row
selected_row = evt.row_value
selected_row = dataFrame.iloc[evt.index[0]].tolist()
selected_row[0] = int(selected_row[0])
print(selected_row)
with gr.Blocks() as demo:
gr.Markdown("## 提示词模板管理")
@ -102,7 +104,10 @@ def prompt_manage_page():
outputs=[prompt_table, name_input, description_input, content_input]
)
prompt_table.select(select_record, [], [], show_progress="hidden")
prompt_table.select(fn=select_record,
inputs=[prompt_table],
outputs=[],
show_progress="hidden")
edit_button.click(
fn=edit_prompt,

View File

@ -68,9 +68,11 @@ def setting_page():
selected_row = None # 保存当前选中行的全局变量
def select_record(evt: gr.SelectData):
def select_record(dataFrame ,evt: gr.SelectData):
global selected_row
selected_row = evt.row_value
selected_row = dataFrame.iloc[evt.index[0]].tolist()
selected_row[0] = int(selected_row[0])
print(selected_row)
with gr.Blocks() as demo:
gr.Markdown("## API Provider 管理")
@ -109,7 +111,10 @@ def setting_page():
outputs=[provider_table, model_id_input, base_url_input, api_key_input] # 添加清空输入框的输出
)
provider_table.select(select_record, [], [], show_progress="hidden")
provider_table.select(fn=select_record,
inputs=[provider_table],
outputs=[],
show_progress="hidden")
edit_button.click(
fn=edit_provider,

View File

@ -16,17 +16,15 @@ def train_page():
# 获取数据集列表并设置初始值
datasets_list = [str(ds["name"]) for ds in get_datasets().all()]
initial_dataset = datasets_list[0] if datasets_list else None
dataset_dropdown = gr.Dropdown(
choices=datasets_list,
value=initial_dataset, # 设置初始选中项
label="选择数据集",
allow_custom_value=True,
interactive=True
)
with gr.Row():
with gr.Column(scale=1):
dataset_dropdown = gr.Dropdown(
choices=datasets_list,
value=initial_dataset, # 设置初始选中项
label="选择数据集",
allow_custom_value=True,
interactive=True
)
# 新增超参数输入组件
learning_rate_input = gr.Number(value=2e-4, label="学习率")
per_device_train_batch_size_input = gr.Number(value=1, label="batch size", precision=0)
@ -37,7 +35,7 @@ def train_page():
train_button = gr.Button("开始微调")
# 训练状态输出
output = gr.Textbox(label="训练日志", interactive=False)
output = gr.Textbox(label="训练状态", interactive=False)
with gr.Column(scale=3):
# 新增 TensorBoard iframe 显示框
tensorboard_iframe = gr.HTML(label="TensorBoard 可视化")

View File

@ -3,16 +3,14 @@ from tools import scan_docs_directory
_prompt_store = None
_sql_engine = None
_docs = None
_datasets = None
_model = None
_tokenizer = None
_workdir = None
def init_global_var(workdir="workdir"):
global _prompt_store, _sql_engine, _docs, _datasets, _workdir
global _prompt_store, _sql_engine, _datasets, _workdir
_prompt_store = get_prompt_tinydb(workdir)
_sql_engine = get_sqlite_engine(workdir)
_docs = scan_docs_directory(workdir)
_datasets = get_all_dataset(workdir)
_workdir = workdir
@ -34,12 +32,8 @@ def set_sql_engine(new_sql_engine):
_sql_engine = new_sql_engine
def get_docs():
return _docs
def set_docs(new_docs):
global _docs
_docs = new_docs
global _workdir
return scan_docs_directory(_workdir)
def get_datasets():
return _datasets

View File

@ -1,7 +1,7 @@
openai>=1.0.0
python-dotenv>=1.0.0
pydantic>=2.0.0
gradio>=5.0.0
gradio>=5.25.0
langchain>=0.3
tinydb>=4.0.0
unsloth>=2025.3.19