fix: reg failed

This commit is contained in:
archer 2023-08-31 20:06:49 +08:00
parent 0ea464f30f
commit 2ae8d43216
No known key found for this signature in database
GPG Key ID: 569A5660D2379E28
3 changed files with 74 additions and 69 deletions

View File

@ -6,11 +6,11 @@ export enum UserAuthTypeEnum {
export const PRICE_SCALE = 100000; export const PRICE_SCALE = 100000;
export const fileImgs = [ export const fileImgs = [
{ reg: /pdf/gi, src: '/imgs/files/pdf.svg' }, { suffix: 'pdf', src: '/imgs/files/pdf.svg' },
{ reg: /csv/gi, src: '/imgs/files/csv.svg' }, { suffix: 'csv', src: '/imgs/files/csv.svg' },
{ reg: /(doc|docs)/gi, src: '/imgs/files/doc.svg' }, { suffix: '(doc|docs)', src: '/imgs/files/doc.svg' },
{ reg: /txt/gi, src: '/imgs/files/txt.svg' }, { suffix: 'txt', src: '/imgs/files/txt.svg' },
{ reg: /md/gi, src: '/imgs/files/markdown.svg' } { suffix: 'md', src: '/imgs/files/markdown.svg' }
]; ];
export const htmlTemplate = `<!DOCTYPE html> export const htmlTemplate = `<!DOCTYPE html>

View File

@ -76,13 +76,18 @@ const FileSelect = ({
setSelecting(true); setSelecting(true);
try { try {
// Parse file by file // Parse file by file
let promise = Promise.resolve<FileItemType[]>([]); const chunkFiles: FileItemType[] = [];
files.forEach((file) => {
promise = promise.then(async (result) => { for await (let file of files) {
const extension = file?.name?.split('.')?.pop()?.toLowerCase(); const extension = file?.name?.split('.')?.pop()?.toLowerCase();
/* text file */ /* text file */
const icon = fileImgs.find((item) => new RegExp(item.reg).test(file.name))?.src; const icon = fileImgs.find((item) => new RegExp(item.suffix, 'gi').test(file.name))?.src;
if (!icon) {
continue;
}
let text = await (async () => { let text = await (async () => {
switch (extension) { switch (extension) {
case 'txt': case 'txt':
@ -97,8 +102,6 @@ const FileSelect = ({
return ''; return '';
})(); })();
if (!icon) return result;
if (text) { if (text) {
text = simpleText(text); text = simpleText(text);
const splitRes = splitText2Chunks({ const splitRes = splitText2Chunks({
@ -117,7 +120,8 @@ const FileSelect = ({
source: file.name source: file.name
})) }))
}; };
return [fileItem].concat(result); chunkFiles.unshift(fileItem);
continue;
} }
/* csv file */ /* csv file */
@ -138,14 +142,10 @@ const FileSelect = ({
source: item[2] || file.name source: item[2] || file.name
})) }))
}; };
return [fileItem].concat(result);
chunkFiles.unshift(fileItem);
}
} }
return result;
});
});
const chunkFiles = await promise;
onPushFiles(chunkFiles); onPushFiles(chunkFiles);
} catch (error: any) { } catch (error: any) {
console.log(error); console.log(error);

View File

@ -9,6 +9,7 @@ import { axiosConfig, getAIChatApi } from '../ai/openai';
import { ChatCompletionRequestMessage } from 'openai'; import { ChatCompletionRequestMessage } from 'openai';
import { modelToolMap } from '@/utils/plugin'; import { modelToolMap } from '@/utils/plugin';
import { gptMessage2ChatType } from '@/utils/adapt'; import { gptMessage2ChatType } from '@/utils/adapt';
import { addLog } from '../utils/tools';
const reduceQueue = () => { const reduceQueue = () => {
global.qaQueueLen = global.qaQueueLen > 0 ? global.qaQueueLen - 1 : 0; global.qaQueueLen = global.qaQueueLen > 0 ? global.qaQueueLen - 1 : 0;
@ -105,12 +106,16 @@ A2:
const result = formatSplitText(answer || ''); // 格式化后的QA对 const result = formatSplitText(answer || ''); // 格式化后的QA对
console.log(`split result length: `, result.length); console.log(`split result length: `, result.length);
// 计费 // 计费
result.length > 0 && if (result.length > 0) {
pushQABill({ pushQABill({
userId: data.userId, userId: data.userId,
totalTokens, totalTokens,
appName: 'QA 拆分' appName: 'QA 拆分'
}); });
} else {
addLog.info(`QA result 0:`, { answer });
}
return { return {
rawContent: answer, rawContent: answer,
result result