type
Post
status
Published
date
Sep 19, 2024
slug
summary
Qanything上传文件的逻辑
tags
category
技术分享
icon
password
前言:
qanything支持pdf、xlsx、csv、markdown、docx、pptx、txt、jpg、png、jpeg等格式的文件,这篇文档讲解上传文件的逻辑。
1.x版本中上传文档和解析文档是写在一起的,2.0开始上传文档可以通过接口上传,解析文档是一个单独的服务。
如何启动qanything服务,参考: Qanything 2.0项目部署启动手把手教程
新建知识库源码解析,参考: Qanything 2.0源码解析系列1:新建知识库
sanic_py中定义的上传文件的接口信息:
app.add_route(upload_files, "/api/local_doc_qa/upload_files", methods=['POST']) # tags=["上传文件"]upload_files 方法定义在handler.py中。📝 逐行代码解析
upload_files方法如下,代码比较多,在1.x中核心代码就一行local_doc_qa.insert_files_to_milvus(user_id, kb_id, local_files),2.0中还保留着这一行代码,只是被注释起来了。
LocalFile类
1.x版本的LocalFile写的很多方法,2.0了就一个__init__
🤗 总结归纳
1.x上传文件之后并对文件进行处理存milvus了,2.0之后文件解析是一个单独的服务,这里仅仅是将相关记录存入了数据库。后续通过文件解析服务再从数据库取值根据不同的文件类型进行解析。
有问题,欢迎您在底部评论区留言,一起交流~