From 98ddf2bd816abe50ac291b5810da753624192167 Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期四, 08 八月 2024 19:08:50 +0800 Subject: [PATCH] 解析方法页面bug修改 --- src/views/dmx/IntelligentAgent/components/agentConfig.vue | 167 +++++++++++++++++++++++++------------------------------ 1 files changed, 76 insertions(+), 91 deletions(-) diff --git a/src/views/dmx/IntelligentAgent/components/agentConfig.vue b/src/views/dmx/IntelligentAgent/components/agentConfig.vue index 28c015e..c05f1ef 100644 --- a/src/views/dmx/IntelligentAgent/components/agentConfig.vue +++ b/src/views/dmx/IntelligentAgent/components/agentConfig.vue @@ -1,9 +1,23 @@ <template> - <a-button type="primary" @click="handleClick" style="margin-left: 10px"> + <a-button + v-if="typeAngint == 'add'" + type="primary" + @click="handleClick" + style="margin-left: 10px"> <template #icon> <icon-plus /> </template> 鏂板缓鏅鸿兘浣� + </a-button> + <a-button + v-if="typeAngint == 'edit'" + type="text" + size="small" + @click="editClick" + > + <template #icon> + <icon-tool /> + </template> </a-button> <a-modal v-model:visible="visible" @@ -18,7 +32,7 @@ > <a-row class=""> <a-col :span="24"> - <a-tabs type="capsule" size="large"> + <a-tabs type="capsule" size="large" v-model="keyLarge" @tab-click="console.log(keyLarge)"> <a-tab-pane key="1" title="鍔╃悊璁剧疆"> <a-divider style="margin-bottom: 20px;margin-top: 0" /> <div style="width: 100%;" :style="{height:height}"> @@ -34,49 +48,13 @@ </a-form-item> <a-form-item label="鏅鸿兘浣撳浘鏍�"> <a-space direction="vertical" :style="{ width: '100%' }"> - <a-upload - :auto-upload="false" - :fileList="file ? [file] : []" - :show-file-list="false" - @change="onChange" - @progress="onProgress" - > - <template #upload-button> - <div - :class="`arco-upload-list-item${ - file && file.status === 'error' ? ' arco-upload-list-item-error' : '' - }`" - > - <div - class="arco-upload-list-picture custom-upload-avatar" - v-if="file && file.url" - > - <img :src="file.url" /> - <div class="arco-upload-list-picture-mask"> - <IconEdit /> - </div> - <a-progress - v-if="file.status === 'uploading' && file.percent < 100" - :percent="file.percent" - type="circle" - size="mini" - :style="{ - position: 'absolute', - left: '50%', - top: '50%', - transform: 'translateX(-50%) translateY(-50%)', - }" - /> - </div> - <div class="arco-upload-picture-card" v-else> - <div class="arco-upload-picture-card-text"> - <IconPlus /> - <div style="margin-top: 10px; font-weight: 600">涓婁紶</div> - </div> - </div> - </div> - </template> - </a-upload> + <Upload + :action="uploadAction" + :limit="1" + :url="form.icon" + @update:fileList="updateFileList" + @success="handleSuccess" + ></Upload> </a-space> </a-form-item> <a-form-item label="绌哄洖澶�"> @@ -184,14 +162,15 @@ :data="form.prompt_config.parameters" style="width: 100%" > - <template #key="{ record }"> + <template #key="{ record, rowIndex }"> <a-input v-model="record.key" placeholder="" /> +<!-- <a-input v-model="form.prompt_config.parameters[rowIndex].key" />--> </template> <template #optional="{ record }"> <a-switch v-model="record.optional" size="small" /> </template> <template #action="{ record }"> - <a-button type="text" @click="deleteParameters(record)" style="margin-left: 0px" size="small"> + <a-button type="text" @click="deleteParameters(record)" style="margin-left: 0" size="small"> <template #icon> <icon-delete /> </template> @@ -285,9 +264,8 @@ import useLoading from "@/hooks/loading"; import { Message } from "@arco-design/web-vue"; import { dialogSet } from "@/api/Agent"; +import EventBus from "@/utils/EventBus"; const { loading,setLoading } = useLoading(true); -const props = defineProps(['typeAngint', 'formData']); -const emit = defineEmits(['queryList']); const visible = ref(false); const modelList = ref({}); const rankModelList = ref({}); @@ -296,6 +274,7 @@ const formRef = ref(); const formRef1 = ref(); const formRef2 = ref(); +const keyLarge = ref('1'); const form = reactive({ name: "", icon: "", @@ -304,7 +283,7 @@ empty_response: "", prologue: "浣犲ソ锛� 鎴戞槸浣犵殑鍔╃悊锛屾湁浠�涔堝彲浠ュ府鍒颁綘鐨勫悧锛�", quote: true, - self_rag: true, + self_rag: false, system: "浣犳槸涓�涓櫤鑳藉姪鎵嬶紝璇锋�荤粨鐭ヨ瘑搴撶殑鍐呭鏉ュ洖绛旈棶棰橈紝璇峰垪涓剧煡璇嗗簱涓殑鏁版嵁璇︾粏鍥炵瓟銆傚綋鎵�鏈夌煡璇嗗簱鍐呭閮戒笌闂鏃犲叧鏃讹紝浣犵殑鍥炵瓟蹇呴』鍖呮嫭鈥滅煡璇嗗簱涓湭鎵惧埌鎮ㄨ鐨勭瓟妗堬紒鈥濊繖鍙ヨ瘽銆�" + "鍥炵瓟闇�瑕佽�冭檻鑱婂ぉ鍘嗗彶銆俓n 浠ヤ笅鏄煡璇嗗簱锛歕n {knowledge}\n 浠ヤ笂鏄煡璇嗗簱銆�", parameters: [ @@ -330,8 +309,9 @@ rerank_id:'', top_k:1024, }); -const height = ref('calc(100vh - 520px)'); - +const height = ref('calc(500px)'); +const props = defineProps(['typeAngint', 'formData']); +const emit = defineEmits(['queryList']); const columns = [ { title: '鍏抽敭瀛�', @@ -354,26 +334,18 @@ return `${(value / 100).toFixed(2)}` }; -const onChange = (_, currentFile) => { - file.value = currentFile; - convertImageToBase64(file.value.file).then((result) => { - form.icon = result; - }); +const uploadAction = '/api/v1/llm/upload'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI +const fileList = ref([]); +const imageUrls = ref([]); + +const updateFileList = (newFileList) => { + fileList.value = newFileList; + console.log(newFileList, 88); }; -function convertImageToBase64(file) { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onloadend = function() { - resolve(reader.result); - }; - reader.onerror = reject; - reader.readAsDataURL(file); - }); -} - -const onProgress = (currentFile) => { - file.value = currentFile; +const handleSuccess = (urls) => { + imageUrls.value = urls; // 鎷垮埌涓婁紶鐨勫浘鐗囧湴鍧� + form.icon = urls[0]; }; const rules = { @@ -423,6 +395,7 @@ formRef1.value.resetFields(); formRef2.value.resetFields(); form.name = ""; + emit('queryList'); }; const handleOpened = (el) => { @@ -433,36 +406,39 @@ // txt: '',// 澶囨敞 // }); formRef.value.resetFields(); - form.name = ""; - form.prompt_config.system = "浣犳槸涓�涓櫤鑳藉姪鎵嬶紝璇锋�荤粨鐭ヨ瘑搴撶殑鍐呭鏉ュ洖绛旈棶棰橈紝璇峰垪涓剧煡璇嗗簱涓殑鏁版嵁璇︾粏鍥炵瓟銆傚綋鎵�鏈夌煡璇嗗簱鍐呭閮戒笌闂鏃犲叧鏃讹紝浣犵殑鍥炵瓟蹇呴』鍖呮嫭鈥滅煡璇嗗簱涓湭鎵惧埌鎮ㄨ鐨勭瓟妗堬紒鈥濊繖鍙ヨ瘽銆�" + - "鍥炵瓟闇�瑕佽�冭檻鑱婂ぉ鍘嗗彶銆俓n 浠ヤ笅鏄煡璇嗗簱锛歕n {knowledge}\n 浠ヤ笂鏄煡璇嗗簱銆�"; - formRef.value.resetFields(); formRef1.value.resetFields(); formRef2.value.resetFields(); + + if(props.typeAngint=='add'){ + form.name = ""; + form.prompt_config.system = "浣犳槸涓�涓櫤鑳藉姪鎵嬶紝璇锋�荤粨鐭ヨ瘑搴撶殑鍐呭鏉ュ洖绛旈棶棰橈紝璇峰垪涓剧煡璇嗗簱涓殑鏁版嵁璇︾粏鍥炵瓟銆傚綋鎵�鏈夌煡璇嗗簱鍐呭閮戒笌闂鏃犲叧鏃讹紝浣犵殑鍥炵瓟蹇呴』鍖呮嫭鈥滅煡璇嗗簱涓湭鎵惧埌鎮ㄨ鐨勭瓟妗堬紒鈥濊繖鍙ヨ瘽銆�" + + "鍥炵瓟闇�瑕佽�冭檻鑱婂ぉ鍘嗗彶銆俓n 浠ヤ笅鏄煡璇嗗簱锛歕n {knowledge}\n 浠ヤ笂鏄煡璇嗗簱銆�"; + } + }; const handleBeforeOk = async (done) => { - let valid = ''; - let valid1 = ''; - let valid2 = ''; formRef.value.validate().then(res => { - console.log('res:', res) - valid = res; + // console.log('res:', res) }) formRef1.value.validate().then(res => { - console.log('res:', res) - valid1 = res; + // console.log('res:', res) }) formRef2.value.validate().then(res => { - console.log('res:', res) - valid2 = res; + // console.log('res:', res) }) - if (valid || valid1 || valid2) { - - console.log('璇锋眰鏁版嵁'); + if (form.name && form.kb_ids.length>0 && form.prompt_config.system && form.llm_id) { let title = '鍒涘缓鎴愬姛'; let formNew = { ...form }; + if(formNew.rerank_id){ + delete formNew.top_k; + } + + if(formNew.rerank_id){ + delete formNew.top_k; + } + if (props.typeAngint == 'edit') { formNew.dialog_id = form.id; delete formNew.id; @@ -472,15 +448,16 @@ setLoading(true) try { const data = await dialogSet(formNew); - console.log(data.data, 'data'); + // console.log(data, 'data'); if (data.code == 0){ Message.success(title); handleCancel(); - emit('queryList'); + EventBus.emit('queryList'); }else { Message.error(data.msg); } done(true); + setLoading(false) } catch (err) { // you can report use errorHandler or other setLoading(false) @@ -491,6 +468,14 @@ } }; +const editClick = (data) => { + visible.value = true; + nextTick(()=>{ + // console.log(props.formData,'浼犲叆鏁版嵁'); + Object.assign(form, props.formData); + console.log(form,'琛ㄥ崟鏁版嵁'); + }) +}; const addVariable = () => { form.prompt_config.parameters.push({ @@ -514,7 +499,7 @@ const queryModel = async (params) => { try { const data = await queryModelList(params); - console.log(data.data, '澶фā鍨嬪垪琛�'); + // console.log(data.data, '澶фā鍨嬪垪琛�'); modelList.value = data.data; rankModelList.value = { BAAI: [data.data.BAAI[1]], @@ -532,10 +517,10 @@ setLoading(true); try { const { data } = await queryKbList(params); - console.log(data, 'data'); + // console.log(data, 'data'); nextTick(() => { tabs.value = data; - console.log(tabs.value, 'tabs'); + // console.log(tabs.value, 'tabs'); }); } catch (err) { // you can report use errorHandler or other -- Gitblit v1.8.0