From 2f5fbb2144ca03477eb91ab36a990ea013065214 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期四, 08 八月 2024 17:47:32 +0800
Subject: [PATCH] 解析块页面修改

---
 src/views/dmx/knowledgeLib/test.vue |  138 ++++++++++++++++++++--------------------------
 1 files changed, 60 insertions(+), 78 deletions(-)

diff --git a/src/views/dmx/knowledgeLib/test.vue b/src/views/dmx/knowledgeLib/test.vue
index c710965..b340e87 100644
--- a/src/views/dmx/knowledgeLib/test.vue
+++ b/src/views/dmx/knowledgeLib/test.vue
@@ -8,18 +8,18 @@
           <a-divider style="margin-top: 10px" />
           <a-form ref="formRef"  :model="form" :style="{width:'100%'}" layout="vertical"  @submit="handleSubmit">
             <a-form-item field="similarity_threshold" label="鐩镐技搴﹂槇鍊�">
-              <a-slider v-model="form.similarity_threshold"  :format-tooltip="formatter" />
+              <a-slider v-model="form.similarity_threshold" :step="0.01" :min="0" :max="1"  />
             </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.vector_similarity_weight"  :format-tooltip="formatter" />
+            <a-form-item field="slider" label="鍏抽敭瀛楃浉浼煎害鏉冮噸" >
+              <a-slider v-model="form.vector_similarity_weight" :step="0.01" :min="0" :max="1"  />
             </a-form-item>
-            <a-form-item field="section" label="Rerank妯″瀷" :rules="[{match:/section one/,message:'璇烽�夋嫨'}]">
+            <a-form-item field="section" label="Rerank妯″瀷" >
               <a-space direction="vertical" size="large">
                 <a-select :size="'large'" v-model="form.rerank_id" :style="{width:'100%'}" placeholder="璇烽�夋嫨 ..." allow-clear>
                   <a-optgroup  :label="index" v-for="(item,index) in modelList" :key=index>
                     <a-option
                       v-for="(obj) in item"
-                      :key=obj.fid
+                      :key="obj.fid"
                       :disabled="!obj.available"
                       :value="obj.llm_name"
                     >
@@ -29,45 +29,25 @@
                 </a-select>
               </a-space>
             </a-form-item>
-            <a-form-item field="slider" label="Top-K" :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+            <a-form-item field="slider" label="Top-K" v-if="form.rerank_id">
               <a-slider v-model="form.top_k" :min="1" :max="2048" />
             </a-form-item>
-            <a-form-item field="section" :rules="[{match:/section one/,message:'璇烽�夋嫨'}]">
+            <a-form-item >
               <div class="main-container-form-item-extra">
                 <div class="main-container-form-item-extra-top">娴嬭瘯鏂囨湰</div>
                 <div class="main-container-form-item-extra-down">
                   <a-textarea v-model="form.question" style="height: 10rem;border: 1px solid  var(--color-fill-3);border-radius: 4px" placeholder="" allow-clear/>
                 </div>
                 <div class="main-container-form-item-extra-btn">
-                  <a-button type="primary" html-type="submit">娴嬭瘯</a-button>
+                  <a-button :disabled="!form.question" :loading="loading" type="primary" html-type="submit">娴嬭瘯</a-button>
                 </div>
               </div>
             </a-form-item>
-<!--            <a-form-item>-->
-<!--              <a-space>-->
-<!--                <a-button html-type="submit">Submit</a-button>-->
-<!--                <a-button @click="$refs.formRef.resetFields()">Reset</a-button>-->
-<!--              </a-space>-->
-<!--            </a-form-item>-->
           </a-form>
         </div>
       </div>
       <div class="main-container-rt">
         <a-collapse style="width: 96%;margin-top: 1rem;margin-left: 2%">
-<!--          <a-collapse-item header="Beijing Toutiao Technology Co., Ltd." key="1">-->
-<!--            <template #extra>-->
-<!--              <icon-copy />-->
-<!--            </template>-->
-<!--            <div>Beijing Toutiao Technology Co., Ltd.</div>-->
-<!--            <div>Beijing Toutiao Technology Co., Ltd.</div>-->
-<!--          </a-collapse-item>-->
-<!--          <a-collapse-item header="Beijing Toutiao Technology Co., Ltd." :key="2">-->
-<!--            <template #extra>-->
-<!--              <a-button type="primary" size="mini" @click.stop="sayHello">hello</a-button>-->
-<!--            </template>-->
-<!--            <div>Beijing Toutiao Technology Co., Ltd.</div>-->
-<!--            <div>Beijing Toutiao Technology Co., Ltd.</div>-->
-<!--          </a-collapse-item>-->
           <a-collapse-item header="0/0 閫夊畾鐨勬枃浠�" key="3">
             <template #extra>
               <a-tag size="small">鍛戒腑鏁�</a-tag>
@@ -86,43 +66,33 @@
 import { onMounted, onBeforeMount, reactive, ref, watch } from "vue";
 import { Message } from '@arco-design/web-vue';
 import { kbretrievalTest, queryModelList } from "@/api/kbList";
+// const props = defineProps(['kbId'])
 
-const props = defineProps(['kbobj'])
-watch(
-  ()=>props.kbobj,
-  (val)=>{
-    console.log(val, '瑙佸惉鍒版柊鍊�');
-  },
-  {
-    deep: true,
-    immediate: true
-  }
-)
+// watch(() => props.kbId, (newValue, oldValue) => {
+//   console.log('kbId 鍙樺寲浜�', newValue, oldValue);
+// },{
+//   deep:true,
+// });
+
 
 let visible = ref(false);
 let loading = ref(false);
 const formRef = ref(null);
+const kbid = ref('');
 const modelList = ref({});
 let form = reactive({
-  kb_id: props.kbobj.id,
   page: 1,
   question: '',
   rerank_id: '',
-  similarity_threshold: 20,
+  similarity_threshold: 0.2,
   size: 10,
   top_k: 1024,
-  vector_similarity_weight: 30,
+  vector_similarity_weight: 0.7,
 });
 
 
 const formatter = (value) => {
-  return Math.round(value / 100)
-};
-
-
-
-const sayHello = (str) => {
-  Message.info(str);
+  // return String(Math.round(value / 100))
 };
 
 const handleSubmit = async ({values, errors}) => {
@@ -130,26 +100,33 @@
   if (!form.question){
     return
   }
-  let formObj = {...form}
-  formObj.similarity_threshold = formObj.similarity_threshold/100;
-  formObj.vector_similarity_weight = formObj.vector_similarity_weight/100;
-   const data = await kbretrievalTest(formObj);
-  console.log(data);
+  let formObj = {
+    ...form,
+    kb_id:kbid.value,
+    vector_similarity_weight:(1 - form.vector_similarity_weight).toFixed(2),
+  }
+  if(!formObj.rerank_id){
+    delete formObj.top_k;
+    delete formObj.rerank_id;
+  }
+  try {
+    loading.value = true;
+    const data = await kbretrievalTest(formObj);
+    if(data.code == 0){
+      Message.success('娴嬭瘯鎴愬姛');
+    }else{
+      Message.error('娴嬭瘯澶辫触');
+    }
+    loading.value = false;
+  }catch (err){
+    Message.error(err.message);
+    loading.value = false;
+  }
+
 }
 
 const handleClick = () => {
   visible.value = true;
-};
-const handleBeforeOk = (done) => {
-    formRef.value.validate().then(res => {
-      console.log('form:', form)
-      if (!form.name) {
-        done(false)
-      }else {
-        console.log('璇锋眰鏁版嵁');
-
-      }
-    })
 };
 const handleCancel = () => {
   visible.value = false;
@@ -157,21 +134,20 @@
 
 const handleOpened =(el) => {
   Object.assign(form,{
-    name: '',// 鐢ㄦ埛鍚�
-    nameJoin: '',// 鏄电О
-    post: '',// 宀椾綅
-    txt: '',// 澶囨敞
+
   });
   formRef.value.resetFields();
-  // console.log(props.record, 'record');
-  // if(props.edit == 'edit'){
-  //   Object.assign(form,props.record);
-  // }
 }
+
+const changekbid = (value) => {
+  console.log(value, 'kbid鐨剉alue');
+  kbid.value = value;
+}
+
 const queryModel = async (params) => {
   try {
     const data = await queryModelList(params);
-    console.log(data.data, '澶фā鍨嬪垪琛�');
+    // console.log(data.data, '澶фā鍨嬪垪琛�');
     modelList.value = {
       BAAI: [data.data.BAAI[1]],
       Jina: data.data.Jina,
@@ -183,6 +159,12 @@
 
   }
 };
+
+
+defineExpose({
+  changekbid
+})
+
 onBeforeMount(()=>{
   queryModel({})
 })
@@ -211,8 +193,8 @@
     &-lf{
       width: 30%;
       height: 100%;
-      //border: 1px solid #cccccc;
-      background: #ffffff;
+      //border: 1px solid var(--color-fill-3);
+      background: var(--color-bg-2);
       border-radius: 10px;
       overflow: hidden;
       &-top{
@@ -258,8 +240,8 @@
       width: 69%;
       height: 100%;
       //background: #626aea;
-      //border: 1px solid #cccccc;
-      background: #ffffff;
+      //border: 1px solid var(--color-fill-3);
+      background: var(--color-bg-2);
       border-radius: 10px;
     }
   }

--
Gitblit v1.8.0