【Ragflow】22.RagflowPlus(v0.3.0):用户会话管理/文件类型拓展/诸多优化更新
概述
在历经三周的阶段性开发后,RagflowPlus
顺利完成既定计划,正式发布v0.3.0
版本。
开源地址:https://github.com/zstar1003/ragflow-plus
新功能
1. 用户会话管理
在后台管理系统中,新增用户会话管理菜单。在此菜单中,可以查看每个用户的聊天历史信息。
2. 知识库图像预览显示
在前台知识库管理界面中,增加了一块关联图片显示区域。
如果chunk块具有关联图片,会在此区域显示。
3. 解析文件类型拓展
v0.2.1
版本中,解析仅支持三种简单类型:pdf、word、ppt。
v0.3.0
版本对文件类型进行进一步拓展,目前支持各种主流文件类型,包括:pdf、word、ppt、excel、txt、md、html、jpg、png、bmp。
其中,对于excel类型,做了单独的处理优化。
每个表格会单独将每行作为一个独立的chunk块,同时会自动添加表格表头。
上图展现了一个学生花名单的解析效果,通过自动添加表头,可以保证每列信息的准确含义,从而能够准确问答检索。
比如,我问某学生的学号,它能够找到正确的分块,从而进行回答。
此外,对于图像类型的文件,也能正常解析。
4. 聊天对话字体动态调节
在前台聊天界面中,额外添加了一个设置按钮,可以动态调节聊天窗口显示的字体大小。
经测试,使用docker部署时,该功能可能不生效,仍需进行排查修复。
改进优化
1. 信息自定义排序
在后台管理系统中,大部分表格都配置了排序功能。
这样可以根据条件(如创建时间)进行排序,从而快速筛选出记录。
在向知识库添加文件时,也可以通过该方式,快速添加最新上传的文件内容。
2. 知识库创建优化
在知识库创建界面中,新增创建人
选项,可以在已有用户中添加。
通过该选项,可为不同用户单独添加知识库。
同时,对于每个知识库,新增修改
选项,从而可以让知识库权限在个人和团队中自由设定。
3. 嵌入模型适配硅基流动API
v0.2.1
版本中,后台解析并不支持配置的在线嵌入模型。
在v0.3.0
版本中,增加了对硅基流动平台的模型适配。
如果不想在本地下载embedding模型,可以直接在硅基流动平台上,注册密钥,配置使用。
硅基流动地址:https://cloud.siliconflow.cn/i/J8xf97VO
具体修改方式是先用初始用户(第一个创建的用户)登录前台系统,配置好模型信息。
配置完成后,后台测试嵌入模型配置时,信息自动更新。
需要注意的是,对于同一个知识库,不能混用不同的解析模型,否则会出现异常。
为防止误操作,该版本强制统一嵌入模型为bge-m3,使用其它嵌入模型将可能无法正常工作。
4. 修复用户人数>10人时,团队添加成员显示不全问题
当前版本,团队中可自由添加所有成员,且默认采用倒序排序,可以快速选择新用户。
5. 修复用户创建时间异常问题
设置时区为东八区(UTC+8时区
),解决用户创建时间显示异常问题。
6. 移除vllm的docker默认配置
docker配置文件中,移除vllm的默认容器配置,因为 vllm 默认拉取使用的模型是 float16 精度,导致众多用户因显存不足无法正常使用。
对于个人用户,推荐使用ollama,默认拉取的模型为 int4 精度,比较友好。
7. MinerU版本更新
采用当前最新版本的MinerU(v1.3.11),性能较先前版本会略有提升。
8. minio地址可编辑
在docker/.env
文件中,新增MINIO_VISIT_HOST
用于动态控制minio上传文件时的ip地址。
如需将解析图片配置公网访问,可修改此地址为公网地址。
9. 其它优化
其它细碎更新点,不逐一罗列,具体可见仓库Commits记录。
下版本开发计划
下版本的工作重点将围绕临时文件上传和文档撰写两个功能项进行优化。
文件上传优化方向
在原版的 ragflow 中,用户在问答界面中,上传文件后,文件会自动将文件添加进知识库,并自动进行解析。
ragflow-plus的改进思路是:将用户上传的文件进行临时解析,插入缓存数据库,而不是直接塞入存储库中。
根据解析得到的文件文本信息,作为问答参考的一部分。
文档撰写优化方向
文档撰写主要有以下优化方向:
-
1.文档模板支持自定义
-
2.文档内容支持暂存
-
3.文档撰写时,调用单独的模型问答接口
-
4.支持问答结果的流式输出
-
5.导出word时,支持图文内容
该方向部分功能原本计划在此版本完成,但鉴于鸽🕊得过久,移到下版本在做。
问题反馈
在使用过程中,如遇到问题,可以在开源仓库中提交issue。
提交同时,推荐附上容器日志信息,比如在后台管理系统中,遇到解析失败的问题,可以查看后台容器日志信息:
docker logs ragflowplus-management-backend