RAG本地信息与检测报告多模态输出

项目名称: RAG本地信息与检测报告多模态输出

报告日期:2024818

项目负责人:乾州小苏

项目概述(必写):

本项目分为两部分,第一部分将本地通讯录【PS:已经导出成为文本文件,放入到原始资料集中】导入项目,然后通过RAG建立个人知识库,在通过统一接口回答问题的时候,如果不通过RGA,那么大模型对于个人信息一无所知,只能回答公开信息,通过RAG之后,提问的问题中私人信息和公开信息都可以正确回答。

第二部分是将血常规检测报告,进行图形化显示,方便大家读取。

技术方案与实施步骤
  1. 模型选择:

聊天查询类大模型有限尽可能选择数据量全的,减少模型幻觉。比如同样的问题,大模型回答的往往更加准确

小模型就开始胡言乱语

另一方面模型选择尽可能选择更加专业的,符合自己需求的。比如同样一张照片,格式化后小模型ai-phi-3-vision-128k-instruct可以正常接收,并且识别出图片中信息,大模型meta/llama-3.1-405b-instruct反而会因为输入长度的问题,报错,无法正常处理,如下图:

第三个,就是一般向量化会有推荐的相关模型,相对而言性价比更高,可以优先考虑。

  1. 数据的构建:

RAG的向量化目前都可以通过相关的解析成文本信息自动处理,我们要做的就是将我们的原始信息变成文本数据流交给RAG处理即可。

我的数据源是通讯录,通过手机自带软件导出成文本格式,然后改成txt格式,放在对应格式化的文件位置(如下图)

处理过程注意,为了匹配精度足够高,因为是按行读取向量化,所以经过脚本处理,一个人的信息一行,相关代码如下:

等到处理完毕后,这个文本数据集就OK了,等待后续操作。

图片数据集处理流程思路类似,先将血常规处理结果扫描,然后输出成相应的图片

注意:为了原始信息脱敏,同时也是为了减少运算量,图片经过压缩和裁切处理,放到相应位置

等待后续处理

  1. 功能整合  将血常规图片首先进行格式化处理【上面提到的脱敏和压缩】,然后借助phi-3进行识别输出结果

必须说明目前识别进度还比较有限,所以识别出来的文字,精度有待提高。

将文字发给大模型生成可视化图标

中文识别较差,下面显示不出来

实施步骤:
  1. 环境搭建: I5三代鸿基笔记本,直接安装anaconda,然后conda自己的环境即可,相关配置项可以参考代码中实际调用的库,如下:
  2. 代码实现:RAG个人信息实现【获取数据集、RAG解析、生成知识库、访问大模型的时候通过RAG访问,PS具体代码上面已经截图,此处不再详述】。

血检报告制图【读取图片,格式化表格输出,形成文本信息,传递给大模型重绘,PS具体代码上面已经截图,此处不再详述】

注意:很多人很关心代码的细节,甚至每一个函数调用,但是实际上掌握整体逻辑,并在出问题的时候能够直接定位问题并且解决问题才是核心能力。

测试与调优: RAG个人信息部分:

不通过RAG方式,回答一大堆,一个都用不了

通过RAG,回答的信息直接可用且相关

生成医疗图标部分:

相对而言更加直观,但是后期需要适配性增加一点。

  1. 集成与部署: 目前是在本地部署在笔记本上,后期需要的话可以搭建在自己的jetson nano上面,但是目前这个效果距离可用还有点距离,所以不考虑现网搭建。

项目成果与展示:
  1. 应用场景展示: 可以用做个人助手,对于自己的客户和相关信息,进行自动搜索和整理。

功能演示

问题与解决方案:
  1. 问题分析: 当前的主要问题一方面是环境问题,一方面是数据格式问题
  2. 解决措施: 环境问题通过模块定位,检查依赖包来进行补充即可。数据格式问题,分析解析代码,然后按照解析规则编辑即可

项目总结与展望:
  1. 项目评估: RAG相对sft的训练时间成本、算力消耗都少了很多,但是数据间缺乏关联性,而且实际上也很难做到实时更新,同时一定程度上避免了个人信息泄露。
  2. 未来方向: 模型在往大的发展同时,一定会快速优化,在各个领域形成专有模型,比如医学、教育和安全,与此同时大模型对然提供了强大的查询能力,但是未来从安全的角度出发,个人信息还是会以存储在本地为主,进行格式化加密上传处理,避免大模型的过于垄断。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值