liudong
2024-08-24 2d708ae88849b6f4213ce0c168237844d3423699
src/views/sessionManager/components/updataFile.vue
@@ -36,12 +36,18 @@
        <div>
          <span>解析方法: </span>
          <a-radio-group v-model="parser_id">
            <a-radio
              v-for="item in parser_ids"
              :key="item.value"
              :value="item.value"
              style="margin-right: 10px"
            >{{item.name}}</a-radio>
            <a-popover title=""
                       v-for="item in parser_ids"
                       :key="item.value"
            >
              <a-radio
                :value="item.value"
                style="margin-right: 10px"
              >{{item.name}}</a-radio>
              <template #content>
                <p style="max-width: 300px">{{item.parser_config_str}}</p>
              </template>
            </a-popover>
          </a-radio-group>
        </div>
        <a-button
@@ -73,7 +79,6 @@
const filesBtn = ref(null);
const onFileSelectedLoading = ref(false);
const parser_id = ref("");
const parser_ids = ref([]);
const uploaditemList = ref([]);
const activeSessionId = ref('');
let kbtenantInfo = reactive({
@@ -89,7 +94,6 @@
  tenant_id: '948fc6fa41ab11ef8fb80242ac120004',
  parser_idObj: {},
});
const uploadList = ref([]);
const parser = reactive({
  naive: {
    "chunk_token_num": 676,
@@ -103,8 +107,91 @@
      "random_seed": 1500
    }
  }, // 用户名
  qa: {},
  resume: {},
  manual: {},
  table: {},
  paper: {},
  book: {},
  laws: {},
  presentation: {},
  picture: {},
  one: {},
});
const parser_ids = ref([
  {
    name: '通用',
    value: 'naive',
    parser_config: parser.naive,
    parser_config_str: '支持的文件格式为DOCX、EXCEL、PPT、IMAGE、PDF、TXT'
  },
  {
    name: 'Q&A',
    value: 'qa',
    parser_config: parser.qa,
    parser_config_str: '支持 excel 和 csv/txt 文件格式。 \n' +
      '如果文件以 excel 格式,则应由两个列组成 没有标题:一个提出问题,另一个用于答案, 答案列之前的问题列。\n' +
      '如果文件以 csv/txt 格式为 用作分开问题和答案的定界符。\n'
  },
  {
    name: '简历',
    value: 'resume',
    parser_config: parser.resume,
    parser_config_str: '支持的文件格式为DOCX、PDF、TXT'
  },
  {
    name: '说明书',
    value: 'manual',
    parser_config: parser.manual,
    parser_config_str: '仅支持PDF'
  },
  {
    name: '表格',
    value: 'table',
    parser_config: parser.table,
    parser_config_str: '支持EXCEL和CSV/TXT格式文。 \n' +
      '对于 csv 或 txt 文件,列之间的分隔符为 TAB,\n' +
      '第一行必须是列标题。\n'
  },
  {
    name: '多模态',
    value: 'paper',
    parser_config: parser.paper,
    parser_config_str: '仅支持PDF文件'
  },
  {
    name: '书籍',
    value: 'book',
    parser_config: parser.book,
    parser_config_str: '支持的文件格式为DOCX、PDF、TXT'
  },
  {
    name: '法律文件',
    value: 'laws',
    parser_config: parser.laws,
    parser_config_str: '支持的文件格式为DOCX、PDF、TXT'
  },
  {
    name: 'PPT',
    value: 'presentation',
    parser_config: parser.presentation,
    parser_config_str: '支持的文件格式为PDF、PPTX'
  },
  {
    name: '图片',
    value: 'picture',
    parser_config: parser.picture,
    parser_config_str: '支持图像文件'
  },
  {
    name: '整体',
    value: 'one',
    parser_config: parser.one,
    parser_config_str: '支持的文件格式为DOCX、EXCEL、PDF、TXT'
  },
]);
const uploadList = ref([]);
const props = defineProps(["sessionId"]);
const emit = defineEmits(["selectFileCallback"]);
const uploadRef = ref();
@@ -114,13 +201,13 @@
});
const init = () => {
  parser_ids.value = kbtenantInfo.parser_ids.split(",").map((item) => {
    const [value1, value2] = item.split(":");
    return {
      name: value2,
      value: value1
    };
  });
  // parser_ids.value = kbtenantInfo.parser_ids.split(",").map((item) => {
  //   const [value1, value2] = item.split(":");
  //   return {
  //     name: value2,
  //     value: value1
  //   };
  // });
}
const onChange = (fileList) => {