yinbangzhong
2024-08-29 30c1eeca00527a1294c62b1c708edd32ba079b67
src/views/dmx/knowledgeLib/config.vue
@@ -35,7 +35,7 @@
<!--          </a-form-item>-->
          <a-form-item field="embd_id" label="嵌入模型">
            <a-select :size="'large'" v-model="form.embd_id" placeholder="请选择 ..." :disabled="kbObj.chunk_num && kbObj.token_num">
              <a-optgroup  :label="index" v-for="(item,index) in modelList" :key=index>
              <!-- <a-optgroup  :label="index" v-for="(item,index) in mobileData" :key=index>
                <a-option
                  v-for="(obj) in item"
                  :key='obj.fid'
@@ -43,11 +43,18 @@
                >
                  {{obj.llm_name}}
                </a-option>
              </a-optgroup>
              </a-optgroup> -->
              <a-option
                  v-for="(item,index) in mobileData"
                  :key='item.name'
                  :value="item.name"
                >
                  {{item.name}}
                </a-option>
            </a-select>
          </a-form-item>
          <a-form-item field="parser_id" label="解析方法">
            <a-select v-model="form.parser_id" placeholder="请选择" :disabled="kbObj.chunk_num  && kbObj.token_num " >
            <a-select v-model="form.parser_id" placeholder="请选择" :disabled="!!(kbObj.chunk_num  && kbObj.token_num)" >
              <a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option>
            </a-select>
          </a-form-item>
@@ -150,9 +157,9 @@
</template>
<script lang="ts" setup>
import { onMounted, onBeforeMount, reactive, ref } from "vue";
import { onMounted, onBeforeMount, reactive, ref, nextTick } from "vue";
import { Message } from "@arco-design/web-vue";
import { queryModelList,kbUpdate } from "@/api/kbList";
import { queryModelList,kbUpdate,getKnowledgeBaseModel } from "@/api/kbList";
import message from "@arco-design/web-vue/es/message";
import useLoading from "@/hooks/loading";
const { loading,setLoading } = useLoading(true);
@@ -187,7 +194,7 @@
  description: "",
  language: "English",
  permission: "",
  embd_id: "BAAI/bge-large-zh-v1.5",
  embd_id: "",
  parser_id: '',
  layout_recognize: true
});
@@ -219,8 +226,9 @@
  ],
}
let visible = ref(false);
const formRef = ref(null);
const formRef = ref();
const modelList = ref({});
const mobileData= ref<any>([])
const file = ref();
const uploadAction = '/api/v1/llm/upload'; // 替换为你的上传API
@@ -314,14 +322,25 @@
  Object.assign(form,{
  });
  formRef.value.resetFields();
  // formRef.value.resetFields();
}
const queryModel = async (params) => {
  try {
    const data = await queryModelList(params);
    const data = await getKnowledgeBaseModel(params);
    // const res =await queryModelList(params)
    // console.log(data.data, '大模型列表');
    modelList.value = data.data
    for(let key in data.data) {
      if (data.data.hasOwnProperty(key)) { // 确保是对象自有属性,不是原型链上的属性
        if(data.data[key].llm.length > 0){
          mobileData.value= data.data[key].llm.filter(item => item.type == "embedding")
        }
      }
    }
  } catch (err) {
    // you can report use errorHandler or other
  } finally {
@@ -330,43 +349,45 @@
};
const changekbObj = (value) => {
  formRef.value.resetFields();
  kbObj = value;
  console.log(kbObj, 'kbObj');
  let configObj = {
    name: kbObj.name,
    avatar: kbObj.avatar,
    pages:  kbObj.parser_config.pages,
    chunk_token_num:  kbObj.parser_config.chunk_token_num,
    description: kbObj.description,
    language: "English",
    permission: kbObj.permission,
    embd_id: props.kbtenantInfo.embd_id || kbObj.embd_id,
    parser_id: kbObj.parser_id,
    layout_recognize: true,
  }
  let raptor = {}
  if(kbObj.parser_config && kbObj.parser_config.raptor){
    raptor = kbObj.parser_config.raptor;
    Object.assign(form,{
      ...configObj,
      ...raptor,
      use_raptor: kbObj.parser_config.raptor.use_raptor,
    });
  }else{
    Object.assign(form,{
      ...configObj,
      use_raptor: false,
    });
  }
  imageUrls.value = [kbObj.avatar];
  console.log(form,'配置页面表单信息');
  avatarShow.value = false;
  setTimeout(() => {
    avatarShow.value = true;
  },100);
  scrollContainer.value.scrollTop = 0;
   formRef.value.resetFields();
  nextTick(()=>{
    kbObj = value;
    console.log(kbObj, 'kbObj');
    let configObj = {
      name: kbObj.name,
      avatar: kbObj.avatar,
      pages:  kbObj.parser_config.pages,
      chunk_token_num:  kbObj.parser_config.chunk_token_num,
      description: kbObj.description,
      language: "English",
      permission: kbObj.permission,
      embd_id: kbObj.embd_id || props.kbtenantInfo.embd_id,
      parser_id: kbObj.parser_id,
      layout_recognize: true,
    }
    let raptor = {}
    if(kbObj.parser_config && kbObj.parser_config.raptor){
      raptor = kbObj.parser_config.raptor;
      Object.assign(form,{
        ...configObj,
        ...raptor,
        use_raptor: kbObj.parser_config.raptor.use_raptor,
      });
    }else{
      Object.assign(form,{
        ...configObj,
        use_raptor: false,
      });
    }
    imageUrls.value = [kbObj.avatar];
    console.log(form,'配置页面表单信息');
    avatarShow.value = false;
    setTimeout(() => {
      avatarShow.value = true;
    },100);
    scrollContainer.value.scrollTop = 0;
  })
}
defineExpose({