liudong
2024-07-30 8b58e2d0c4cf9db301f17f4456b899183fca86b9
注册信息
1个文件已添加
4个文件已修改
116 ■■■■■ 已修改文件
src/store/index.ts 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/storeMsg/index.ts 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/index.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/test.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dmx/knowledgeLib/tool.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.ts
@@ -1,9 +1,10 @@
import { createPinia } from 'pinia';
import useAppStore from './modules/app';
import useUserStore from './modules/user';
import usePinia from './modules/storeMsg';
import useTabBarStore from './modules/tab-bar';
const pinia = createPinia();
export { useAppStore, useUserStore, useTabBarStore };
export { useAppStore, useUserStore,usePinia, useTabBarStore };
export default pinia;
src/store/modules/storeMsg/index.ts
New file
@@ -0,0 +1,26 @@
import { defineStore } from 'pinia';
const usePinia  = defineStore('user', {
  state: () => ({
    id: '',
  }),
  getters: {
    getkbObj(state) {
      return { ...state };
    },
  },
  actions: {
    // Set user's information
    setkbObj(str) {
      this.id = str;
    },
    // Reset user's information
    resetkbObj() {
      this.$reset();
    },
  },
});
export default usePinia ;
src/views/dmx/knowledgeLib/index.vue
@@ -233,7 +233,7 @@
          </a-tab-pane>
          <a-tab-pane key="2" :title="t('dmx.list.test')">
            <div class="rt-container-main">
              <test :kbobj="kbobj"></test>
              <test ref="testRefs" :kbobj="kbobj"></test>
            </div>
          </a-tab-pane>
          <a-tab-pane key="3" :title="t('dmx.list.disposition')">
@@ -284,7 +284,7 @@
</template>
<script lang="ts" setup>
import { computed, ref, reactive, watch, nextTick, onBeforeMount } from "vue";
import { computed, ref, reactive, watch, nextTick, onBeforeMount, onMounted } from "vue";
  import { useI18n } from 'vue-i18n';
  import useLoading from '@/hooks/loading';
import {
@@ -328,6 +328,7 @@
  const renderData = ref([]);
  const formModel = ref(generateFormModel());
  const cloneColumns = ref([]);
  const testRefs = ref(null);
  const showColumns = ref<Column[]>([]);
  const size = ref<SizeProps>('medium');
@@ -353,8 +354,8 @@
  const  selectTab = (index,item) => {
    selectedTab.value= index;
    console.log(item.id);
    kbobj= item
    // console.log(item.id);
    kbobj= item;
    fetchData({
      kb_id: kbobj.id,
      page: 1,
@@ -473,7 +474,7 @@
          acc[key] = value;
          return acc;
        }, {});
        console.log(parser_ids, 'parser_ids');
        // console.log(parser_ids, 'parser_ids');
        kbtenantInfo.parser_idObj = parser_ids;
        renderData.value = data.data.docs||[];
        renderData.value = renderData.value.map((item) => {
@@ -483,7 +484,7 @@
            parser_id: parser_ids[item.parser_id],
          };
        });
        console.log(renderData.value, 'renderData.value');
        console.log(renderData.value, 'renderData');
        pagination.current = params.page;
        pagination.total = data.data.total;
@@ -530,6 +531,7 @@
      console.log(tabs.value, 'tabs');
      if(tabs.value.length>0 && tabs.value[0]){
        kbobj = tabs.value[0]
        fetchData({
          kb_id: kbobj.id,
          page: 1,
@@ -708,6 +710,9 @@
  onBeforeMount(()=>{
    knowledgeData()
  })
  onMounted(()=>{
  })
</script>
src/views/dmx/knowledgeLib/test.vue
@@ -15,7 +15,7 @@
            </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'" :default-value="form.rerank_id" :style="{width:'100%'}" placeholder="请选择 ..." allow-clear>
                <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"
@@ -83,24 +83,28 @@
</template>
<script lang="ts" setup>
import { onMounted ,onBeforeMount, reactive, ref } from "vue";
import { onMounted, onBeforeMount, reactive, ref, watch } from "vue";
import { Message } from '@arco-design/web-vue';
import { kbretrievalTest, queryModelList } from "@/api/kbList";
const props = defineProps({
  kbobj: {
    type: Object,
    default: () => {
      return {}
const props = defineProps(['kbobj'])
watch(
  ()=>props.kbobj,
  (val)=>{
    console.log(val, '见听到新值');
  },
  {
    deep: true,
    immediate: true
    }
  }
})
)
let visible = ref(false);
let loading = ref(false);
const formRef = ref(null);
const modelList = ref({});
let form = reactive({
  kb_id: props.kbobj.kb_id,
  kb_id: props.kbobj.id,
  page: 1,
  question: '',
  rerank_id: '',
@@ -112,22 +116,24 @@
const formatter = (value) => {
  return value / 100
  return Math.round(value / 100)
};
const sayHello = () => {
  Message.info('hello');
const sayHello = (str) => {
  Message.info(str);
};
const handleSubmit = async ({values, errors}) => {
  // console.log(props.kbobj, 'props.kbobj');
  if (!form.question){
    return
  }
  form.similarity_threshold = form.similarity_threshold/100;
  form.vector_similarity_weight = form.vector_similarity_weight/100;
   const data = await kbretrievalTest(form);
  let formObj = {...form}
  formObj.similarity_threshold = formObj.similarity_threshold/100;
  formObj.vector_similarity_weight = formObj.vector_similarity_weight/100;
   const data = await kbretrievalTest(formObj);
  console.log(data);
}
@@ -184,6 +190,8 @@
})
</script>
<script lang="ts">
src/views/dmx/knowledgeLib/tool.vue
@@ -20,7 +20,7 @@
      解析方法:
    </div>
    <div style="margin-left: 10px">
      <a-select v-model="form.parser_id" placeholder="请选择" width="200px">
      <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>
@@ -29,9 +29,7 @@
      <a-divider style="margin-top: 10px" />
      <a-form-item field="slider" label="块token数"
                   :rules="[{type:'number', min:1,message:'slider is min than 1'}]">
        <a-slider v-model="form.chunk_token_num" :max="1000" />
        <a-input-number v-model="form.chunk_token_num" :style="{width:'100px',marginLeft:'2rem',borderRadius:'4px'}"
                        placeholder="请输入" class="input-demo"  :max="1000" />
        <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策略">
@@ -47,20 +45,14 @@
        </a-form-item>
        <a-form-item field="slider" label="最大token数"
                     :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" :format-tooltip="formatter" 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'}]">
@@ -84,7 +76,7 @@
</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);
@@ -92,6 +84,10 @@
const props =  defineProps(['kbtenantInfo','item','kbdetail'])
// const emit =  defineEmits(['upTabdateItem'])
let threshold = computed(()=>{
  return form.threshold/100;
})
const kbtenantInfo = props.kbtenantInfo;
@@ -107,7 +103,7 @@
  parser_id: props.item.parser_id,
  doc_id: props.item.id,
  max_token: 698,
  threshold: 0.32,
  threshold: 30,
  max_cluster: 233,
  random_seed: 1500,
  chunk_token_num: 128,
@@ -127,7 +123,9 @@
    },
  ],
}
const formatter = (value) => {
  return value / 100
};
  function randomNumber() {
    // 生成一个介于min和max之间的随机整数(包含min和max)
    const min = 1; // 最小值