Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 19 additions & 28 deletions backend/apps/data_training/api/data_training.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ async def pager(session: SessionDep, current_user: CurrentUser, current_page: in

@router.put("", response_model=int, summary=f"{PLACEHOLDER_PREFIX}create_or_update_dt")
@require_permissions(permission=SqlbotPermission(role=['ws_admin'], type='ds', keyExpression="info.datasource"))
@system_log(LogConfig(operation_type=OperationType.CREATE_OR_UPDATE, module=OperationModules.DATA_TRAINING,resource_id_expr='info.id', result_id_expr="result_self"))
@system_log(LogConfig(operation_type=OperationType.CREATE_OR_UPDATE, module=OperationModules.DATA_TRAINING,
resource_id_expr='info.id', result_id_expr="result_self"))
async def create_or_update(session: SessionDep, current_user: CurrentUser, trans: Trans, info: DataTrainingInfo):
oid = current_user.oid
if info.id:
Expand All @@ -55,14 +56,16 @@ async def create_or_update(session: SessionDep, current_user: CurrentUser, trans


@router.delete("", summary=f"{PLACEHOLDER_PREFIX}delete_dt")
@system_log(LogConfig(operation_type=OperationType.DELETE, module=OperationModules.DATA_TRAINING,resource_id_expr='id_list'))
@system_log(
LogConfig(operation_type=OperationType.DELETE, module=OperationModules.DATA_TRAINING, resource_id_expr='id_list'))
@require_permissions(permission=SqlbotPermission(role=['ws_admin']))
async def delete(session: SessionDep, id_list: list[int]):
delete_training(session, id_list)


@router.get("/{id}/enable/{enabled}", summary=f"{PLACEHOLDER_PREFIX}enable_dt")
@system_log(LogConfig(operation_type=OperationType.UPDATE, module=OperationModules.DATA_TRAINING,resource_id_expr='id'))
@system_log(
LogConfig(operation_type=OperationType.UPDATE, module=OperationModules.DATA_TRAINING, resource_id_expr='id'))
@require_permissions(permission=SqlbotPermission(role=['ws_admin']))
async def enable(session: SessionDep, id: int, enabled: bool, trans: Trans):
enable_training(session, id, enabled, trans)
Expand All @@ -89,9 +92,7 @@ def inner():
fields.append(AxisObj(name=trans('i18n_data_training.problem_description'), value='question'))
fields.append(AxisObj(name=trans('i18n_data_training.sample_sql'), value='description'))
fields.append(AxisObj(name=trans('i18n_data_training.effective_data_sources'), value='datasource_name'))
if current_user.oid == 1:
fields.append(
AxisObj(name=trans('i18n_data_training.advanced_application'), value='advanced_application_name'))
fields.append(AxisObj(name=trans('i18n_data_training.advanced_application'), value='advanced_application_name'))

md_data, _fields_list = DataFormat.convert_object_array_for_pandas(fields, data_list)

Expand Down Expand Up @@ -127,10 +128,9 @@ def inner():
fields.append(AxisObj(name=trans('i18n_data_training.sample_sql_template'), value='description'))
fields.append(
AxisObj(name=trans('i18n_data_training.effective_data_sources_template'), value='datasource_name'))
if current_user.oid == 1:
fields.append(
AxisObj(name=trans('i18n_data_training.advanced_application_template'),
value='advanced_application_name'))
fields.append(
AxisObj(name=trans('i18n_data_training.advanced_application_template'),
value='advanced_application_name'))

md_data, _fields_list = DataFormat.convert_object_array_for_pandas(fields, data_list)

Expand Down Expand Up @@ -175,10 +175,7 @@ async def upload_excel(trans: Trans, current_user: CurrentUser, file: UploadFile

oid = current_user.oid

use_cols = [0, 1, 2] # 问题, 描述, 数据源名称
# 根据oid确定要读取的列
if oid == 1:
use_cols = [0, 1, 2, 3] # 问题, 描述, 数据源名称, 高级应用名称
use_cols = [0, 1, 2, 3] # 问题, 描述, 数据源名称, 高级应用名称

def inner():

Expand Down Expand Up @@ -211,19 +208,14 @@ def inner():
description = row[1].strip() if pd.notna(row[1]) and row[1].strip() else ''
datasource_name = row[2].strip() if pd.notna(row[2]) and row[2].strip() else ''

advanced_application_name = ''
if oid == 1 and len(row) > 3:
advanced_application_name = None
if len(row) > 3:
advanced_application_name = row[3].strip() if pd.notna(row[3]) and row[3].strip() else ''

if oid == 1:
import_data.append(
DataTrainingInfo(oid=oid, question=question, description=description,
datasource_name=datasource_name,
advanced_application_name=advanced_application_name))
else:
import_data.append(
DataTrainingInfo(oid=oid, question=question, description=description,
datasource_name=datasource_name))
import_data.append(
DataTrainingInfo(oid=oid, question=question, description=description,
datasource_name=datasource_name,
advanced_application_name=advanced_application_name))

res = batch_create_training(session, import_data, oid, trans)

Expand All @@ -247,9 +239,8 @@ def inner():
fields.append(AxisObj(name=trans('i18n_data_training.problem_description'), value='question'))
fields.append(AxisObj(name=trans('i18n_data_training.sample_sql'), value='description'))
fields.append(AxisObj(name=trans('i18n_data_training.effective_data_sources'), value='datasource_name'))
if current_user.oid == 1:
fields.append(
AxisObj(name=trans('i18n_data_training.advanced_application'), value='advanced_application_name'))
fields.append(
AxisObj(name=trans('i18n_data_training.advanced_application'), value='advanced_application_name'))
fields.append(AxisObj(name=trans('i18n_data_training.error_info'), value='errors'))

md_data, _fields_list = DataFormat.convert_object_array_for_pandas(fields, data_list)
Expand Down
Loading