fix: file sprcial char

This commit is contained in:
archer
2023-08-26 21:17:57 +08:00
parent 4973d7ad9c
commit 0d26b1d48e
8 changed files with 41 additions and 29 deletions

View File

@@ -53,4 +53,4 @@ export const getAppTotalUsage = (data: { appId: string }) =>
}).then((res) => (res.length === 0 ? [{ date: new Date(), total: 0 }] : res));
export const getAppChatLogs = (data: RequestPaging & { appId: string }) =>
POST(`/chat/getChatLogs`, data);
POST(`/app/getChatLogs`, data);

View File

@@ -105,11 +105,12 @@ A2:
const result = formatSplitText(answer || ''); // 格式化后的QA对
console.log(`split result length: `, result.length);
// 计费
pushQABill({
userId: data.userId,
totalTokens,
appName: 'QA 拆分'
});
result.length > 0 &&
pushQABill({
userId: data.userId,
totalTokens,
appName: 'QA 拆分'
});
return {
rawContent: answer,
result

View File

@@ -53,8 +53,8 @@ export async function generateVector(): Promise<any> {
dataItems = [
{
q: data.q,
a: data.a
q: data.q.replace(/[\x00-\x1F]/g, ' '),
a: data.a.replace(/[\x00-\x1F]/g, ' ')
}
];
@@ -109,28 +109,30 @@ export async function generateVector(): Promise<any> {
// err vector data
if (err?.code === 500) {
await TrainingData.findByIdAndRemove(trainingId);
await TrainingData.findByIdAndDelete(trainingId);
return generateVector();
}
// 账号余额不足,删除任务
if (userId && err === ERROR_ENUM.insufficientQuota) {
sendInform({
type: 'system',
title: '索引生成任务中止',
content:
'由于账号余额不足,索引生成任务中止,重新充值后将会继续。暂停的任务将在 7 天后被删除。',
userId
});
console.log('余额不足,暂停向量生成任务');
await TrainingData.updateMany(
{
try {
sendInform({
type: 'system',
title: '索引生成任务中止',
content:
'由于账号余额不足,索引生成任务中止,重新充值后将会继续。暂停的任务将在 7 天后被删除。',
userId
},
{
lockTime: new Date('2999/5/5')
}
);
});
console.log('余额不足,暂停向量生成任务');
await TrainingData.updateMany(
{
userId
},
{
lockTime: new Date('2999/5/5')
}
);
} catch (error) {}
return generateVector();
}

View File

@@ -37,6 +37,12 @@ const ChatItemSchema = new Schema({
type: String,
default: ''
},
userFeedback: {
type: String
},
adminFeedback: {
type: String
},
[TaskResponseKeyEnum.responseData]: {
type: [
{
@@ -65,6 +71,7 @@ try {
ChatItemSchema.index({ userId: 1 });
ChatItemSchema.index({ appId: 1 });
ChatItemSchema.index({ chatId: 1 });
ChatItemSchema.index({ userFeedback: 1 });
} catch (error) {
console.log(error);
}

View File

@@ -239,10 +239,12 @@ function getChatMessages({
if (!quotePrompt) {
return limitPrompt;
}
const defaultPrompt =
'三引号引用的内容是你的补充知识,它们是最新的,根据引用内容来回答我的问题。';
if (limitPrompt) {
return `Use the provided documents delimited by triple quotes to answer questions. ${limitPrompt}`;
return `${defaultPrompt}${limitPrompt}`;
}
return `Use the provided documents delimited by triple quotes to answer questions.Your task is to answer the question using only the provided documents. If the documents does not contain the information needed to answer this question then simply write: "你的问题没有在知识库中体现"`;
return `${defaultPrompt}你仅回答引用包含的内容,如果问题不包含在引用中,你直接回复: "你的问题没有在知识库中体现"`;
})();
const messages: ChatItemType[] = [

View File

@@ -102,6 +102,8 @@ export interface ChatItemSchema extends ChatItemType {
userId: string;
appId: string;
time: Date;
userFeedback?: string;
adminFeedback?: string;
}
export type BillListItemType = {

View File

@@ -282,9 +282,7 @@ export const simpleText = (text: string) => {
text = text.replace(/\n{2,}/g, '\n');
text = text.replace(/\s{2,}/g, ' ');
text = text.replace(/\\x([0-9A-Fa-f]{2})/g, function (match, hex) {
return String.fromCharCode(parseInt(hex, 16));
});
text = text.replace(/[\x00-\x1F]/g, ' ');
return text;
};