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