diff --git a/ui/src/components/generate-related-dialog/index.vue b/ui/src/components/generate-related-dialog/index.vue index ee6669f8..01fb68ac 100644 --- a/ui/src/components/generate-related-dialog/index.vue +++ b/ui/src/components/generate-related-dialog/index.vue @@ -35,6 +35,8 @@ v-model="form.model_id" :placeholder="$t('views.application.applicationForm.form.aiModel.placeholder')" :options="modelOptions" + showFooter + :model-type="'LLM'" > @@ -85,11 +85,13 @@ import SelectProviderDialog from '@/views/template/component/SelectProviderDialo import { t } from '@/locales' import useStore from '@/stores' + defineOptions({ name: 'ModelSelect' }) const props = defineProps<{ modelValue: any options: any showFooter?: false + modelType?: '' }>() 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) { - createModelRef.value?.open(provider) + createModelRef.value?.open(provider, model_type) } 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); } } + .model-icon { width: 18px; } + .check-icon { position: absolute; right: 10px; diff --git a/ui/src/views/application/ApplicationSetting.vue b/ui/src/views/application/ApplicationSetting.vue index b6342c24..9cb34f64 100644 --- a/ui/src/views/application/ApplicationSetting.vue +++ b/ui/src/views/application/ApplicationSetting.vue @@ -83,6 +83,7 @@ @change="model_change" @submitModel="getModel" showFooter + :model-type="'LLM'" > ({ prompt: defaultPrompt, system: t('views.application.applicationForm.form.roleSettings.placeholder'), no_references_prompt: '{question}', - reasoning_content_enable: false, + reasoning_content_enable: false }, model_params_setting: {}, problem_optimization: false, diff --git a/ui/src/views/dataset/component/BaseForm.vue b/ui/src/views/dataset/component/BaseForm.vue index eccbdcb9..a471bdb8 100644 --- a/ui/src/views/dataset/component/BaseForm.vue +++ b/ui/src/views/dataset/component/BaseForm.vue @@ -38,6 +38,8 @@ v-model="form.embedding_mode_id" :placeholder="$t('views.dataset.datasetForm.form.EmbeddingModel.placeholder')" :options="modelOptions" + :model-type="'EMBEDDING'" + showFooter > diff --git a/ui/src/views/template/component/CreateModelDialog.vue b/ui/src/views/template/component/CreateModelDialog.vue index d9b29d32..004f9201 100644 --- a/ui/src/views/template/component/CreateModelDialog.vue +++ b/ui/src/views/template/component/CreateModelDialog.vue @@ -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) => { model_type_list.value = ok.data }) providerValue.value = provider dialogVisible.value = true + base_form_data.value.model_type = model_type || '' activeName.value = 'base-info' } diff --git a/ui/src/views/template/component/SelectProviderDialog.vue b/ui/src/views/template/component/SelectProviderDialog.vue index 61f4fcec..8b8371ec 100644 --- a/ui/src/views/template/component/SelectProviderDialog.vue +++ b/ui/src/views/template/component/SelectProviderDialog.vue @@ -56,13 +56,13 @@ const loading = ref(false) const dialogVisible = ref(false) const list_provider = ref>([]) const currentModelType = ref('') - +const selectModelType = ref('') const modelTypeOptions = [{ text: t('views.template.model.allModel'), value: '' }, ...modelTypeList] -const open = () => { +const open = (model_type?: string) => { dialogVisible.value = true const option = modelTypeOptions.find((item) => item.text === currentModelType.value) - checkModelType(option ? option.value : '') + checkModelType(model_type ? model_type : option ? option.value : '') } const close = () => { @@ -70,9 +70,8 @@ const close = () => { } const checkModelType = (model_type: string) => { - currentModelType.value = modelTypeOptions.filter( - (item) => item.value === model_type - )[0].text + selectModelType.value = model_type + currentModelType.value = modelTypeOptions.filter((item) => item.value === model_type)[0].text ModelApi.getProviderByModelType(model_type, loading).then((ok) => { list_provider.value = ok.data 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 go_create = (provider: Provider) => { close() - emit('change', provider) + emit('change', provider, selectModelType.value) } defineExpose({ open, close }) diff --git a/ui/src/views/template/index.vue b/ui/src/views/template/index.vue index f656bd1f..a6391365 100644 --- a/ui/src/views/template/index.vue +++ b/ui/src/views/template/index.vue @@ -189,7 +189,7 @@ @@ -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) { - createModelRef.value?.open(provider) + createModelRef.value?.open(provider, model_type) } else { selectProviderRef.value?.open() } diff --git a/ui/src/workflow/nodes/ai-chat-node/index.vue b/ui/src/workflow/nodes/ai-chat-node/index.vue index 2502d4a6..e1951071 100644 --- a/ui/src/workflow/nodes/ai-chat-node/index.vue +++ b/ui/src/workflow/nodes/ai-chat-node/index.vue @@ -49,6 +49,7 @@ :options="modelOptions" @submitModel="getModel" showFooter + :model-type="'LLM'" > diff --git a/ui/src/workflow/nodes/base-node/index.vue b/ui/src/workflow/nodes/base-node/index.vue index 2ed4f3c8..5ef5b7ef 100644 --- a/ui/src/workflow/nodes/base-node/index.vue +++ b/ui/src/workflow/nodes/base-node/index.vue @@ -108,6 +108,8 @@ v-model="form_data.stt_model_id" :placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')" :options="sttModelOptions" + showFooter + :model-type="'STT'" > @@ -149,6 +151,8 @@ :placeholder="$t('views.application.applicationForm.form.voicePlay.placeholder')" :options="ttsModelOptions" @change="ttsModelChange()" + showFooter + :model-type="'TTS'" > diff --git a/ui/src/workflow/nodes/image-understand/index.vue b/ui/src/workflow/nodes/image-understand/index.vue index 7e5e0bd9..bf68f2d8 100644 --- a/ui/src/workflow/nodes/image-understand/index.vue +++ b/ui/src/workflow/nodes/image-understand/index.vue @@ -50,6 +50,8 @@ $t('views.applicationWorkflow.nodes.imageUnderstandNode.model.requiredMessage') " :options="modelOptions" + showFooter + :model-type="'IMAGE'" > diff --git a/ui/src/workflow/nodes/question-node/index.vue b/ui/src/workflow/nodes/question-node/index.vue index 95e1ce8f..aa37cb8f 100644 --- a/ui/src/workflow/nodes/question-node/index.vue +++ b/ui/src/workflow/nodes/question-node/index.vue @@ -49,6 +49,7 @@ :options="modelOptions" @submitModel="getModel" showFooter + :model-type="'LLM'" > diff --git a/ui/src/workflow/nodes/reranker-node/index.vue b/ui/src/workflow/nodes/reranker-node/index.vue index 51567b78..35577688 100644 --- a/ui/src/workflow/nodes/reranker-node/index.vue +++ b/ui/src/workflow/nodes/reranker-node/index.vue @@ -152,10 +152,13 @@ @wheel="wheel" :teleported="false" 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" @submitModel="getModel" showFooter + :model-type="'RERANKER'" > diff --git a/ui/src/workflow/nodes/speech-to-text-node/index.vue b/ui/src/workflow/nodes/speech-to-text-node/index.vue index c5b88cf2..5bb2637c 100644 --- a/ui/src/workflow/nodes/speech-to-text-node/index.vue +++ b/ui/src/workflow/nodes/speech-to-text-node/index.vue @@ -36,6 +36,8 @@ v-model="form_data.stt_model_id" :placeholder="$t('views.application.applicationForm.form.voiceInput.placeholder')" :options="modelOptions" + showFooter + :model-type="'STT'" >