From 58e492ee63137fe98df7256171fe8330165407a0 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期二, 30 七月 2024 19:48:45 +0800
Subject: [PATCH] 调试配置接口页面逻辑

---
 src/api/kbList.ts                         |    6 +
 src/views/dmx/knowledgeLib/test.vue       |   12 +-
 src/views/dmx/knowledgeLib/tool.vue       |    2 
 src/views/dmx/knowledgeLib/index.vue      |    2 
 src/views/dmx/knowledgeLib/config.vue     |  141 ++++++++++++++++++++++------------
 src/views/login/components/login-form.vue |   20 ++--
 6 files changed, 113 insertions(+), 70 deletions(-)

diff --git a/src/api/kbList.ts b/src/api/kbList.ts
index ceaedb3..1f0448e 100644
--- a/src/api/kbList.ts
+++ b/src/api/kbList.ts
@@ -124,8 +124,10 @@
 }
 
 
-
-
+// 閰嶇疆鎺ュ彛
+export function kbUpdate(params) {
+  return axios.post('/api/v1/kb/update', params);
+}
 
 
 
diff --git a/src/views/dmx/knowledgeLib/config.vue b/src/views/dmx/knowledgeLib/config.vue
index d530bbb..038e25f 100644
--- a/src/views/dmx/knowledgeLib/config.vue
+++ b/src/views/dmx/knowledgeLib/config.vue
@@ -15,7 +15,7 @@
           <a-form-item field="section" label="鐭ヨ瘑搴撳浘鐗�">
             <a-space direction="vertical" :style="{ width: '100%' }">
               <a-upload
-                action="/"
+                :auto-upload="false"
                 :fileList="file ? [file] : []"
                 :show-file-list="false"
                 @change="onChange"
@@ -69,28 +69,31 @@
 <!--            </a-select>-->
 <!--          </a-form-item>-->
           <a-form-item field="section" label="宓屽叆妯″瀷" :rules="[{match:/section one/,message:'璇烽�夋嫨'}]">
-            <a-select v-model="form.embd_id" placeholder="璇烽�夋嫨" allow-clear>
-              <a-option value="section one">Section One</a-option>
-              <a-option value="section two">Section Two</a-option>
-              <a-option value="section three">Section Three</a-option>
-            </a-select>
+            <a-space direction="vertical" size="large">
+              <a-select :size="'large'" v-model="form.embd_id" :style="{width:'100%'}" placeholder="璇烽�夋嫨 ..." disabled allow-clear>
+                <a-optgroup  :label="index" v-for="(item,index) in modelList" :key=index>
+                  <a-option
+                    v-for="(obj) in item"
+                    :key='obj.fid'
+                    :value="obj.llm_name"
+                  >
+                    {{obj.llm_name}}
+                  </a-option>
+                </a-optgroup>
+              </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="璇烽�夋嫨" allow-clear>
-              <a-option value="section one">Section One</a-option>
-              <a-option value="section two">Section Two</a-option>
-              <a-option value="section three">Section Three</a-option>
+            <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨" disabled 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鏁�"
-                       :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+          <a-form-item field="slider" label="鍧桾oken鏁�">
             <a-slider v-model="form.chunk_token_num" :max="100"  show-input />
-<!--            <a-input-number v-model="form.score" :style="{width:'100px',marginLeft:'2rem',borderRadius:'4px'}"-->
-<!--                            placeholder="Please Enter" class="input-demo" :min="10" :max="1000" />-->
           </a-form-item>
-          <a-form-item field="slider" label="甯冨眬璇嗗埆" :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
+          <a-form-item  label="甯冨眬璇嗗埆" >
             <a-space direction="vertical" size="large">
-              <a-switch v-model="form.score" checked-value="yes" unchecked-value="no" />
+              <a-switch v-model="form.layout_recognize"  />
             </a-space>
           </a-form-item>
           <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
@@ -102,25 +105,18 @@
             <a-form-item field="prompt" label="鎻愮ず璇�">
               <a-textarea
                 v-model="form.prompt"
-                style="height: 10rem;border: 1px solid  var(--color-fill-3);border-radius: 4px"
-                placeholder="璇峰~鍐欐彁绀鸿瘝" />
+                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" />
-              <a-input-number v-model="form.max_token" :style="{width:'100px',marginLeft:'2rem',borderRadius:'4px'}"
-                              placeholder="Please Enter" class="input-demo" :min="10" :max="1000" />
+              <a-slider v-model="form.max_token" :min="1" :max="1000" 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" :max="1" />
-              <a-input-number v-model="form.threshold" :style="{width:'100px',marginLeft:'2rem',borderRadius:'4px'}"
-                              placeholder="Please Enter" class="input-demo" :min="0" :max="1" />
+              <a-slider v-model="form.threshold"  show-tooltip 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" />
-              <a-input-number v-model="form.max_cluster" :style="{width:'100px',marginLeft:'2rem',borderRadius:'4px'}"
-                              placeholder="Please Enter" class="input-demo" :min="10" :max="1000" />
+              <a-slider v-model="form.max_cluster" :max="1000" 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'}]">
@@ -129,7 +125,6 @@
               <a-button type="primary" @click="randomNumber">
                 <icon-plus />
               </a-button>
-
             </a-form-item>
 
           </div>
@@ -199,9 +194,10 @@
 <script lang="ts" setup>
 import { onMounted, onBeforeMount, reactive, ref } from "vue";
 import { Message } from "@arco-design/web-vue";
+import { queryModelList,kbUpdate } from "@/api/kbList";
 
 
-const props = defineProps(["kbtenantInfo", "kbobj", "kbdetail"]);
+const props =  defineProps(['kbtenantInfo','kbobj'])
 // const emit =  defineEmits(['upTabdateItem'])
 
 const kbtenantInfo = props.kbtenantInfo;
@@ -215,7 +211,7 @@
 });
 
 const form = reactive({
-  name: '',
+  name: props.kbobj.name,
   avatar: '',//
   max_token: 698,
   threshold: 0.32,
@@ -230,8 +226,8 @@
   description: "",
   language: "English",
   permission: "",
-  embd_id: "",
-  parser_id: "",
+  embd_id: "BAAI/bge-large-zh-v1.5",
+  parser_id: props.kbobj.parser_id,
   layout_recognize: true
 });
 
@@ -262,8 +258,48 @@
 };
 
 
-const handleSubmit = ({ values, errors }) => {
-  console.log("values:", values, "\nerrors:", errors);
+const handleSubmit = async ({ values, errors }) => {
+  if (errors){
+    return;
+  }
+  console.log(form);
+  let parms = {
+      name: form.name,
+      avatar: form.avatar,
+      description: form.description,
+      language: form.language,
+      permission: form.permission,
+      embd_id: form.embd_id,
+      parser_id: form.parser_id,
+      parser_config: {
+        chunk_token_num: form.chunk_token_num,
+        layout_recognize: form.layout_recognize,
+      },
+      kb_id: props.kbobj.id,
+   }
+   if(form.layout_recognize){
+     parms.parser_config.raptor = {
+       use_raptor: form.use_raptor,
+       prompt: form.prompt,
+       max_token: form.max_token,
+       threshold: form.threshold,
+       max_cluster: form.max_cluster,
+       random_seed: form.random_seed,
+     };
+   }
+
+
+   try {
+    const data = await kbUpdate(parms);
+    Message.success("閰嶇疆鎴愬姛");
+    // visible.value = false;
+    // emit('upTabdateItem')
+  } catch (err) {
+    // you can report use errorHandler or other
+  }
+
+
+
 };
 
 function randomNumber() {
@@ -296,27 +332,32 @@
   visible.value = false;
 };
 
-const handleOpened = (el) => {
-  Object.assign(form, {
-    name: "",// 鐢ㄦ埛鍚�
-    nameJoin: "",// 鏄电О
-    post: "",// 宀椾綅
-    txt: ""// 澶囨敞
+const handleOpened =(el) => {
+  Object.assign(form,{
+
   });
   formRef.value.resetFields();
-  console.log(props.record, "record");
-  // if(props.edit == 'edit'){
-  //   Object.assign(form,props.record);
-  // }
+}
+
+const queryModel = async (params) => {
+  try {
+    const data = await queryModelList(params);
+    console.log(data.data, '澶фā鍨嬪垪琛�');
+    modelList.value = data.data
+  } catch (err) {
+    // you can report use errorHandler or other
+  } finally {
+
+  }
 };
-
-onBeforeMount(() => {
-
-});
-onMounted(() => {
+onBeforeMount(()=>{
+  queryModel({})
+})
+onMounted(()=>{
 
 
-});
+})
+
 </script>
 
 <script lang="ts">
diff --git a/src/views/dmx/knowledgeLib/index.vue b/src/views/dmx/knowledgeLib/index.vue
index 7ef5910..f1502bf 100644
--- a/src/views/dmx/knowledgeLib/index.vue
+++ b/src/views/dmx/knowledgeLib/index.vue
@@ -238,7 +238,7 @@
           </a-tab-pane>
           <a-tab-pane key="3" :title="t('dmx.list.disposition')">
             <div class="rt-container-main">
-              <config :kbtenantInfo="kbtenantInfo" :kbdetail="kbdetail" :kbobj="kbobj"></config>
+              <config :kbtenantInfo="kbtenantInfo"  :kbobj="kbobj"></config>
             </div>
           </a-tab-pane>
         </a-tabs>
diff --git a/src/views/dmx/knowledgeLib/test.vue b/src/views/dmx/knowledgeLib/test.vue
index a0a4003..b1b6875 100644
--- a/src/views/dmx/knowledgeLib/test.vue
+++ b/src/views/dmx/knowledgeLib/test.vue
@@ -19,7 +19,7 @@
                   <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"
                     >
@@ -113,11 +113,11 @@
   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}
+  // 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);
 }
 
 const handleClick = () => {
diff --git a/src/views/dmx/knowledgeLib/tool.vue b/src/views/dmx/knowledgeLib/tool.vue
index 3dbead6..f055f2d 100644
--- a/src/views/dmx/knowledgeLib/tool.vue
+++ b/src/views/dmx/knowledgeLib/tool.vue
@@ -48,7 +48,7 @@
           <a-slider v-model="form.max_token" :min="1" :max="1000" 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" :format-tooltip="formatter" show-tooltip show-input/>
+          <a-slider v-model="form.threshold"  show-tooltip show-input/>
         </a-form-item>
         <a-form-item field="slider" label="鏈�澶ц仛绫绘暟"
                      :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
diff --git a/src/views/login/components/login-form.vue b/src/views/login/components/login-form.vue
index b628dad..02b12da 100644
--- a/src/views/login/components/login-form.vue
+++ b/src/views/login/components/login-form.vue
@@ -102,18 +102,18 @@
     if (!errors) {
       setLoading(true);
       try {
-        const rsaPassWord = rsaPsw(values.password) as string;
-        console.log(values,'鐧诲綍淇℃伅');
-        await userStore.login({
-          email: values.email,
-          password: rsaPassWord,
-        } as LoginData);
-        const { redirect, ...othersQuery } = router.currentRoute.value.query;
+        // const rsaPassWord = rsaPsw(values.password) as string;
+        // console.log(values,'鐧诲綍淇℃伅');
+        // await userStore.login({
+        //   email: values.email,
+        //   password: rsaPassWord,
+        // } as LoginData);
+        // const { redirect, ...othersQuery } = router.currentRoute.value.query;
         router.push({
           name: 'knowledgeLib',
-          query: {
-            ...othersQuery,
-          },
+          // query: {
+          //   ...othersQuery,
+          // },
         });
         Message.success(t('娆㈣繋鍥炴潵'));
         const { rememberPassword } = loginConfig.value;

--
Gitblit v1.8.0