mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
perf: Assistant uses workspace-level Q&A configuration
This commit is contained in:
@@ -162,10 +162,7 @@ def create_training(session: SessionDep, info: DataTrainingInfo, oid: int, trans
|
||||
|
||||
# 检查数据源和高级应用不能同时为空
|
||||
if info.datasource is None and info.advanced_application is None:
|
||||
if oid == 1:
|
||||
raise Exception(trans("i18n_data_training.datasource_assistant_cannot_be_none"))
|
||||
else:
|
||||
raise Exception(trans("i18n_data_training.datasource_cannot_be_none"))
|
||||
raise Exception(trans("i18n_data_training.datasource_assistant_cannot_be_none"))
|
||||
|
||||
# 检查重复记录
|
||||
stmt = select(DataTraining.id).where(
|
||||
@@ -221,10 +218,7 @@ def update_training(session: SessionDep, info: DataTrainingInfo, oid: int, trans
|
||||
raise Exception(trans("i18n_data_training.description_cannot_be_empty"))
|
||||
|
||||
if info.datasource is None and info.advanced_application is None:
|
||||
if oid == 1:
|
||||
raise Exception(trans("i18n_data_training.datasource_assistant_cannot_be_none"))
|
||||
else:
|
||||
raise Exception(trans("i18n_data_training.datasource_cannot_be_none"))
|
||||
raise Exception(trans("i18n_data_training.datasource_assistant_cannot_be_none"))
|
||||
|
||||
count = session.query(DataTraining).filter(
|
||||
DataTraining.id == info.id
|
||||
@@ -310,11 +304,11 @@ def batch_create_training(session: SessionDep, info_list: List[DataTrainingInfo]
|
||||
datasource_name_to_id[ds.name.strip()] = ds.id
|
||||
|
||||
assistant_name_to_id = {}
|
||||
if oid == 1:
|
||||
assistant_stmt = select(AssistantModel.id, AssistantModel.name).where(AssistantModel.type == 1)
|
||||
assistant_result = session.execute(assistant_stmt).all()
|
||||
for assistant in assistant_result:
|
||||
assistant_name_to_id[assistant.name.strip()] = assistant.id
|
||||
|
||||
assistant_stmt = select(AssistantModel.id, AssistantModel.name).where(and_(AssistantModel.type == 1, AssistantModel.oid == oid))
|
||||
assistant_result = session.execute(assistant_stmt).all()
|
||||
for assistant in assistant_result:
|
||||
assistant_name_to_id[assistant.name.strip()] = assistant.id
|
||||
|
||||
# 验证和转换数据
|
||||
valid_records = []
|
||||
@@ -338,7 +332,7 @@ def batch_create_training(session: SessionDep, info_list: List[DataTrainingInfo]
|
||||
|
||||
# 高级应用验证和转换
|
||||
advanced_application_id = None
|
||||
if oid == 1 and info.advanced_application_name and info.advanced_application_name.strip():
|
||||
if info.advanced_application_name and info.advanced_application_name.strip():
|
||||
if info.advanced_application_name.strip() in assistant_name_to_id:
|
||||
advanced_application_id = assistant_name_to_id[info.advanced_application_name.strip()]
|
||||
else:
|
||||
@@ -346,12 +340,8 @@ def batch_create_training(session: SessionDep, info_list: List[DataTrainingInfo]
|
||||
trans("i18n_data_training.advanced_application_not_found").format(info.advanced_application_name))
|
||||
|
||||
# 检查数据源和高级应用不能同时为空
|
||||
if oid == 1:
|
||||
if not datasource_id and not advanced_application_id:
|
||||
error_messages.append(trans("i18n_data_training.datasource_assistant_cannot_be_none"))
|
||||
else:
|
||||
if not datasource_id:
|
||||
error_messages.append(trans("i18n_data_training.datasource_cannot_be_none"))
|
||||
if not datasource_id and not advanced_application_id:
|
||||
error_messages.append(trans("i18n_data_training.datasource_assistant_cannot_be_none"))
|
||||
|
||||
if error_messages:
|
||||
failed_records.append({
|
||||
|
||||
@@ -11,7 +11,6 @@ import IconOpeDelete from '@/assets/svg/icon_delete.svg'
|
||||
import icon_searchOutline_outlined from '@/assets/svg/icon_search-outline_outlined.svg'
|
||||
import EmptyBackground from '@/views/dashboard/common/EmptyBackground.vue'
|
||||
import { useClipboard } from '@vueuse/core'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import { getAdvancedApplicationList } from '@/api/embedded.ts'
|
||||
@@ -26,7 +25,6 @@ interface Form {
|
||||
advanced_application_name: string | null
|
||||
description: string | null
|
||||
}
|
||||
const userStore = useUserStore()
|
||||
const { t } = useI18n()
|
||||
const multipleSelectionAll = ref<any[]>([])
|
||||
const keywords = ref('')
|
||||
@@ -42,10 +40,6 @@ onMounted(() => {
|
||||
search()
|
||||
})
|
||||
|
||||
const isDefaultOrg = computed(() => {
|
||||
return userStore.oid === '1'
|
||||
})
|
||||
|
||||
const dialogFormVisible = ref<boolean>(false)
|
||||
const multipleTableRef = ref()
|
||||
const isIndeterminate = ref(true)
|
||||
@@ -261,14 +255,13 @@ const rules = computed(() => {
|
||||
},
|
||||
],
|
||||
}
|
||||
if (!isDefaultOrg.value) {
|
||||
_list.datasource = [
|
||||
{
|
||||
required: true,
|
||||
message: t('datasource.Please_select') + t('common.empty') + t('ds.title'),
|
||||
},
|
||||
]
|
||||
}
|
||||
// _list.datasource = [
|
||||
// {
|
||||
// required: true,
|
||||
// message: t('datasource.Please_select') + t('common.empty') + t('ds.title'),
|
||||
// },
|
||||
// ]
|
||||
|
||||
return _list
|
||||
})
|
||||
|
||||
@@ -276,11 +269,9 @@ const list = () => {
|
||||
datasourceApi.list().then((res: any) => {
|
||||
options.value = res || []
|
||||
})
|
||||
if (isDefaultOrg.value) {
|
||||
getAdvancedApplicationList().then((res: any) => {
|
||||
adv_options.value = res || []
|
||||
})
|
||||
}
|
||||
getAdvancedApplicationList().then((res: any) => {
|
||||
adv_options.value = res || []
|
||||
})
|
||||
}
|
||||
|
||||
const saveHandler = () => {
|
||||
@@ -426,7 +417,6 @@ const onRowFormClose = () => {
|
||||
</el-table-column>
|
||||
<el-table-column prop="datasource_name" :label="$t('ds.title')" min-width="180" />
|
||||
<el-table-column
|
||||
v-if="isDefaultOrg"
|
||||
prop="advanced_application_name"
|
||||
:label="$t('embedded.advanced_application')"
|
||||
min-width="180"
|
||||
@@ -588,11 +578,7 @@ const onRowFormClose = () => {
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
v-if="isDefaultOrg"
|
||||
prop="advanced_application"
|
||||
:label="t('embedded.advanced_application')"
|
||||
>
|
||||
<el-form-item prop="advanced_application" :label="t('embedded.advanced_application')">
|
||||
<el-select
|
||||
v-model="pageForm.advanced_application"
|
||||
filterable
|
||||
@@ -653,7 +639,7 @@ const onRowFormClose = () => {
|
||||
{{ pageForm.datasource_name }}
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="isDefaultOrg" :label="t('embedded.advanced_application')">
|
||||
<el-form-item :label="t('embedded.advanced_application')">
|
||||
<div class="content">
|
||||
{{ pageForm.advanced_application_name }}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user