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 |   97 ++++++++++++++++++++++++++++--------------------
 1 files changed, 57 insertions(+), 40 deletions(-)

diff --git a/src/views/dmx/knowledgeLib/test.vue b/src/views/dmx/knowledgeLib/test.vue
index 478510d..b340e87 100644
--- a/src/views/dmx/knowledgeLib/test.vue
+++ b/src/views/dmx/knowledgeLib/test.vue
@@ -8,12 +8,12 @@
           <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"  />
+              <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"  />
+            <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>
@@ -29,7 +29,7 @@
                 </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 >
@@ -39,7 +39,7 @@
                   <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>
@@ -66,40 +66,28 @@
 import { onMounted, onBeforeMount, reactive, ref, watch } from "vue";
 import { Message } from '@arco-design/web-vue';
 import { kbretrievalTest, queryModelList } from "@/api/kbList";
-// import { usePinia } from "../../../store";
-// const store = usePinia();
-// const props = defineProps({
-//   kbobj: {
-//     type: Object,
-//     default: () => {
-//       return {}
-//     }
-//   }
-// })
-// watch(
-//   ()=>props.kbobj,
-//   (val)=>{
-//     console.log(val, '瑙佸惉鍒版柊鍊�');
-//   },
-//   {
-//     deep: true,
-//     immediate: true
-//   }
-// )
+// const props = defineProps(['kbId'])
+
+// 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: store.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,
 });
 
 
@@ -109,15 +97,32 @@
 
 const handleSubmit = async ({values, errors}) => {
   // console.log(props.kbobj, 'props.kbobj');
-  console.log(store.kbobj.id, 'store');
   if (!form.question){
     return
   }
-  // let formObj = {...form}
-  // formObj.kb_id = store.kbobj.id;
-  // formObj.similarity_threshold = formObj.similarity_threshold/100;
-  // formObj.vector_similarity_weight = formObj.vector_similarity_weight/100;
-  //  const data = await kbretrievalTest(formObj);
+  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 = () => {
@@ -133,10 +138,16 @@
   });
   formRef.value.resetFields();
 }
+
+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,
@@ -148,6 +159,12 @@
 
   }
 };
+
+
+defineExpose({
+  changekbid
+})
+
 onBeforeMount(()=>{
   queryModel({})
 })
@@ -176,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{
@@ -223,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