当前位置: 首页 > news >正文

新注册的公司怎么做网站百度广告服务商

新注册的公司怎么做网站,百度广告服务商,网站建设佰金手指科杰十三,网站建设dyfwzx概述 FastGPT的文件上传过程分为两个阶段:第一个阶段:是文件上传。第二个阶段:是对文件进行向量化处理和QA化处理。本文介绍文件上传的总体流程,并对创建数据集的第一步的详细实现逻辑进行分析。 数据集创建总体流程 数据集创建…

概述

FastGPT的文件上传过程分为两个阶段:第一个阶段:是文件上传。第二个阶段:是对文件进行向量化处理和QA化处理。本文介绍文件上传的总体流程,并对创建数据集的第一步的详细实现逻辑进行分析。

数据集创建总体流程

数据集创建分为两个步骤:

  1. 第一步:文件上传和预处理,插入记录到mongodb的训练队列dataset_trainings表中。
  2. 第二步:监控mongodb的插入操作,并启动数据处理:(1)嵌入向量的计算或(2)QA文本拆分。
// 创建数据集并插入mongodb的数据表中
createCollectionAndInsertData-> pushDataListToTrainingQueue // 将数据集数据推送到训练队列// 注册处理函数,并自动处理数据
startMongoWatch-> createDatasetTrainingMongoWatch // 监控mongodb的插入操作,触发文本处理任务-> generateQA(); # QA问答对的处理-> generateVector();  # 嵌入向量处理

数据集创建第一步的实现

数据集创建的第一步就是上传文件并对数据进行预处理,然后获取相关数据处理的参数,并把参数保存到mongodb的训练队列中。后续的处理任务,会根据数据集的处理配置来调用相应的模型或服务进行处理。数据集处理第一步的主要逻辑如下:

在这里插入图片描述

数据创建第一步实现逻辑

创建数据集是在createCollectionAndInsertData函数中进行处理的,该函数又主要调用了pushDataListToTrainingQueue,该函数的实现逻辑如下:

  1. 模型验证与配置
  • 验证参数中的推理大模型和嵌入向量大模型是否有效。
  • 根据训练模式(chunk/qa/auto)设置最大token数和权重
  • 如果模型无效或训练模式无效,会抛出错误
  1. 数据预处理
  • 使用 simpleText 函数清理问题和答案中的空白字符
  • 处理索引数据,同样进行文本清理
  • 过滤掉空问题、重复内容和超过最大token限制的数据
  • 将数据分类为成功、过长、重复和错误四类
  1. 数据插入
  • 使用批量插入的方式将数据插入到MongoDB中,每批200条
  • 如果批量插入失败,会记录失败的文档并尝试单独插入
  • 支持在传入的session中执行,如果没有传入session则创建新的事务

这个函数主要用于将数据集数据预处理后插入到训练队列中,确保数据的有效性和完整性,同时支持事务处理以保证数据一致性。

数据创建第一步主要实现源码分析

export async function pushDataListToTrainingQueue({// 验证模型配置:检查agentModel和vectorModel的有效性,设置最大token数和权重。const { model, maxToken, weight } = await (async () => {const agentModelData = getLLMModel(agentModel);if (!agentModelData) {return Promise.reject(`File model ${agentModel} is inValid`);}const vectorModelData = getVectorModel(vectorModel);if (!vectorModelData) {return Promise.reject(`Vector model ${vectorModel} is inValid`);}
  • 设置最大token数和权重
    if (trainingMode === TrainingModeEnum.chunk) {return {maxToken: vectorModelData.maxToken * 1.5,model: vectorModelData.model,weight: vectorModelData.weight};}if (trainingMode === TrainingModeEnum.qa || trainingMode === TrainingModeEnum.auto) {return {maxToken: agentModelData.maxContext * 0.8,model: agentModelData.model,weight: 0};}
  • 过滤过长或重复的内容
  // 过滤重复和过长的内容// filter repeat or equal contentconst set = new Set();const filterResult: Record<string, PushDatasetDataChunkProps[]> = {success: [],overToken: [],repeat: [],error: []};
  • 处理QA问答对的,并去掉空的字符
  // format q and a, remove empty chardata.forEach((item) => {item.q = simpleText(item.q);item.a = simpleText(item.a);
  • 批量插入mongodb的dataset_trainings表中
  // 使用 insertMany 批量插入// 数据插入:批量插入数据(每批200条)const batchSize = 200;const insertData = async (startIndex: number, session: ClientSession) => {const list = filterResult.success.slice(startIndex, startIndex + batchSize);if (list.length === 0) return;try {await MongoDatasetTraining.insertMany(list.map((item) => ({

总结

本文介绍了FastGpt创建数据集的总体流程,并详细分析了第一步的实现步骤和实现原理。可以看到,这一步只是把数据放到了Mongodb的训练队列的表中,那么,当数据插入到Mongodb后,该如何处理这些数据?而处理这些数据的任务又是如何触发的呢?这些实现的原理和逻辑,在下一篇文章中进行分析。

http://www.dtcms.com/a/468093.html

相关文章:

  • 文明网网站建设html家乡网站设计模板
  • 网上买手表哪个网站可以买到正品网站建设公司哪家好 都来磐石网络
  • 如何进入网站后台地址网络营销 长沙
  • 做网站客户不给钱怎么办用户体验设计师
  • 怎么样评价网站做的好坏更适合企业网站建设的cms系统
  • wordpress弹窗插件整站优化全网营销
  • 餐饮公司网站模板下载韩城建设局网站
  • 网站推广方案策划书怎么做跨境电商流程及步骤
  • 郴州网站设计较好的公司软件开发制作的公司
  • 外网工业设计网站建网站有什么要求
  • 建设论坛网站自学淮北市建市
  • 苏州关键词seo排名虞城seo代理地址
  • 网站建设 网站开发美食网站黑米如何做
  • 拼多多电商网站建设WordPress主题没有删除
  • 网站开发示例wordpress 调用文章摘要
  • 档案网站建设存在的问题网站推广如何做
  • 网站建设的案例教程视频教程注册公司虚拟地址购买
  • 建行网站用户名制作一个小型网站
  • 坪山网站建设做网站怎样租用虚拟空间
  • 怎么设计手机网站东莞市网络科技有限公司
  • 手机上做网站php网站安全保障机制如何做
  • 珠海网站推广价格wordpress页面权限设置
  • 宿迁盐城网站建设企业聊城网站营销
  • 建设网站用户名是什么vs2010做网站
  • 爬取漫画数据做网站东莞360推广的网站是谁做的
  • 网站模板psd素材百度关键词推广帝搜软件
  • 王晴儿网站建设方案网站备案后有可能会被注销吗
  • 湖北响应式网站建设企业湘潭建设厅官方网站
  • 好看的创意网站设计app免费制作网站模板
  • 备案通过网站还是打不开刚建设的网站多久能在百度查到