training queue
This commit is contained in:
@@ -2,6 +2,7 @@ import mongoose from 'mongoose';
|
||||
import { generateQA } from './events/generateQA';
|
||||
import { generateVector } from './events/generateVector';
|
||||
import tunnel from 'tunnel';
|
||||
import { TrainingData } from './mongo';
|
||||
|
||||
/**
|
||||
* 连接 MongoDB 数据库
|
||||
@@ -27,9 +28,6 @@ export async function connectToDatabase(): Promise<void> {
|
||||
global.mongodb = null;
|
||||
}
|
||||
|
||||
generateQA();
|
||||
generateVector();
|
||||
|
||||
// 创建代理对象
|
||||
if (process.env.AXIOS_PROXY_HOST && process.env.AXIOS_PROXY_PORT) {
|
||||
global.httpsAgent = tunnel.httpsOverHttp({
|
||||
@@ -39,6 +37,34 @@ export async function connectToDatabase(): Promise<void> {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
startTrain();
|
||||
// 5 分钟后解锁不正常的数据,并触发开始训练
|
||||
setTimeout(async () => {
|
||||
await TrainingData.updateMany(
|
||||
{
|
||||
lockTime: { $lte: Date.now() - 5 * 60 * 1000 }
|
||||
},
|
||||
{
|
||||
lockTime: new Date('2000/1/1')
|
||||
}
|
||||
);
|
||||
startTrain();
|
||||
}, 5 * 60 * 1000);
|
||||
}
|
||||
|
||||
async function startTrain() {
|
||||
const qa = await TrainingData.find({
|
||||
qaList: { $exists: true, $ne: [] }
|
||||
});
|
||||
|
||||
qa.map((item) => generateQA(String(item._id)));
|
||||
|
||||
const vector = await TrainingData.find({
|
||||
vectorList: { $exists: true, $ne: [] }
|
||||
});
|
||||
|
||||
vector.map((item) => generateVector(String(item._id)));
|
||||
}
|
||||
|
||||
export * from './models/authCode';
|
||||
@@ -47,7 +73,7 @@ export * from './models/model';
|
||||
export * from './models/user';
|
||||
export * from './models/bill';
|
||||
export * from './models/pay';
|
||||
export * from './models/splitData';
|
||||
export * from './models/trainingData';
|
||||
export * from './models/openapi';
|
||||
export * from './models/promotionRecord';
|
||||
export * from './models/collection';
|
||||
|
||||
Reference in New Issue
Block a user