From 5ff5e947cbd5cc0d0819be8da5bbc18df8965a06 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期四, 01 八月 2024 11:06:36 +0800
Subject: [PATCH] 知识库文件的下载

---
 src/views/dmx/knowledgeLib/tool.vue |  150 +++++++++++++++++++++++++++++++------------------
 1 files changed, 95 insertions(+), 55 deletions(-)

diff --git a/src/views/dmx/knowledgeLib/tool.vue b/src/views/dmx/knowledgeLib/tool.vue
index 50a1a08..f055f2d 100644
--- a/src/views/dmx/knowledgeLib/tool.vue
+++ b/src/views/dmx/knowledgeLib/tool.vue
@@ -10,6 +10,7 @@
     title="瑙f瀽鏂规硶"
     @before-open="handleOpened"
     @cancel="handleCancel"
+    @opened="handleOpened"
     :footer="false"
     title-align="start"
     width="700px"
@@ -19,56 +20,45 @@
       瑙f瀽鏂规硶:
     </div>
     <div style="margin-left: 10px">
-      <a-select v-model="form.section" 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="璇烽�夋嫨" >
+        <a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option>
       </a-select>
     </div>
   </div>
     <a-form ref="formRef" :rules="rules" :model="form"  auto-label-width @submit="handleSubmit" >
       <a-divider style="margin-top: 10px" />
-      <a-form-item field="slider" label="鏈�澶oken鏁�"
-                   :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
-        <a-slider v-model="form.section" :max="10" />
-        <a-input-number v-model="form.section" :style="{width:'100px',marginLeft:'2rem',borderRadius:'4px'}"
-                        placeholder="Please Enter" class="input-demo" :min="10" :max="1000" />
+      <a-form-item field="slider" label="鍧梩oken鏁�"
+                   :rules="[{type:'number', min:1,message:'slider is min than 1'}]">
+        <a-slider v-model="form.chunk_token_num" :max="1000" show-input />
       </a-form-item>
       <a-divider style="margin-top: 10px" />
       <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
         <a-space direction="vertical" size="large">
-          <a-switch v-model="form.raptor" @change="onChangeRAPTOR" />
+          <a-switch v-model="form.use_raptor" @change="onChangeRAPTOR" />
         </a-space>
       </a-form-item>
-      <div v-if="form.raptor">
-        <a-form-item field="section" label="鎻愮ず璇�">
+      <div v-if="form.use_raptor">
+        <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=""
-                      allow-clear />
+            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.score" :max="10" />
-          <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-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.score" :max="10" />
-          <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-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.score" :max="10" />
-          <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-slider v-model="form.max_cluster" :max="1000" show-input/>
         </a-form-item>
-        <a-form-item field="slider" label="闅忔満绉嶅瓙"
+        <a-form-item field="slider" label="闅忔満绉嶅瓙" v-model="form.random_seed"
                      :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
-          <a-input-number v-model="form.score" :style="{width:'300px',marginRight:'1rem',borderRadius:'4px'}"
+          <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="">
+          <a-button type="primary" @click="randomNumber">
             <icon-plus />
           </a-button>
 
@@ -86,26 +76,39 @@
 </template>
 
 <script lang="ts" setup>
-import { onMounted ,onBeforeMount, reactive, ref } from "vue";
-
+import { onMounted, onBeforeMount, reactive, ref, computed } from "vue";
+import { Message } from "@arco-design/web-vue";
+import {kbdocumentchangeparser} from "@/api/kbList";
 const visible = ref(false);
 const loading = ref(false);
+
+const props =  defineProps(['kbtenantInfo','item','kbdetail'])
+// const emit =  defineEmits(['upTabdateItem'])
+
+let threshold = computed(()=>{
+  return form.threshold/100;
+})
+
+const kbtenantInfo = props.kbtenantInfo;
+
+let  parser_ids = kbtenantInfo.parser_ids.split(',').map((item) => {
+  const [value1, value2] = item.split(':');
+  return {
+    name: value2,
+    value: value1,
+  };
+});
+
 const form = reactive({
-  size: "medium",
-  name: "",
-  age: undefined,
-  section: "0",
-  province: "haidian",
-  options: [],
-  date: "",
-  time: "",
-  radio: "radio one",
-  slider: 5,
-  score: 5,
-  switch: false,
-  multiSelect: ["section one"],
-  treeSelect: "",
-  raptor: true,
+  parser_id: props.item.parser_id,
+  doc_id: props.item.id,
+  max_token: 698,
+  threshold: 30,
+  max_cluster: 233,
+  random_seed: 1500,
+  chunk_token_num: 128,
+  use_raptor: false,
+  pages: {},
   prompt: '璇锋�荤粨浠ヤ笅娈佃惤銆� 灏忓績鏁板瓧锛屼笉瑕佺紪閫犮�� 娈佃惤濡備笅锛歕n' +
     '      {cluster_content}\n' +
     '浠ヤ笂灏辨槸浣犻渶瑕佹�荤粨鐨勫唴瀹广��',
@@ -113,17 +116,50 @@
 const formRef = ref(null);
 
 const rules = {
-  name: [
+  prompt: [
     {
       required: true,
-      message:'鍚嶇О涓嶅厑璁镐负绌�',
+      message:'鎻愮ず璇嶄笉鍏佽涓虹┖',
     },
   ],
 }
+const formatter = (value) => {
+  return value / 100
+};
+  function randomNumber() {
+    // 鐢熸垚涓�涓粙浜巑in鍜宮ax涔嬮棿鐨勯殢鏈烘暣鏁帮紙鍖呭惈min鍜宮ax锛�
+    const min = 1; // 鏈�灏忓��
+    const max = 10000; // 鏈�澶у��
+    form.random_seed = Math.floor(Math.random() * (max - min + 1)) + min;
+  }
 
+const handleSubmit = async ({values, errors}) => {
+  if(!errors){
+    let data = await kbdocumentchangeparser({
+      parser_id: form.parser_id,
+      doc_id: form.doc_id,
+      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,
+        },
+        chunk_token_num: form.chunk_token_num,
+        pages: [
 
-const handleSubmit = ({values, errors}) => {
-  console.log('values:', values, '\nerrors:', errors)
+        ]
+      }
+    })
+    if(data.code == 0){
+      Message.success('閰嶇疆鎴愬姛');
+    }else{
+      Message.error('閰嶇疆澶辫触');
+    }
+    visible.value = false;
+  }
 }
 
 const handleClick = () => {
@@ -145,17 +181,21 @@
 }
 
 const handleOpened =(el) => {
-  Object.assign(form,{
-    name: '',// 鐢ㄦ埛鍚�
-    nameJoin: '',// 鏄电О
-    post: '',// 宀椾綅
-    txt: '',// 澶囨敞
-  });
-  formRef.value.resetFields();
+  console.log('props',props.kbtenantInfo);
+  console.log('props',props.item);
+  console.log('props',props.kbdetail);
+  console.log(parser_ids, 'parser_ids');
+  // Object.assign(form,{
+  //   name: '',// 鐢ㄦ埛鍚�
+  //   nameJoin: '',// 鏄电О
+  //   post: '',// 宀椾綅
+  //   txt: '',// 澶囨敞
+  // });
+  // formRef.value.resetFields();
 }
 
 const onChangeRAPTOR = () => {
-  console.log(form.raptor);
+
 };
 
 onBeforeMount(()=>{

--
Gitblit v1.8.0