fix: Optimize the creation of models
--bug=1053742 --user=王孝刚 【模型管理】- 创建模型时,若在选择供应商列表选择了模型类型,进入供应商表单时,携带模型类型 https://www.tapd.cn/57709429/s/1674767
This commit is contained in:
parent
259d1c872b
commit
0ce6dd0795
@ -35,6 +35,8 @@
|
|||||||
v-model="form.model_id"
|
v-model="form.model_id"
|
||||||
:placeholder="$t('views.application.applicationForm.form.aiModel.placeholder')"
|
:placeholder="$t('views.application.applicationForm.form.aiModel.placeholder')"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
|
showFooter
|
||||||
|
:model-type="'LLM'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
</el-option-group>
|
</el-option-group>
|
||||||
<template #footer v-if="showFooter">
|
<template #footer v-if="showFooter">
|
||||||
<slot name="footer">
|
<slot name="footer">
|
||||||
<div class="w-full text-left cursor" @click="openCreateModel()">
|
<div class="w-full text-left cursor" @click="openCreateModel(undefined, props.modelType)">
|
||||||
<el-button type="primary" link>
|
<el-button type="primary" link>
|
||||||
<el-icon class="mr-4">
|
<el-icon class="mr-4">
|
||||||
<Plus />
|
<Plus />
|
||||||
@ -72,7 +72,7 @@
|
|||||||
<SelectProviderDialog
|
<SelectProviderDialog
|
||||||
v-if="showFooter"
|
v-if="showFooter"
|
||||||
ref="selectProviderRef"
|
ref="selectProviderRef"
|
||||||
@change="openCreateModel($event)"
|
@change="(provider, modelType) => openCreateModel(provider, modelType)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -85,11 +85,13 @@ import SelectProviderDialog from '@/views/template/component/SelectProviderDialo
|
|||||||
|
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
|
|
||||||
defineOptions({ name: 'ModelSelect' })
|
defineOptions({ name: 'ModelSelect' })
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: any
|
modelValue: any
|
||||||
options: any
|
options: any
|
||||||
showFooter?: false
|
showFooter?: false
|
||||||
|
modelType?: ''
|
||||||
}>()
|
}>()
|
||||||
|
|
||||||
const emit = defineEmits(['update:modelValue', 'change', 'submitModel'])
|
const emit = defineEmits(['update:modelValue', 'change', 'submitModel'])
|
||||||
@ -121,11 +123,12 @@ function getProvider() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const openCreateModel = (provider?: Provider) => {
|
const openCreateModel = (provider?: Provider, model_type?: string) => {
|
||||||
if (provider && provider.provider) {
|
if (provider && provider.provider) {
|
||||||
createModelRef.value?.open(provider)
|
createModelRef.value?.open(provider, model_type)
|
||||||
} else {
|
} else {
|
||||||
selectProviderRef.value?.open()
|
console.log(model_type)
|
||||||
|
selectProviderRef.value?.open(model_type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,9 +148,11 @@ onMounted(() => {
|
|||||||
background-color: var(--el-fill-color-light);
|
background-color: var(--el-fill-color-light);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.model-icon {
|
.model-icon {
|
||||||
width: 18px;
|
width: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.check-icon {
|
.check-icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
|
|||||||
@ -83,6 +83,7 @@
|
|||||||
@change="model_change"
|
@change="model_change"
|
||||||
@submitModel="getModel"
|
@submitModel="getModel"
|
||||||
showFooter
|
showFooter
|
||||||
|
:model-type="'LLM'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -336,6 +337,7 @@
|
|||||||
v-model="applicationForm.stt_model_id"
|
v-model="applicationForm.stt_model_id"
|
||||||
:placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')"
|
:placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')"
|
||||||
:options="sttModelOptions"
|
:options="sttModelOptions"
|
||||||
|
:model-type="'STT'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@ -398,6 +400,7 @@
|
|||||||
"
|
"
|
||||||
:options="ttsModelOptions"
|
:options="ttsModelOptions"
|
||||||
@change="ttsModelChange()"
|
@change="ttsModelChange()"
|
||||||
|
:model-type="'TTS'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
@ -551,7 +554,7 @@ const applicationForm = ref<ApplicationFormType>({
|
|||||||
prompt: defaultPrompt,
|
prompt: defaultPrompt,
|
||||||
system: t('views.application.applicationForm.form.roleSettings.placeholder'),
|
system: t('views.application.applicationForm.form.roleSettings.placeholder'),
|
||||||
no_references_prompt: '{question}',
|
no_references_prompt: '{question}',
|
||||||
reasoning_content_enable: false,
|
reasoning_content_enable: false
|
||||||
},
|
},
|
||||||
model_params_setting: {},
|
model_params_setting: {},
|
||||||
problem_optimization: false,
|
problem_optimization: false,
|
||||||
|
|||||||
@ -38,6 +38,8 @@
|
|||||||
v-model="form.embedding_mode_id"
|
v-model="form.embedding_mode_id"
|
||||||
:placeholder="$t('views.dataset.datasetForm.form.EmbeddingModel.placeholder')"
|
:placeholder="$t('views.dataset.datasetForm.form.EmbeddingModel.placeholder')"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
|
:model-type="'EMBEDDING'"
|
||||||
|
showFooter
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@ -369,12 +369,13 @@ const getModelForm = (model_name: string) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const open = (provider: Provider) => {
|
const open = (provider: Provider, model_type?: string) => {
|
||||||
ModelApi.listModelType(provider.provider, model_type_loading).then((ok) => {
|
ModelApi.listModelType(provider.provider, model_type_loading).then((ok) => {
|
||||||
model_type_list.value = ok.data
|
model_type_list.value = ok.data
|
||||||
})
|
})
|
||||||
providerValue.value = provider
|
providerValue.value = provider
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
|
base_form_data.value.model_type = model_type || ''
|
||||||
activeName.value = 'base-info'
|
activeName.value = 'base-info'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -56,13 +56,13 @@ const loading = ref<boolean>(false)
|
|||||||
const dialogVisible = ref<boolean>(false)
|
const dialogVisible = ref<boolean>(false)
|
||||||
const list_provider = ref<Array<Provider>>([])
|
const list_provider = ref<Array<Provider>>([])
|
||||||
const currentModelType = ref('')
|
const currentModelType = ref('')
|
||||||
|
const selectModelType = ref('')
|
||||||
const modelTypeOptions = [{ text: t('views.template.model.allModel'), value: '' }, ...modelTypeList]
|
const modelTypeOptions = [{ text: t('views.template.model.allModel'), value: '' }, ...modelTypeList]
|
||||||
|
|
||||||
const open = () => {
|
const open = (model_type?: string) => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
const option = modelTypeOptions.find((item) => item.text === currentModelType.value)
|
const option = modelTypeOptions.find((item) => item.text === currentModelType.value)
|
||||||
checkModelType(option ? option.value : '')
|
checkModelType(model_type ? model_type : option ? option.value : '')
|
||||||
}
|
}
|
||||||
|
|
||||||
const close = () => {
|
const close = () => {
|
||||||
@ -70,9 +70,8 @@ const close = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const checkModelType = (model_type: string) => {
|
const checkModelType = (model_type: string) => {
|
||||||
currentModelType.value = modelTypeOptions.filter(
|
selectModelType.value = model_type
|
||||||
(item) => item.value === model_type
|
currentModelType.value = modelTypeOptions.filter((item) => item.value === model_type)[0].text
|
||||||
)[0].text
|
|
||||||
ModelApi.getProviderByModelType(model_type, loading).then((ok) => {
|
ModelApi.getProviderByModelType(model_type, loading).then((ok) => {
|
||||||
list_provider.value = ok.data
|
list_provider.value = ok.data
|
||||||
list_provider.value.sort((a, b) => a.provider.localeCompare(b.provider))
|
list_provider.value.sort((a, b) => a.provider.localeCompare(b.provider))
|
||||||
@ -82,7 +81,7 @@ const checkModelType = (model_type: string) => {
|
|||||||
const emit = defineEmits(['change'])
|
const emit = defineEmits(['change'])
|
||||||
const go_create = (provider: Provider) => {
|
const go_create = (provider: Provider) => {
|
||||||
close()
|
close()
|
||||||
emit('change', provider)
|
emit('change', provider, selectModelType.value)
|
||||||
}
|
}
|
||||||
defineExpose({ open, close })
|
defineExpose({ open, close })
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -189,7 +189,7 @@
|
|||||||
|
|
||||||
<SelectProviderDialog
|
<SelectProviderDialog
|
||||||
ref="selectProviderRef"
|
ref="selectProviderRef"
|
||||||
@change="openCreateModel($event)"
|
@change="(provider, modelType) => openCreateModel(provider, modelType)"
|
||||||
></SelectProviderDialog>
|
></SelectProviderDialog>
|
||||||
</LayoutContainer>
|
</LayoutContainer>
|
||||||
</template>
|
</template>
|
||||||
@ -259,9 +259,11 @@ const clickListHandle = (item: Provider) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const openCreateModel = (provider?: Provider) => {
|
const openCreateModel = (provider?: Provider, model_type?: string) => {
|
||||||
|
console.log(provider)
|
||||||
|
console.log(model_type)
|
||||||
if (provider && provider.provider) {
|
if (provider && provider.provider) {
|
||||||
createModelRef.value?.open(provider)
|
createModelRef.value?.open(provider, model_type)
|
||||||
} else {
|
} else {
|
||||||
selectProviderRef.value?.open()
|
selectProviderRef.value?.open()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,6 +49,7 @@
|
|||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
@submitModel="getModel"
|
@submitModel="getModel"
|
||||||
showFooter
|
showFooter
|
||||||
|
:model-type="'LLM'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|||||||
@ -108,6 +108,8 @@
|
|||||||
v-model="form_data.stt_model_id"
|
v-model="form_data.stt_model_id"
|
||||||
:placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')"
|
:placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')"
|
||||||
:options="sttModelOptions"
|
:options="sttModelOptions"
|
||||||
|
showFooter
|
||||||
|
:model-type="'STT'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -149,6 +151,8 @@
|
|||||||
:placeholder="$t('views.application.applicationForm.form.voicePlay.placeholder')"
|
:placeholder="$t('views.application.applicationForm.form.voicePlay.placeholder')"
|
||||||
:options="ttsModelOptions"
|
:options="ttsModelOptions"
|
||||||
@change="ttsModelChange()"
|
@change="ttsModelChange()"
|
||||||
|
showFooter
|
||||||
|
:model-type="'TTS'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
|
|
||||||
<el-button
|
<el-button
|
||||||
|
|||||||
@ -49,6 +49,8 @@
|
|||||||
$t('views.applicationWorkflow.nodes.imageGenerateNode.model.requiredMessage')
|
$t('views.applicationWorkflow.nodes.imageGenerateNode.model.requiredMessage')
|
||||||
"
|
"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
|
showFooter
|
||||||
|
:model-type="'TTI'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|||||||
@ -50,6 +50,8 @@
|
|||||||
$t('views.applicationWorkflow.nodes.imageUnderstandNode.model.requiredMessage')
|
$t('views.applicationWorkflow.nodes.imageUnderstandNode.model.requiredMessage')
|
||||||
"
|
"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
|
showFooter
|
||||||
|
:model-type="'IMAGE'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|||||||
@ -49,6 +49,7 @@
|
|||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
@submitModel="getModel"
|
@submitModel="getModel"
|
||||||
showFooter
|
showFooter
|
||||||
|
:model-type="'LLM'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('views.application.applicationForm.form.roleSettings.label')">
|
<el-form-item :label="$t('views.application.applicationForm.form.roleSettings.label')">
|
||||||
|
|||||||
@ -152,10 +152,13 @@
|
|||||||
@wheel="wheel"
|
@wheel="wheel"
|
||||||
:teleported="false"
|
:teleported="false"
|
||||||
v-model="form_data.reranker_model_id"
|
v-model="form_data.reranker_model_id"
|
||||||
:placeholder="$t('views.applicationWorkflow.nodes.rerankerNode.reranker_model.placeholder')"
|
:placeholder="
|
||||||
|
$t('views.applicationWorkflow.nodes.rerankerNode.reranker_model.placeholder')
|
||||||
|
"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
@submitModel="getModel"
|
@submitModel="getModel"
|
||||||
showFooter
|
showFooter
|
||||||
|
:model-type="'RERANKER'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@ -36,6 +36,8 @@
|
|||||||
v-model="form_data.stt_model_id"
|
v-model="form_data.stt_model_id"
|
||||||
:placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')"
|
:placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
|
showFooter
|
||||||
|
:model-type="'STT'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
|||||||
@ -45,6 +45,8 @@
|
|||||||
v-model="form_data.tts_model_id"
|
v-model="form_data.tts_model_id"
|
||||||
:placeholder="$t('views.application.applicationForm.form.voicePlay.placeholder')"
|
:placeholder="$t('views.application.applicationForm.form.voicePlay.placeholder')"
|
||||||
:options="modelOptions"
|
:options="modelOptions"
|
||||||
|
showFooter
|
||||||
|
:model-type="'TTS'"
|
||||||
></ModelSelect>
|
></ModelSelect>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user