diff --git a/ui/src/components/generate-related-dialog/index.vue b/ui/src/components/generate-related-dialog/index.vue index ee6669f8b..01fb68ac4 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 b6342c241..9cb34f645 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 eccbdcb9c..a471bdb8f 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 d9b29d323..004f92010 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 61f4fcecd..8b8371eca 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 f656bd1f0..a63913659 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 2502d4a67..e19510712 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 2ed4f3c8b..5ef5b7ef2 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 7e5e0bd99..bf68f2d80 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 95e1ce8fc..aa37cb8f7 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 51567b78b..355776883 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 c5b88cf24..5bb2637cd 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'" >