diff --git a/src/service/events/generateQA.ts b/src/service/events/generateQA.ts index 7a69593ef..033d15615 100644 --- a/src/service/events/generateQA.ts +++ b/src/service/events/generateQA.ts @@ -8,6 +8,7 @@ import { PgClient } from '@/service/pg'; import { ModelSplitDataSchema } from '@/types/mongoSchema'; import { modelServiceToolMap } from '../utils/chat'; import { ChatRoleEnum } from '@/constants/chat'; +import { getErrMessage } from '../utils/tools'; export async function generateQA(next = false): Promise { if (process.env.queueTask !== '1') { @@ -51,17 +52,14 @@ export async function generateQA(next = false): Promise { const key = await getApiKey({ model: OpenAiChatEnum.GPT35, userId: dataItem.userId }); userOpenAiKey = key.userOpenAiKey; systemAuthKey = key.systemAuthKey; - } catch (error: any) { - if (error?.code === 501) { - // 余额不够了, 清空该记录 - await SplitData.findByIdAndUpdate(dataItem._id, { - textList: [], - errorText: error.message - }); - throw new Error(error?.message); - } - - throw new Error('获取 openai key 失败'); + } catch (err: any) { + // 余额不够了, 清空该记录 + await SplitData.findByIdAndUpdate(dataItem._id, { + textList: [], + errorText: getErrMessage(err, '获取 OpenAi Key 失败') + }); + generateQA(true); + return; } console.log(`正在生成一组QA, 包含 ${textList.length} 组文本。ID: ${dataItem._id}`); @@ -171,7 +169,7 @@ A2: setTimeout(() => { generateQA(true); - }, 4000); + }, 1000); } } diff --git a/src/service/events/generateVector.ts b/src/service/events/generateVector.ts index 42c118f04..d3fe109dc 100644 --- a/src/service/events/generateVector.ts +++ b/src/service/events/generateVector.ts @@ -2,6 +2,7 @@ import { openaiCreateEmbedding } from '../utils/chat/openai'; import { getApiKey } from '../utils/auth'; import { openaiError2 } from '../errorCode'; import { PgClient } from '@/service/pg'; +import { getErrMessage } from '../utils/tools'; export async function generateVector(next = false): Promise { if (process.env.queueTask !== '1') { @@ -45,16 +46,13 @@ export async function generateVector(next = false): Promise { try { const res = await getApiKey({ model: 'gpt-3.5-turbo', userId: dataItem.userId }); userOpenAiKey = res.userOpenAiKey; - } catch (error: any) { - if (error?.code === 501) { - await PgClient.delete('modelData', { - where: [['id', dataId]] - }); - generateVector(true); - return; - } - - throw new Error('获取 openai key 失败'); + } catch (err: any) { + await PgClient.delete('modelData', { + where: [['id', dataId]] + }); + generateVector(true); + getErrMessage(err, '获取 OpenAi Key 失败'); + return; } // 生成词向量 @@ -104,6 +102,6 @@ export async function generateVector(next = false): Promise { } setTimeout(() => { generateVector(true); - }, 2000); + }, 1000); } } diff --git a/src/service/utils/tools.ts b/src/service/utils/tools.ts index 0ead52c43..66665dfd0 100644 --- a/src/service/utils/tools.ts +++ b/src/service/utils/tools.ts @@ -26,3 +26,12 @@ export const axiosConfig = () => ({ auth: process.env.OPENAI_BASE_URL_AUTH || '' } }); + +/** + * get error message + */ +export const getErrMessage = (err: any, defaultMsg = ''): string => { + const msg = typeof err === 'string' ? err : err?.message || defaultMsg || ''; + msg && console.log('error =>', msg); + return msg; +};