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