欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > FastGPT原理分析-数据集创建第二步:处理任务的执行

FastGPT原理分析-数据集创建第二步:处理任务的执行

2025/3/30 19:55:21 来源:https://blog.csdn.net/zg_hover/article/details/146451386  浏览:    关键词:FastGPT原理分析-数据集创建第二步:处理任务的执行

概述

文章《FastGPT原理分析-数据集创建第一步》已经分析了数据集创建的第一步:文件上传和预处理的实现逻辑。本文介绍文件上传后,数据处理任务的具体实现逻辑。

数据集创建总体实现步骤

从上文可知数据集创建总体上来说分为两大步骤:

(1)文件上传和预处理,并验证各种配置和参数的合法性;

(2)触发数据处理任务,对数据进行向量化处理和QA问答对的处理。

本文介绍第二步的详细实现逻辑。

数据处理的触发的实现逻辑

在FastGPT中会在启动时注册一个监控mongodb的insert插入动作的函数。当有数据插入到mongodb对应的数据表dataset_trainings时,就会触发对应的数据处理的执行。

在这里插入图片描述

根据任务类型来调用对应的处理函数。

3.数据处理的触发

在系统初始化时,FastGPT注册了一个监听mongodb插入动作的处理函数代码如下:

export async function register() {// ...startMongoWatch(); // 监控mongodb的动作//...
}// startMongoWatch函数的实现
export const startMongoWatch = async () => {reloadConfigWatch();refetchSystemPlugins();createDatasetTrainingMongoWatch();  //在这里注册mongodb的数据处理函数
};
// 创建mongodb的插入操作的监控任务处理
export const createDatasetTrainingMongoWatch = () => {const changeStream = MongoDatasetTraining.watch();changeStream.on('change', async (change) => {try {// 监控mongodb的插入操作if (change.operationType === 'insert') {const fullDocument = change.fullDocument as DatasetTrainingSchemaType;const { mode } = fullDocument;// 训练类型:QA问答对处理方式if (mode === TrainingModeEnum.qa) {generateQA();} else if (mode === TrainingModeEnum.chunk) {// chunk处理方式    generateVector();}}} catch (error) {}});
};

总结

本文介绍了文件上传后的任务触发方式。可以看到,是通过监控mongodb数据表dataset_trainings的插入操作来触发数据处理任务。有两种数据处理方式:(1)QA问答方式数据处理;(2)嵌入向量处理方式。后面会介绍这两种方式的具体实现逻辑。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词