采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
你好老师,最新在寻思着将手册指南类的docx文档进行解析,包含图片这种(先不考虑图片内容识别,图片的意思根据最近上面段落的意思走),在回答是也能将图片进行输出。这种是不是在做向量化计算的时候需要将图片上传之后的url也进行计算然后一块向量化,但是这个感觉会影响向量换化计算的结果,因为url本身是没有语义信息的,像这种一般怎么处理比较好呢,还有我的技术栈主要集中在Java,对于这种解析图文混编的没有成熟框架,得自己写,像python有吗?
你好,挺好的问题。
据我所知,目前还没有框架可以支持这种,框架一般是支持比较通用的功能。但是可以通过框架来自己实现。在补充的项目中chatdoc 【https://git.imooc.com/coding-920/chatdoc】也有基于ragflow deepdoc实现类似的功能,可以参考下。
简单回顾下RAG的过程:1. RAG知识构建: 文档-->解析文档-->文档分割chunking-->按chunking进行向量化embedding --> 存入向量数据库(包括:文本,文本对应embedding,还可以包括自定义一些meta元数据,如文本的信息日期)这部分可以查看(向量数据库那一章)
2.RAG检索: 用户query-->query 向量化embedding-->在向量数据库搜索最相似的向量记录-->返回若干top-k的记录(包括:文本,文本对应embedding,还可以包括自定义一些meta元数据,如文本的信息日期),一般只拿到文本 --》 将文本做为上下文和query一起送给LLM-->LLM回答问题
可以跟着过程来实现上面你提到的问题,具体思路如下:
文档解析:要实现图片,首先要先能解析docx图片的解析,比如python里python-docx(只要支持docx标准的都可以)。解析的时候要注意文档顺序:比如 文字+后面是 图片 (这个图片可以保存到本地)
文档分块:分块的时候按照你的需求【图片的意思根据最近上面段落的意思走】,如果遇到【文字+后面是 图片】的时候:文字进行分块,图片不做处理,只返回(文字,图片地址)类似这样的结构
embedding入库: 遇到(文字,图片地址),将文字进行向量化,同时将图片地址做为元数据,一起存入向量数据库
可参考:https://git.imooc.com/coding-920/chatdoc/src/master/doc/6.RAGFlow-Docx%e5%a4%8d%e6%9d%82%e6%96%87%e6%a1%a3%e8%a7%a3%e6%9e%90.md
在检索的时候:在返回文本的时候,查看是否有metadata数据,有的话就可以直接展示了。
对于java来说,了解了基本的思路,用自己熟悉的框架,实现应该比较有方向性一些。
元数据的意思是,将图片地址作为向量数据库的一个属性进行存储呗,根据相似度将内容查询出来之后再将地址拼接到后面或者指定位置,然后再发给大模型吧
嗯,可以这么认为。
登录后可查看更多问答,登录/注册
RAG全栈技术从基础到精通 ,打造高精准AI应用
468 8
314 7
1.1k 7
460 7
323 5
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号