From c9058a246cd11d20f843e284b05ebf1807744f01 Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期四, 15 八月 2024 09:36:44 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/flow_web --- src/views/dmx/model/components/addPageModel.vue | 158 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 115 insertions(+), 43 deletions(-) diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue index e0b0771..616dac0 100644 --- a/src/views/dmx/model/components/addPageModel.vue +++ b/src/views/dmx/model/components/addPageModel.vue @@ -17,11 +17,17 @@ :style="{ width: '90%', margin: '0 auto' }" layout="vertical" > - <div v-if="isType !== 1"> + <div> <a-form-item field="model_type" label="妯″瀷绫诲瀷"> <a-select v-model="form.model_type" placeholder="璇烽�夋嫨"> - <a-option value="chat">chat</a-option> - <a-option value="embedding">embedding</a-option> + <a-option + v-for="item of form.options" + :value="item.value" + :label="item.label" + ></a-option> + <!-- <a-option value="embedding">embedding</a-option> + <a-option value="rerank">rerank</a-option> + <a-option value="image2text">image2text</a-option> --> </a-select> </a-form-item> <a-form-item field="llm_name" label="妯″瀷鍚嶇О"> @@ -46,7 +52,12 @@ <a-form-item field="api_base" label="鍩虹URL"> <a-input v-model="form.api_base" placeholder="璇疯緭鍏ュ熀纭�URL" /> </a-form-item> - + <a-form-item field="name" label="API-Key"> + <a-input v-model="form.name" placeholder="API-Key" /> + </a-form-item> + <!-- <a-form-item field="describe" label="Base-Url"> + <a-input v-model="form.name" placeholder="Base-Url" /> + </a-form-item> --> <a-form-item field="raptor" label="鏄惁鏀寔 Vision" @@ -55,10 +66,16 @@ <a-switch v-model="form.raptor" /> </a-form-item> <a-form-item field="logo" label="妯″瀷鍥剧墖"> - <a-space direction="vertical" :style="{ width: '100%' }"> + <a-space + direction="vertical" + v-model="form.logo" + :style="{ width: '100%' }" + > <Upload :action="uploadAction" :limit="1" + :url="form.urlS" + @handleRemove="deleteRemove" @update:fileList="updateFileList" @success="handleSuccess" ></Upload> @@ -98,7 +115,7 @@ </div> </a-form-item> </div> - <div v-else> + <!-- <div v-else> <a-form-item field="name" label="API-Key"> <a-input v-model="form.name" placeholder="API-Key" /> </a-form-item> @@ -111,12 +128,14 @@ <Upload :action="uploadAction" :limit="1" + :url="form.urlS" + @handleRemove="deleteRemove" @update:fileList="updateFileList" @success="handleSuccess" ></Upload> </a-space> </a-form-item> - </div> + </div> --> <a-form-item> <div style="width: 100%; text-align: right"> @@ -131,11 +150,14 @@ </template> <script lang="ts" setup> - import { reactive, ref, computed, watch } from 'vue'; - import { addLlm, getLlmDetail } from '@/api/model'; + import { reactive, ref, computed, watch, watchEffect, onMounted } from 'vue'; + import { addLlm, getLlmDetail, editLlm } from '@/api/model'; import { Modal, Message } from '@arco-design/web-vue'; import message from '@arco-design/web-vue/es/message'; import { resolveUnref } from '@vueuse/core'; + import { userModelState } from '@/store'; + + const modelStore = userModelState(); const addPageModelVisible = defineModel('show'); const loading = ref(false); @@ -161,35 +183,34 @@ const isType = computed(() => props.type); const editList = computed(() => props.editList); - watch( - () => editList.value.name, - (newValue) => { - getDetail(); - } - ); - const form = reactive({ size: 'medium', name: '', llm_factory: '', model_type: '', province: 'haidian', - options: [], + options: [ + { label: 'chat', value: 'chat' }, + { label: 'embedding', value: 'embedding' }, + { label: 'rerank', value: 'rerank' }, + { label: 'image2text', value: 'image2text' }, + ], llm_name: '', api_base: '', volc_ak: '', volc_sk: '', logo: '', radio: 'radio one', + urlS: '', slider: 5, score: 5, switch: false, multiSelect: ['section one'], treeSelect: '', raptor: false, - addFomList: [], + addFomList: <any[]>[], }); - const form_ref = ref(null); + const form_ref = ref(); const rules = { model_type: [ @@ -222,46 +243,87 @@ message: '璇疯緭鍏pi_base', }, ], + logo: [ + { + required: true, + message: '妯″瀷鍥剧墖涓嶈兘涓虹┖', + }, + ], }; const uploadAction = '/api/v1/llm/upload'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI const fileList = ref([]); - const imageUrls = ref([]); + const imageUrls = ref<any[]>([]); + const uploadUrl = ref([]); + const httpUrl = modelStore.hrefUrl; const updateFileList = (newFileList) => { fileList.value = newFileList; - console.log(newFileList, 88); }; const handleSuccess = (urls) => { - imageUrls.value = urls; // 鎷垮埌涓婁紶鐨勫浘鐗囧湴鍧� + uploadUrl.value = urls; + form.logo = urls[0]; + + const urlsArr = urls.map((url) => { + return httpUrl + url; + }); + imageUrls.value = urlsArr; // 鎷垮埌涓婁紶鐨勫浘鐗囧湴鍧� }; + const deleteRemove = () => { + form.logo = ''; + uploadUrl.value = []; + imageUrls.value = []; + }; + const emit = defineEmits(['refresh-parent']); const handleSubmit = ({ values, errors }) => { const all_params = form.addFomList.map((item) => { - console.log(item, 8888); return item.name + ':' + item.value; }); form_ref.value ?.validate() .then(async (res) => { if (!res) { - const data = await addLlm({ - llm_factory: editList.value.llm_factory, - llm_name: form.llm_name, - model_type: form.model_type, - volc_ak: form.volc_ak, - volc_sk: form.volc_sk, - api_base: form.api_base, - raptor: form.raptor, - all_params: all_params, - logo: imageUrls.value[0], - }); - if ((data as any).retmsg == 'success') { - message.success('娣诲姞鎴愬姛'); - emit('refresh-parent'); + if (props.title == '缂栬緫') { + console.log(imageUrls.value, 999); + const data = await editLlm({ + llm_factory: editList.value.llm_factory, + llm_name: form.llm_name, + model_type: form.model_type, + volc_ak: form.volc_ak, + volc_sk: form.volc_sk, + api_base: form.api_base, + all_params: all_params, + logo: uploadUrl.value[0] || '', + }); + + if ((data as any).code == 200) { + message.success('娣诲姞鎴愬姛'); + addPageModelVisible.value = false; + emit('refresh-parent'); + } else { + message.error('娣诲姞澶辫触'); + } } else { - message.error('娣诲姞澶辫触'); + const data = await addLlm({ + llm_factory: editList.value.llm_factory, + llm_name: form.llm_name, + model_type: form.model_type, + volc_ak: form.volc_ak, + volc_sk: form.volc_sk, + api_base: form.api_base, + all_params: all_params, + logo: uploadUrl.value[0] || '', + }); + + if ((data as any).code == 200) { + message.success('娣诲姞鎴愬姛'); + addPageModelVisible.value = false; + emit('refresh-parent'); + } else { + message.error('娣诲姞澶辫触'); + } } } }) @@ -330,18 +392,28 @@ editList.value.llm_factory, editList.value.name ); - console.log(data.data, 8888); + form.llm_name = data.data.llm_name; form.model_type = data.data.model_type; form.volc_ak = data.data.volc_ak; form.volc_sk = data.data.volc_sk; form.api_base = data.data.api_base; form.raptor = data.data.raptor; - form.addFomList = data.data.all_params.map((item) => { - return { name: item.split(':')[0], value: item.split(':')[1] }; - }); - imageUrls.value = data.data.logo; + form.urlS = data.data.logo; + if (JSON.parse(data.data.all_params).length > 0) { + form.addFomList = JSON.parse(data.data.all_params).map((item) => { + return { name: item.split(':')[0], value: item.split(':')[1] }; + }); + } + + imageUrls.value.push(httpUrl + data.data.logo); }; + + watchEffect(() => { + if (props.editList.name) { + getDetail(); + } + }); </script> <style scoped lang="less"> .addInput { -- Gitblit v1.8.0