LLM RAG知识库工具对比
很久之前家里就弄了台NAS,使用unRaid的系统,一直想弄个RAG知识库工具在里面,对比了好几个市面上常见的大模型知识库系统,最后还是比较喜欢MaxKB,基本能满足自己的要求,支持简单模式和工作流编排,在加上可以使用python自己写插件,加上界面也还不错。
anythingLLM,功能基本能满足,但是没有工作流,插件也比较麻烦,再加上是英文版为主,有些功能自己实现,还是有点麻烦。
fastgpt、dify这些呢,功能更强大,效果也更好一些,特别是知识库匹配上,确实要好很多,但是配置要求也高了点。
综合以上几点选择了maxKB来做自己本地的知识库系统,不过中间有一点一直有点为难我,就是社区版(免费版本)对应用、知识库以及用户数都有限制,不过好在是开源的,就尝试自己来修改一下限制。
在网络上进行搜索,以确定是否存在现成的方案
不知道是不是用的人并不多的原因,还是其他的什么原因,网上找了很久,都没有怎么找到修改的docker镜像,不过好在在CSDN上找到了一篇相关的文章,然后开始了自己的尝试之旅。
首先在网络附加存储(NAS)上进行操作。由于起初未直接修改 Vue 代码并进行编译生成,而是直接修改了已生成好的原始 JavaScript 代码,但不知为何一直未能成功。在此过程中,也尝试过替换、重启 Docker等一系列操作,就是没有成功。实话说,当时处于周末,耗费了小半天时间仍未解决问题,甚至有放弃的念头。
后续尝试重新打包 Vue 代码,重新生成前端代码,而后替换 Docker 容器中的文件,便取得成功。
接下来我将说说具体的操作步骤:
- 从github上下载源码:1panel/MaxKB
找到文件清单,并搜索关键词“社区版最多”
- apps/setting/serializers/valid_serializers.py
- apps/users/serializers/user_serializers.py
- apps/dataset/serializers/dataset_serializers.py
- apps/application/serializers/application_serializers.py
- ui/src/views/user-manage/index.vue
- ui/src/views/application/component/CopyApplicationDialog.vue
- ui/src/views/dataset/index.vue
- ui/src/views/application/index.vue
逐一修改涉及限制的代码部分
- py文件,直接修改上面的数量限制,一般为
count=
后面的数字,直接修改,并修改后面的message=
的说明文字 - vue文件,则一般是在
if else
条件函数里面,则直接将上面的处理过程复制到被限制的部分,来跳过限制提示
- py文件,直接修改上面的数量限制,一般为
使用 nodejs npm 重新打包前端代码
修改完所有
ui/src/view/
下的vue文件之后,使用命令npm i
安装所需要的node依赖,使用命令npm run build
重新打包文件,打包之后的文件会在dist/ui
目录下,可以将文件夹拷贝出来,以备后用。替换 docker 中的文件,并重启 docker 镜像,以便生效
- 将
ui
文件夹以及第一步中的4个已经修改了的py文件,放置在同一个目录下 运行CMD或者Powershell,运行如下代码:
docker cp ./ui maxkb:/opt/maxkb/app/ui/dist
docker cp ./valid_serializers.py maxkb:/opt/maxkb/app/apps/setting/serializers
docker cp ./dataset_serializers.py maxkb:/opt/maxkb/app/apps/dataset/serializers
docker cp ./user_serializers.py maxkb:/opt/maxkb/app/apps/users/serializers
docker cp ./application_serializers.py maxkb:/opt/maxkb/app/apps/application/serializers
- 将
在完成上述所有步骤之后,您将会获得一个数量不受限制的 MaxKB 系统。
最后,如果您确实不知如何进行修改,可以在文章结尾处留言,我会将修改后的文件进行打包并发送给您。(由于 BLOG 的服务器容量和流量都比较小,故无法直接提供下载文件,望予以理解。)
另外附上免费的大语言模型可供使用,注册可以访问:SiliconCloud,Qwen、GLM、零一万物、META的llama、deepseek等都可以免费使用,快来试试吧。
2025/02/14 针对MaxKB-1.10.0-lts更新
只需要修改前面提到的4个py文件即可,不再需要修改UI的js限制了,现在全部都是后台验证了,只需要注释掉上文提到的py文件中的@valid_license函数,就可以实现数量的限制了。
另外避免麻烦,可以直接使用docker的映射功能,把四个py文件直接映射到docker容器内,不再需要手动去替换他们,yaml代码如下:
version: '3'
services:
maxkb:image: 1panel/maxkb:latest container_name: maxkb ports: - "8080:8080" volumes: - /mnt/user/appdata/maxkb/data:/var/lib/postgresql/data - /mnt/user/appdata/maxkb/python-packages:/opt/maxkb/app/sandbox/python-packages - /mnt/user/appdata/maxkb/valid_serializers.py:/opt/maxkb/app/apps/setting/serializers/valid_serializers.py - /mnt/user/appdata/maxkb/dataset_serializers.py:/opt/maxkb/app/apps/dataset/serializers/dataset_serializers.py - /mnt/user/appdata/maxkb/user_serializers.py:/opt/maxkb/app/apps/users/serializers/user_serializers.py - /mnt/user/appdata/maxkb/application_serializers.py:/opt/maxkb/app/apps/application/serializers/application_serializers.py
希望能对大家有帮助,有问题可以评论区给我留言,之前因为有spam评论,我做了限制展示,如果已经发过的,我会手动审核后展示出来,不用重复发布类似的评论。
2025.2.20以前邮件全部已发,注意查收,博客不是每天都看,如果已经留言,没有发,可以过两天在看(ฅ´ω`ฅ)
@ 博主 求一份MaxKB-1.10.0-lts更新文件 276320624@qq.com
谢谢
shnudo@163.com
感谢大佬的教程,求大佬发一份已改的文件 |´・ω・)ノ
大佬大佬,请问能发个最新版吗?3Q

toonaive@toonaive.top
上面写错抱歉了谢谢博主,想要最新的1.10.1-lts 1093018233@qq.com
大佬要一份可以吗?1362365932@qq.com
@ 版本1.10-lth ,感谢lihaiboot@139.com
@ 老大,麻烦发一份给我,谢谢 ! 28385782@qq.com
@ 老大,麻烦发一份给我 谢谢! ad2003@qq.com
@ 216408@qq.com,求1.10.1 lts版本修改后的文件,感谢博主!
@ 86564824110qq@gmail.com,谢谢博主,想要最新的1.10.1-lts 版修改的文件。
@sugw 已经将1.10.1 lts版本的发给你了。
@白小怒 谢谢博主了,帮忙分享一份,1.10.1-lts 版修改的文件 filwu@qq.com
请教下,后端改了以后,无法创建用户 无法创建应用,无法上传文档,点击都没反应,不知道是不是我的 \valid_serializers.py 改的不太对?
@fiwlu class ValidSerializer(serializers.Serializer):
修改这个函数为这样的代码就可以了。
@fiwlu 可以把代码发出来看下。
感谢博主,俺也求一份!erik.l.feng@foxmail.com
@mango 发了,注意查收。
hello.hexianglong@gmail.com
谢谢
@hxl 发你邮箱了。
请教下最新的1.10.1-lts 版 应该怎么改
@wy 看另外一条评论的回复。
@ 新版的问题吗?修改重建dist替换后重启docker,发现连前端都没什么变化。
@555 不用重建dist了,现在验证的部分在后端,只需要修改后端的几个py文件就可以了。
@白小怒 请问是改哪几个py文件 提供教程吗
@wy 和之前的操作类似,就是几个验证文件的,主要以“serializers.py”结尾的,直接注释掉“@valid_license”这个函数就可以了。
UI包可以不用管了,现在改为后台验证了,所以修改了py文件就可以了。
1352317127@qq.com 谢谢博主分享
@luoyu 马上发给你。
yylee515@aliyun.com 谢谢分享
@yy 稍后发给你
@白小怒 另外很好奇,为什么你是阿里云的邮箱(ฅ´ω`ฅ)
麻烦给 279004614@qq.com 一份,谢谢。
@www1 注意查收邮件
作者您好!非常感谢您分享的MaxKB社区版解除限制教程,按照文章步骤操作后成功移除了知识库限制。由于本地环境依赖版本问题,自行编译时遇到一些兼容性报错,不知能否向您获取以下已修改文件:
后端文件(需覆盖Docker容器内文件)
valid_serializers.py
dataset_serializers.py
user_serializers.py
application_serializers.py
前端编译文件
/dist/ui
目录完整压缩包其他依赖
maxkbio/maxkb:v1.0.0
)可通过邮箱
wyrzl@outlook.com
发送压缩附件期待您的回复!若需要提供更多环境细节请随时告知。祝您新春快乐!
@niko 发到你邮箱了。