免费开源的知识库神器!MaxKB 让你轻松搭建智能问答系统
MaxKB(Max Knowledge Base)是一款基于大语言模型(LLM)和检索增强生成(RAG)的开源知识库问答系统,支持智能客服、企业知识管理、学术研究等场景。本文将详细介绍其功能、部署流程及使用技巧,助你快速上手。
MaxKB 是什么?
MaxKB 是一款企业级 AI 助手 ,核心能力包括:
-
• RAG 检索增强生成 :通过向量化技术与语义检索,显著减少大模型幻觉,提升问答准确率
-
• 多模型兼容 :支持本地私有模型(如 DeepSeek、Llama)、国内公共模型(通义千问、腾讯混元)及国外模型(OpenAI、Claude)
-
• 零代码嵌入 :无缝集成至网站、钉钉、企业微信等第三方系统,快速赋能现有平台
-
• 高级编排能力 :内置工作流引擎与函数库,实现复杂业务逻辑的可视化编排
-
• 开源与社区 :MaxKB 遵循 GPLv3 开源协议,日均下载量超 1000 次,广泛应用于智能客服、教育等领域
核心功能亮点
1. 开箱即用的知识库管理
-
• 文档支持格式 :Markdown、PDF、DOCX、XLSX、CSV 等,并支持 ZIP 打包上传(含图文关联)
-
• 智能分段技术 :自动按标题层级拆分文档(最多 6 级),单段最长 4096 字符,避免信息冗余
-
• 向量化存储 :集成默认向量模型(如
maxkb-embedding
),支持自定义模型对接
2. 灵活的大模型集成
-
• 多模型适配 :支持本地私有化部署模型(如 DeepSeek)与公有云模型(如 OpenAI)混合使用,降低算力成本
-
• 动态切换 :在模型管理界面一键切换不同供应商,满足不同场景下的性能与成本需求
3. 高级工作流编排
-
• 可视化编排 :通过拖拽节点设计复杂流程,如“用户提问 → RAG 检索 → 逻辑判断 → 函数调用 → 生成回答”
-
• 函数库扩展 :内置 Python 脚本库,支持自定义数据处理、信息提取等功能,如提取合同关键字段或清洗日志数据
4. 安全与监控
-
• 访问控制 :支持 IP 白名单、API 密钥鉴权,保障数据安全
-
• 实时监控 :提供对话日志、调用次数、响应耗时等指标,辅助优化问答效果
部分功能截图
部署要求
服务器配置
-
• 操作系统:Ubuntu 22.04 / CentOS 7.6 64 位系统;
-
• CPU/内存: 4C/8GB 以上;
-
• 磁盘空间:100GB;
Docker 快速部署
MaxKB 支持一键启动,仅需执行以下命令:
# Linux 操作系统docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb # Windows 操作系统docker run -d --name=maxkb --restart=always -p 8080:8080 -v C:/maxkb:/var/lib/postgresql/data -v C:/python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
启动成功后访问:http://ip:8080
默认登录信息用户名:admin默认密码:MaxKB@123..
快速版本升级
下载最新镜像
docker pull registry.fit2cloud.com/maxkb/maxkb
查看并确认上一次数据持久化目录,复制保存
docker inspect maxkb
删除正在运行的、旧版本的 MaxKB 容器
docker rm -f maxkb
启动并运行新版本的 MaxKB 容器
注意: 务必确认数据持久化目录(即命令行中 -v后的目录)要跟第 (2) 步查看目录保持一致,否则启动后整个系统的数据为空。
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
功能使用
模型管理
在使用之前我们需要先配置任意一个大模型,支持供应商如下
知识库
创建知识库
填写相关配置
这里我们创建一个 IT 知识库,用于帮助我们检索我们自己记录的一些笔记
这里我们使用 maxkb-embedding 默认的向量模型,你也可以添加其他平台或者自己的模型
创建完成后会显示下图
上传文档
上传文档要求:
-
• 文本文件:Markdown、TXT、PDF、DOCX、HTML、XLS、XLSX、CSV、ZIP;
-
• 表格:XLS、XLSX、CSV、ZIP;
-
• QA 问答对:XLS、XLSX、CSV、ZIP;
-
• 每次最多上传 50 个文件;
-
• 每个文件不超过 100 MB;
-
• 支持选择文件夹,上传文件夹下符合要求的文件。
说明: ZIP 文件包括两种形式:
• MarkDown 文档 + 图片文件,MarkDown 文档中引入对应的图片,并将两者打包在 ZIP 中。
• XLS/XLSX 文件 + 图片文件,XLS/XLSX 文件中引入对应的图片,并将两者打包在 ZIP 中。
配置文档分段规则
对于知识库文件的分段,目前 MaxKB 支持智能分段以及高级分段两种方式。
智能分段
(1)MarkDown 类型文件智能分段规则
-
• 根据标题逐级下钻式分段(最多支持 6 级标题),每个段落最多 4096 个字符;
-
• 当最后一级的文本段落字符数超过设置的分段长度时,会查找分段长度以内的回车进行截取。
(2)HTML、DOCX 类型智能分段规则
-
• 识别标题格式转换成 markdown 的标题样式;
-
• 逐级下钻进行分段(最多支持 6 级标题),每个段落最多 4096 个字符。
(3)TXT和 PDF 类型文件智能分段规则
-
• 按照标题# 进行分段,若没有#标题的则按照字符数4096个字符进行分段;
-
• 查找分段长度以内的回车进行截取。
文档规范建议
-
• 分段标识规范:离线文档的分段标识要有一定规范,否则拆分出来的段落不规整。
-
• 段落完整:在一个分段中集中描述一个完整的内容。
高级分段
用户可以根据文档规范自定义设置分段标识符、分段长度及自动清洗。
-
• 分段标识支持:#、##、###、####、#####、######、-、空行、回车、空格、分号、逗号、句号,并支持手动输入其它分段标识符或正则表达式。
-
• 分段长度:单个分段的长度,范围 50 至 4096 个字符。
-
• 自动清洗:开启后系统会自动去掉重复多余的符号如空格、空行、制表符等。
导入时添加分段标题为关联问题
勾选后会把所有分段的标题设置为分段的关联问题。
问题这部分上传时最好人工校验一下准确性,如果文档不是很规范,会有很多垃圾数据
命中测试
可以通过搜索来验证我们分段的准确性,这里我搜索的是Maven 阿里云
问题
MaxKB 知识库管理员可以收集用户可能提出的相关问题,创建问题并关联知识库文档中的内容,维护知识库常见问题列表,以提高问答的准确度。
另外知识库支持自动生成用户可能问的问题,帮助我们补充问题
函数库
函数是通过Python写的一个脚本
MaxKB 支持用户根据自身的业务需求,通过内置函数或自定义函数对获取和查询数据,逻辑判断、信息提取或其它场景的操作。 函数创建完成后,在应用编排时以添加组件的方式调用这些函数,从而更好地满足各种复杂的业务需求。这种组件化的设计不仅提高了工作效率,还使得整个系统更加模块化,便于维护和扩展。
下面是一些内置的函数库
也可以自定义函数库
应用
简单配置应用
通过配置 Prompt、知识库等参数快速生成一个智能体。
调试预览
可以问些问题验证效果
嵌入第三方
可以直接嵌入到第三方系统
访问限制
可以配置访问限制
演示
使用监控
对话日志
高级编排应用
新创建的高级编排应用会默认生成简易工作流,可以根据自己的需求进行自定义编排,点击发布后生效。
注意:
-
• 画布上的节点必须在工作流程中,不能有流程外的孤立节点,否则在发布时会校验失败。
-
• 每个节点可以根据节点的用途进行重命名,双击节点名称即可重命名,但同一个工作流编排中节点名称不能重复。
-
• 连线的后置节点可以引用前置节点的输出参数,如果节点名称变更,需要重新复制变量,参数引用方式是
{{节点名称.变量名称}}
。
总结
目前来看 MaxKB 能满足我们大部分需求,其基于 RAG(检索增强生成)技术的核心能力,能够将非结构化数据(如文档、表格)转化为向量存储并生成精准回答,显著降低了传统问答系统对单一模型的依赖性与幻觉问题。通过内置的 工作流引擎 和 函数库,MaxKB 支持复杂业务逻辑的可视化编排,例如“用户提问 → RAG 检索 → 逻辑判断 → 函数调用 → 生成回答”的全流程自动化处理,灵活适配智能客服、合同条款提取等场景。
相关链接
-
• 官网:https://maxkb.cn/
-
• Github:https://github.com/1Panel-dev/MaxKB