From 3d9996841bfb96e143062b46bfedeb906f50df58 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期三, 07 八月 2024 18:25:34 +0800
Subject: [PATCH] 配置bug页面修改
---
src/views/dmx/knowledgeLib/config.vue | 166 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 105 insertions(+), 61 deletions(-)
diff --git a/src/views/dmx/knowledgeLib/config.vue b/src/views/dmx/knowledgeLib/config.vue
index 038e25f..97fdf3f 100644
--- a/src/views/dmx/knowledgeLib/config.vue
+++ b/src/views/dmx/knowledgeLib/config.vue
@@ -1,7 +1,7 @@
<template>
<div class="main-container">
<div style="position: absolute;top: 0;left: 0;width: 100%;padding: 0 20px">
- <h4 style="margin-bottom: 10px">閰嶇疆</h4>
+ <h4 style="margin-bottom: 10px"></h4>
<div style="color: #666666;">鍦ㄨ繖閲屾洿鏂版偍鐨勭煡璇嗗簱璇︾粏淇℃伅锛屽挨鍏舵槸瑙f瀽鏂规硶銆�</div>
<a-divider style="margin-top: 20px" />
</div>
@@ -60,7 +60,7 @@
</a-space>
</a-form-item>
<a-form-item field="section" label="鎻忚堪">
- <a-textarea placeholder="" allow-clear />
+ <a-textarea placeholder="" v-model="form.description" allow-clear />
</a-form-item>
<!-- <a-form-item field="section" label="璇█" :rules="[{match:/section one/,message:'璇烽�夋嫨'}]">-->
<!-- <a-select v-model="form.section" placeholder="璇烽�夋嫨" allow-clear>-->
@@ -68,9 +68,9 @@
<!-- <a-option value="1">鑻辨枃</a-option>-->
<!-- </a-select>-->
<!-- </a-form-item>-->
- <a-form-item field="section" label="宓屽叆妯″瀷" :rules="[{match:/section one/,message:'璇烽�夋嫨'}]">
+ <a-form-item field="section" label="宓屽叆妯″瀷">
<a-space direction="vertical" size="large">
- <a-select :size="'large'" v-model="form.embd_id" :style="{width:'100%'}" placeholder="璇烽�夋嫨 ..." disabled allow-clear>
+ <a-select :size="'large'" v-model="form.embd_id" :style="{width:'100%'}" placeholder="璇烽�夋嫨 ..." :disabled="kbObj.chunk_num==0 && kbObj.token_num==0" allow-clear>
<a-optgroup :label="index" v-for="(item,index) in modelList" :key=index>
<a-option
v-for="(obj) in item"
@@ -83,22 +83,22 @@
</a-select>
</a-space>
</a-form-item>
- <a-form-item field="section" label="瑙f瀽鏂规硶" :rules="[{match:/section one/,message:'璇烽�夋嫨'}]">
- <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨" disabled allow-clear>
+ <a-form-item field="parser_id" label="瑙f瀽鏂规硶">
+ <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨" :disabled="kbObj.chunk_num==0 && kbObj.token_num==0" allow-clear>
<a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option>
</a-select>
</a-form-item>
<a-form-item field="slider" label="鍧桾oken鏁�">
- <a-slider v-model="form.chunk_token_num" :max="100" show-input />
+ <a-slider v-model="form.chunk_token_num" :min="0" :max="2048" show-input />
</a-form-item>
<a-form-item label="甯冨眬璇嗗埆" >
- <a-space direction="vertical" size="large">
- <a-switch v-model="form.layout_recognize" />
+ <a-space direction="vertical">
+ <a-switch v-model="form.layout_recognize" size="small" />
</a-space>
</a-form-item>
<a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
- <a-space direction="vertical" size="large">
- <a-switch v-model="form.use_raptor" @change="onChangeRAPTOR" />
+ <a-space direction="vertical" >
+ <a-switch v-model="form.use_raptor" size="small" />
</a-space>
</a-form-item>
<div v-if="form.use_raptor">
@@ -107,19 +107,16 @@
v-model="form.prompt"
style="height: 10rem;border: 1px solid var(--color-fill-3);border-radius: 4px" placeholder="璇峰~鍐欐彁绀鸿瘝" />
</a-form-item>
- <a-form-item field="slider" label="鏈�澶oken鏁�"
- :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-slider v-model="form.max_token" :min="1" :max="1000" show-input/>
+ <a-form-item field="slider" label="鏈�澶oken鏁�">
+ <a-slider v-model="form.max_token" :min="0" :max="2048" show-input/>
</a-form-item>
- <a-form-item field="slider" label="闃堝��" :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-slider v-model="form.threshold" show-tooltip show-input/>
+ <a-form-item field="slider" label="闃堝��" >
+ <a-slider v-model="form.threshold" :step="0.01" :min="0" :max="1" show-input/>
</a-form-item>
- <a-form-item field="slider" label="鏈�澶ц仛绫绘暟"
- :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-slider v-model="form.max_cluster" :max="1000" show-input/>
+ <a-form-item field="slider" label="鏈�澶ц仛绫绘暟">
+ <a-slider v-model="form.max_cluster" :min="1" :max="1024" show-input/>
</a-form-item>
- <a-form-item field="slider" label="闅忔満绉嶅瓙" v-model="form.random_seed"
- :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+ <a-form-item field="slider" label="闅忔満绉嶅瓙" v-model="form.random_seed">
<a-input-number v-model="form.random_seed" :style="{width:'300px',marginRight:'1rem',borderRadius:'4px'}"
placeholder="璇疯緭鍏�" class="input-demo" :min="10" :max="100" />
<a-button type="primary" @click="randomNumber">
@@ -133,8 +130,8 @@
<a-form-item>
<div style="width: 100%;text-align: right">
<a-space>
+ <a-button @click="cancelConfig">鍙栨秷</a-button>
<a-button type="primary" html-type="submit">淇濆瓨</a-button>
- <!-- <a-button @click="$refs.formRef.resetFields()">Reset</a-button>-->
</a-space>
</div>
</a-form-item>
@@ -195,14 +192,13 @@
import { onMounted, onBeforeMount, reactive, ref } from "vue";
import { Message } from "@arco-design/web-vue";
import { queryModelList,kbUpdate } from "@/api/kbList";
+import message from "@arco-design/web-vue/es/message";
-const props = defineProps(['kbtenantInfo','kbobj'])
-// const emit = defineEmits(['upTabdateItem'])
-
-const kbtenantInfo = props.kbtenantInfo;
-
-let parser_ids = kbtenantInfo.parser_ids.split(",").map((item) => {
+const props = defineProps(['kbtenantInfo'])
+const emit = defineEmits(['cancleConfig','saveConfig'])
+// 瑙f瀽鏂规硶鍒楄〃
+let parser_ids = props.kbtenantInfo.parser_ids.split(",").map((item) => {
const [value1, value2] = item.split(":");
return {
name: value2,
@@ -210,14 +206,16 @@
};
});
+let kbObj = reactive({});
+
const form = reactive({
- name: props.kbobj.name,
+ name: kbObj.name,
avatar: '',//
- max_token: 698,
+ max_token: 600,
threshold: 0.32,
max_cluster: 233,
random_seed: 1500,
- chunk_token_num: 128,
+ chunk_token_num: 384,
use_raptor: false,
pages: {},
prompt: "璇锋�荤粨浠ヤ笅娈佃惤銆� 灏忓績鏁板瓧锛屼笉瑕佺紪閫犮�� 娈佃惤濡備笅锛歕n" +
@@ -227,7 +225,7 @@
language: "English",
permission: "",
embd_id: "BAAI/bge-large-zh-v1.5",
- parser_id: props.kbobj.parser_id,
+ parser_id: kbObj.parser_id,
layout_recognize: true
});
@@ -248,11 +246,23 @@
const file = ref();
const onChange = (_, currentFile) => {
- file.value = {
- ...currentFile
- // url: URL.createObjectURL(currentFile.file),
- };
+ file.value = currentFile;
+ convertImageToBase64(file.value.file).then((result)=>{
+ form.avatar = result;
+ })
};
+
+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;
};
@@ -262,7 +272,6 @@
if (errors){
return;
}
- console.log(form);
let parms = {
name: form.name,
avatar: form.avatar,
@@ -275,9 +284,9 @@
chunk_token_num: form.chunk_token_num,
layout_recognize: form.layout_recognize,
},
- kb_id: props.kbobj.id,
+ kb_id: kbObj.id,
}
- if(form.layout_recognize){
+ if(form.use_raptor){
parms.parser_config.raptor = {
use_raptor: form.use_raptor,
prompt: form.prompt,
@@ -287,20 +296,29 @@
random_seed: form.random_seed,
};
}
-
-
try {
+
const data = await kbUpdate(parms);
- Message.success("閰嶇疆鎴愬姛");
- // visible.value = false;
+ if(data.code == '0'){
+ Message.success("閰嶇疆鎴愬姛");
+ // window.location.reload();
+ emit('saveConfig')
+
+ }
// emit('upTabdateItem')
+
} catch (err) {
- // you can report use errorHandler or other
+ Message.error(err.message);
}
};
+
+const cancelConfig = () => {
+ emit('cancleConfig')
+}
+
function randomNumber() {
// 鐢熸垚涓�涓粙浜巑in鍜宮ax涔嬮棿鐨勯殢鏈烘暣鏁帮紙鍖呭惈min鍜宮ax锛�
@@ -309,14 +327,6 @@
form.random_seed = Math.floor(Math.random() * (max - min + 1)) + min;
}
-const onChangeRAPTOR = () => {
- console.log(form);
-};
-
-
-const handleClick = () => {
- visible.value = true;
-};
const handleBeforeOk = (done) => {
formRef.value.validate().then(res => {
console.log("form:", form);
@@ -328,10 +338,6 @@
}
});
};
-const handleCancel = () => {
- visible.value = false;
-};
-
const handleOpened =(el) => {
Object.assign(form,{
@@ -342,7 +348,7 @@
const queryModel = async (params) => {
try {
const data = await queryModelList(params);
- console.log(data.data, '澶фā鍨嬪垪琛�');
+ // console.log(data.data, '澶фā鍨嬪垪琛�');
modelList.value = data.data
} catch (err) {
// you can report use errorHandler or other
@@ -350,6 +356,44 @@
}
};
+
+const changekbObj = (value) => {
+ formRef.value.resetFields();
+ kbObj = value;
+ console.log(kbObj, 'kbObj');
+ // if(kbObj.avatar){
+ // file.value.url = kbObj.avatar
+ // }
+ let configObj = {
+ name: kbObj.name,
+ avatar: kbObj.avatar,
+ pages: kbObj.parser_config.pages,
+ description: kbObj.description,
+ language: "English",
+ permission: kbObj.permission,
+ embd_id: props.kbtenantInfo.embd_id || kbObj.embd_id,
+ parser_id: kbObj.parser_id,
+ layout_recognize: true,
+ }
+ let raptor = {}
+ if(kbObj.parser_config && kbObj.parser_config.raptor){
+ raptor = kbObj.parser_config.raptor;
+ Object.assign(form,{
+ ...configObj,
+ ...raptor,
+ use_raptor: kbObj.parser_config.raptor.use_raptor,
+ });
+ }else{
+ Object.assign(form,configObj);
+ }
+ console.log(form,'閰嶇疆椤甸潰琛ㄥ崟淇℃伅');
+}
+
+defineExpose({
+ changekbObj
+})
+
+
onBeforeMount(()=>{
queryModel({})
})
@@ -377,7 +421,7 @@
height: 100%;
overflow: auto;
//background: #626aea;
- background: #ffffff;
+ background: var(--color-bg-2);
padding-top: 80px;
&-lf {
@@ -385,7 +429,7 @@
//height: 100%;
//border: 1px solid #cccccc;
border-radius: 10px;
-
+ //border: 1px solid var(--color-fill-3);
&-top {
width: 100%;
height: 60px;
@@ -438,10 +482,10 @@
border-radius: 10px;
overflow: hidden;
padding: 20px;
-
section {
width: 100%;
- color: #333333;
+ //color: #333333;
+ color: var(--color-text-1);
}
}
}
--
Gitblit v1.8.0