From 8fc16c6f29bd098598a03e8306788d9b3d2a60ba Mon Sep 17 00:00:00 2001 From: yinbangzhong <zhongbangyin@126.com> Date: 星期二, 27 八月 2024 16:04:41 +0800 Subject: [PATCH] agent --- src/views/dmx/model/components/addPageModel.vue | 170 +++++++++++++++++--------------------------------------- 1 files changed, 51 insertions(+), 119 deletions(-) diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue index bafb7b1..9003dcb 100644 --- a/src/views/dmx/model/components/addPageModel.vue +++ b/src/views/dmx/model/components/addPageModel.vue @@ -17,48 +17,40 @@ :style="{ width: '90%', margin: '0 auto' }" layout="vertical" > - <div v-if="isType !== 1"> - <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-select> - </a-form-item> - <a-form-item field="llm_name" label="妯″瀷鍚嶇О"> - <a-input v-model="form.llm_name" placeholder="璇疯緭鍏ユā鍨嬪悕绉�" /> - </a-form-item> - - <!-- <a-form-item field="volc_ak" label="鐏北 ACCESS_KEY"> - <a-input v-model="form.volc_ak" placeholder="璇疯緭鍏ョ伀灞� ACCESS_KEY" /> - <a-button - type="primary" - @click="handleClick" - style="margin-left: 10px" - > - <template #icon> - <icon-plus /> - </template> - </a-button> - </a-form-item> - <a-form-item field="volc_sk" label="鐏北 SECRET_KEY"> - <a-input v-model="form.volc_sk" placeholder="璇疯緭鍏ョ伀灞� SECRET_KEY" /> - </a-form-item> --> - <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 + <div> + <div v-for="(item, index) in form.formData.params" :key="index"> + <div v-if="item.value_type === 'select'"> + <a-form-item + :field="item.key" + :label="item.name" + :required="item.required" + > + <a-select v-model="form[item.key]" placeholder="璇烽�夋嫨"> + <a-option + v-for="(list, v) in item.options" + :value="v" + :label="v" + ></a-option> + </a-select> + </a-form-item> + </div> + <div v-else-if="item.value_type === 'input'"> + <a-form-item + :field="item.key" + :label="item.name" + :required="item.required" + > + <a-input v-model="form[item.key]" placeholder="璇疯緭鍏�" /> + </a-form-item> + </div> + </div> + <!-- <a-form-item field="raptor" label="鏄惁鏀寔 Vision" v-if="form.model_type === 'chat'" > <a-switch v-model="form.raptor" /> - </a-form-item> + </a-form-item> --> <a-form-item field="logo" label="妯″瀷鍥剧墖"> <a-space direction="vertical" @@ -75,7 +67,7 @@ ></Upload> </a-space> </a-form-item> - <a-form-item field="all_params" label="澧炲姞鍏跺畠鍙傛暟閰嶇疆"> + <!-- <a-form-item field="all_params" label="澧炲姞鍏跺畠鍙傛暟閰嶇疆"> <a-button type="primary" @click="handleAddClick" @@ -85,7 +77,7 @@ <icon-plus /> </template> </a-button> - </a-form-item> + </a-form-item> --> <a-form-item v-for="(item, index) in form.addFomList" :key="index"> <div class="addInput"> @@ -109,27 +101,6 @@ </div> </a-form-item> </div> - <div v-else> - <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="section" label="妯″瀷鍥剧墖"> - <a-space direction="vertical" :style="{ width: '100%' }"> - <Upload - :action="uploadAction" - :limit="1" - :url="form.urlS" - @handleRemove="deleteRemove" - @update:fileList="updateFileList" - @success="handleSuccess" - ></Upload> - </a-space> - </a-form-item> - </div> <a-form-item> <div style="width: 100%; text-align: right"> @@ -145,7 +116,7 @@ <script lang="ts" setup> import { reactive, ref, computed, watch, watchEffect, onMounted } from 'vue'; - import { addLlm, getLlmDetail, editLlm } from '@/api/model'; + import { addLlm, getLlmDetail, editLlm, getFactoryDetail } 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'; @@ -180,10 +151,8 @@ const form = reactive({ size: 'medium', name: '', + formData: { logo: '' }, llm_factory: '', - model_type: '', - province: 'haidian', - options: [], llm_name: '', api_base: '', volc_ak: '', @@ -194,44 +163,13 @@ slider: 5, score: 5, switch: false, - multiSelect: ['section one'], - treeSelect: '', raptor: false, addFomList: <any[]>[], }); + const form_ref = ref(); const rules = { - model_type: [ - { - required: true, - message: '璇烽�夋嫨妯″瀷绫诲瀷', - }, - ], - llm_name: [ - { - required: true, - message: '鍚嶇О涓嶅厑璁镐负绌�', - }, - ], - volc_sk: [ - { - required: true, - message: '璇疯緭鍏olc_sk', - }, - ], - volc_ak: [ - { - required: true, - message: '璇疯緭鍏olc_ak', - }, - ], - api_base: [ - { - required: true, - message: '璇疯緭鍏pi_base', - }, - ], logo: [ { required: true, @@ -270,46 +208,31 @@ const all_params = form.addFomList.map((item) => { return item.name + ':' + item.value; }); + console.log(form, 9999); form_ref.value ?.validate() .then(async (res) => { if (!res) { + form.formData.logo = uploadUrl.value[0] || ''; + form.llm_factory = editList.value.llm_factory; + delete form.formData; 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] || '', - }); + const data = await editLlm(form); if ((data as any).code == 200) { message.success('娣诲姞鎴愬姛'); addPageModelVisible.value = false; - emit('refresh-parent'); + emit('refresh-parent', editList.value.llm_factory); } else { message.error('娣诲姞澶辫触'); } } else { - 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] || '', - }); + const data = await addLlm(form); if ((data as any).code == 200) { message.success('娣诲姞鎴愬姛'); addPageModelVisible.value = false; - emit('refresh-parent'); + emit('refresh-parent', editList.value.llm_factory); } else { message.error('娣诲姞澶辫触'); } @@ -397,6 +320,15 @@ imageUrls.value.push(httpUrl + data.data.logo); }; + const getFactory = async () => { + const { data } = await getFactoryDetail({ + factory_name: editList.value.llm_factory, + }); + form.formData = data; + }; + onMounted(() => { + getFactory(); + }); watchEffect(() => { if (props.editList.name) { -- Gitblit v1.8.0