From 64920403797a80149ac1ba2cd2426ad5db044bec Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 26 八月 2024 14:58:01 +0800
Subject: [PATCH] fix: 修改settings 备注
---
src/views/dmx/knowledgeLib/test.vue | 375 +++++++++++++++++++++++++---------------------------
1 files changed, 181 insertions(+), 194 deletions(-)
diff --git a/src/views/dmx/knowledgeLib/test.vue b/src/views/dmx/knowledgeLib/test.vue
index 69df71d..4dae6dc 100644
--- a/src/views/dmx/knowledgeLib/test.vue
+++ b/src/views/dmx/knowledgeLib/test.vue
@@ -1,215 +1,202 @@
+
<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 {
+ overflow: auto;
+ &-top{
width: 100%;
height: 60px;
line-height: 60px;
@@ -217,44 +204,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