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 |  372 +++++++++++++++++++++++++---------------------------
 1 files changed, 180 insertions(+), 192 deletions(-)

diff --git a/src/views/dmx/knowledgeLib/test.vue b/src/views/dmx/knowledgeLib/test.vue
index 4738315..b340e87 100644
--- a/src/views/dmx/knowledgeLib/test.vue
+++ b/src/views/dmx/knowledgeLib/test.vue
@@ -1,215 +1,203 @@
+
 <template>
-  <div class="main-container">
-    <div class="main-container-lf">
-      <div class="main-container-lf-top">妫�绱㈡祴璇�</div>
-      <div class="main-container-lf-down">
-        <div style="color: #999"
-          >鏈�鍚庝竴姝ワ紒 鎴愬姛鍚庯紝鍓╀笅鐨勫氨浜ょ粰Infiniflow AI鍚с��</div
-        >
-        <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-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>
-          <a-form-item
-            field="section"
-            label="Rerank妯″瀷"
-            :rules="[{ match: /section one/, message: '璇烽�夋嫨' }]"
-          >
-            <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"
-                    :disabled="!obj.available"
-                    :value="obj.llm_name"
-                  >
-                    {{ obj.llm_name }}
-                  </a-option>
-                </a-optgroup>
-              </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-slider v-model="form.top_k" :min="1" :max="2048" />
-          </a-form-item>
-          <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 class="main-container">
+      <div class="main-container-lf">
+        <div class="main-container-lf-top">妫�绱㈡祴璇�</div>
+        <div class="main-container-lf-down">
+          <div style="color: #999;">鏈�鍚庝竴姝ワ紒 鎴愬姛鍚庯紝鍓╀笅鐨勫氨浜ょ粰Infiniflow AI鍚с��</div>
+          <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" :step="0.01" :min="0" :max="1"  />
+            </a-form-item>
+            <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妯″瀷" >
+              <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"
+                      :disabled="!obj.available"
+                      :value="obj.llm_name"
+                    >
+                      {{obj.llm_name}}
+                    </a-option>
+                  </a-optgroup>
+                </a-select>
+              </a-space>
+            </a-form-item>
+            <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 >
+              <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 :disabled="!form.question" :loading="loading" type="primary" html-type="submit">娴嬭瘯</a-button>
+                </div>
               </div>
-              <div class="main-container-form-item-extra-btn">
-                <a-button type="primary" html-type="submit">娴嬭瘯</a-button>
-              </div>
+            </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="0/0 閫夊畾鐨勬枃浠�" key="3">
+            <template #extra>
+              <a-tag size="small">鍛戒腑鏁�</a-tag>
+              <a-tag size="small">鐪嬫硶</a-tag>
+            </template>
+            <div>
+              <a-empty />
             </div>
-          </a-form-item>
-        </a-form>
+          </a-collapse-item>
+        </a-collapse>
       </div>
     </div>
-    <div class="main-container-rt">
-      <a-collapse style="width: 96%; margin-top: 1rem; margin-left: 2%">
-        <a-collapse-item header="0/0 閫夊畾鐨勬枃浠�" key="3">
-          <template #extra>
-            <a-tag size="small">鍛戒腑鏁�</a-tag>
-            <a-tag size="small">鐪嬫硶</a-tag>
-          </template>
-          <div>
-            <a-empty />
-          </div>
-        </a-collapse-item>
-      </a-collapse>
-    </div>
-  </div>
 </template>
 
 <script lang="ts" setup>
-  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'])
+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'])
 
-  // watch(() => props.kbId, (newValue, oldValue) => {
-  //   console.log('kbId 鍙樺寲浜�', newValue, oldValue);
-  // },{
-  //   deep: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({
-    page: 1,
-    question: '',
-    rerank_id: '',
-    similarity_threshold: 20,
-    size: 10,
-    top_k: 1024,
-    vector_similarity_weight: 30,
-  });
 
-  const formatter = (value) => {
-    // return String(Math.round(value / 100))
-  };
+let visible = ref(false);
+let loading = ref(false);
+const formRef = ref(null);
+const kbid = ref('');
+const modelList = ref({});
+let form = reactive({
+  page: 1,
+  question: '',
+  rerank_id: '',
+  similarity_threshold: 0.2,
+  size: 10,
+  top_k: 1024,
+  vector_similarity_weight: 0.7,
+});
 
-  const handleSubmit = async ({ values, errors }) => {
-    // console.log(props.kbobj, 'props.kbobj');
-    if (!form.question) {
-      return;
-    }
-    let formObj = {
-      ...form,
-      kb_id: kbid.value,
-    };
-    formObj.similarity_threshold = formObj.similarity_threshold / 100;
-    formObj.vector_similarity_weight = formObj.vector_similarity_weight / 100;
+
+const formatter = (value) => {
+  // return String(Math.round(value / 100))
+};
+
+const handleSubmit = async ({values, errors}) => {
+  // console.log(props.kbobj, 'props.kbobj');
+  if (!form.question){
+    return
+  }
+  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);
-  };
-
-  const handleClick = () => {
-    visible.value = true;
-  };
-  const handleCancel = () => {
-    visible.value = false;
-  };
-
-  const handleOpened = (el) => {
-    Object.assign(form, {});
-    formRef.value.resetFields();
-  };
-
-  const changekbid = (value) => {
-    kbid.value = value;
-  };
-
-  const queryModel = async (params) => {
-    try {
-      const data = await queryModelList(params);
-      console.log(data.data, '澶фā鍨嬪垪琛�');
-      modelList.value = {
-        BAAI: [data.data.BAAI[1]],
-        Jina: data.data.Jina,
-        youdao: data.data.youdao,
-      };
-    } catch (err) {
-      // you can report use errorHandler or other
-    } finally {
+    if(data.code == 0){
+      Message.success('娴嬭瘯鎴愬姛');
+    }else{
+      Message.error('娴嬭瘯澶辫触');
     }
-  };
+    loading.value = false;
+  }catch (err){
+    Message.error(err.message);
+    loading.value = false;
+  }
 
-  defineExpose({
-    changekbid,
-  });
+}
 
-  onBeforeMount(() => {
-    queryModel({});
+const handleClick = () => {
+  visible.value = true;
+};
+const handleCancel = () => {
+  visible.value = false;
+}
+
+const handleOpened =(el) => {
+  Object.assign(form,{
+
   });
-  onMounted(() => {});
+  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, '澶фā鍨嬪垪琛�');
+    modelList.value = {
+      BAAI: [data.data.BAAI[1]],
+      Jina: data.data.Jina,
+      youdao: data.data.youdao
+    };
+  } catch (err) {
+    // you can report use errorHandler or other
+  } finally {
+
+  }
+};
+
+
+defineExpose({
+  changekbid
+})
+
+onBeforeMount(()=>{
+  queryModel({})
+})
+onMounted(()=>{
+
+
+})
+
+
 </script>
 
 <script lang="ts">
-  export default {
-    name: 'config',
-    methods: {},
-  };
+export default {
+  name: 'config',
+  methods: {
+
+  }
+};
 </script>
 <style scoped lang="less">
-  .main-container {
+  .main-container{
     display: flex;
     justify-content: space-between;
     height: 100%;
     //background: #626aea;
-    &-lf {
+    &-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 {
+      &-top{
         width: 100%;
         height: 60px;
         line-height: 60px;
@@ -217,44 +205,44 @@
         color: #ffffff;
         text-align: center;
       }
-      &-down {
+      &-down{
         padding: 20px;
         width: 100%;
       }
     }
-    &-form-item-extra {
+    &-form-item-extra{
       width: 100%;
       height: 20rem;
       border: 1px solid var(--color-fill-3);
       border-radius: 6px;
       overflow: hidden;
-      &-top {
+      &-top{
         width: 100%;
         height: 40px;
         line-height: 40px;
-        border-bottom: 1px solid var(--color-fill-3);
+        border-bottom: 1px solid  var(--color-fill-3);
         //background: rgb(var(--primary-6));
         color: #999999;
         text-align: center;
       }
-      &-down {
+      &-down{
         width: 92%;
         margin-left: 4%;
         margin-top: 30px;
       }
-      &-btn {
+      &-btn{
         width: 96%;
         text-align: right;
         margin-top: 1rem;
       }
     }
-    &-rt {
+    &-rt{
       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;
     }
   }
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.8.0