mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-16 08:01:18 +00:00
feat: 队列任务余额不足时退出
This commit is contained in:
@@ -34,7 +34,7 @@ export const modelList: ModelConstantsData[] = [
|
||||
model: ChatModelNameEnum.GPT35,
|
||||
trainName: '',
|
||||
maxToken: 4000,
|
||||
contextMaxToken: 7500,
|
||||
contextMaxToken: 7000,
|
||||
trainedMaxToken: 2000,
|
||||
maxTemperature: 2,
|
||||
price: 3
|
||||
@@ -45,7 +45,7 @@ export const modelList: ModelConstantsData[] = [
|
||||
model: ChatModelNameEnum.VECTOR_GPT,
|
||||
trainName: 'vector',
|
||||
maxToken: 4000,
|
||||
contextMaxToken: 7500,
|
||||
contextMaxToken: 7000,
|
||||
trainedMaxToken: 2000,
|
||||
maxTemperature: 1,
|
||||
price: 3
|
||||
|
@@ -71,7 +71,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
||||
`idx:${VecModelDataPrefix}:hash`,
|
||||
`@modelId:{${String(
|
||||
chat.modelId._id
|
||||
)}} @vector:[VECTOR_RANGE 0.25 $blob]=>{$YIELD_DISTANCE_AS: score}`,
|
||||
)}} @vector:[VECTOR_RANGE 0.22 $blob]=>{$YIELD_DISTANCE_AS: score}`,
|
||||
// `@modelId:{${String(chat.modelId._id)}}=>[KNN 10 @vector $blob AS score]`,
|
||||
'RETURN',
|
||||
'1',
|
||||
|
@@ -19,6 +19,8 @@ export async function generateQA(): Promise<any> {
|
||||
}
|
||||
global.generatingQA++;
|
||||
|
||||
let dataId = null;
|
||||
|
||||
try {
|
||||
const redis = await connectRedis();
|
||||
// 找出一个需要生成的 dataItem
|
||||
@@ -32,6 +34,8 @@ export async function generateQA(): Promise<any> {
|
||||
return;
|
||||
}
|
||||
|
||||
dataId = dataItem._id;
|
||||
|
||||
// 源文本
|
||||
const text = dataItem.textList[dataItem.textList.length - 1];
|
||||
if (!text) {
|
||||
@@ -137,8 +141,25 @@ export async function generateQA(): Promise<any> {
|
||||
generateQA();
|
||||
generateVector();
|
||||
} catch (error: any) {
|
||||
console.log(error);
|
||||
console.log('生成QA错误:', error?.response);
|
||||
// log
|
||||
if (error?.response) {
|
||||
console.log('openai error: 生成QA错误');
|
||||
console.log(error.response?.status, error.response?.statusText, error.response?.data);
|
||||
} else {
|
||||
console.log('生成QA错误:', error);
|
||||
}
|
||||
|
||||
if (dataId && error?.response?.data?.error?.type === 'insufficient_quota') {
|
||||
console.log('api 余额不足');
|
||||
|
||||
await SplitData.findByIdAndUpdate(dataId, {
|
||||
textList: [],
|
||||
errorText: 'api 余额不足'
|
||||
});
|
||||
|
||||
generateQA();
|
||||
return;
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
global.generatingQA--;
|
||||
|
@@ -7,7 +7,7 @@ import { openaiCreateEmbedding, getOpenApiKey } from '../utils/openai';
|
||||
export async function generateVector(next = false): Promise<any> {
|
||||
if (global.generatingVector && !next) return;
|
||||
global.generatingVector = true;
|
||||
|
||||
let dataId = null;
|
||||
try {
|
||||
const redis = await connectRedis();
|
||||
|
||||
@@ -36,6 +36,8 @@ export async function generateVector(next = false): Promise<any> {
|
||||
userId: String(searchRes.documents[0]?.value?.userId || '')
|
||||
};
|
||||
|
||||
dataId = dataItem.id;
|
||||
|
||||
// 获取 openapi Key
|
||||
let userApiKey, systemKey;
|
||||
try {
|
||||
@@ -75,11 +77,23 @@ export async function generateVector(next = false): Promise<any> {
|
||||
|
||||
setTimeout(() => {
|
||||
generateVector(true);
|
||||
}, 2000);
|
||||
}, 4000);
|
||||
} catch (error: any) {
|
||||
console.log('error: 生成向量错误', error?.response?.statusText);
|
||||
!error?.response && console.log(error);
|
||||
// log
|
||||
if (error?.response) {
|
||||
console.log('openai error: 生成向量错误');
|
||||
console.log(error.response?.status, error.response?.statusText, error.response?.data);
|
||||
} else {
|
||||
console.log('生成向量错误:', error);
|
||||
}
|
||||
|
||||
if (dataId && error?.response?.data?.error?.type === 'insufficient_quota') {
|
||||
console.log('api 余额不足');
|
||||
const redis = await connectRedis();
|
||||
redis.del(dataId);
|
||||
generateVector(true);
|
||||
return;
|
||||
}
|
||||
if (error?.response?.statusText === 'Too Many Requests') {
|
||||
console.log('生成向量次数限制,1分钟后尝试');
|
||||
// 限制次数,1分钟后再试
|
||||
@@ -88,9 +102,8 @@ export async function generateVector(next = false): Promise<any> {
|
||||
}, 60000);
|
||||
return;
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
generateVector(true);
|
||||
}, 3000);
|
||||
}, 4000);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user