Llama 3 中文版本微调模型越来越多,目前评测下来确实还不错。关于企业私有化知识库问答系统有开源的
和 等产品,前段时间飞智云也开源了私有化知识库问答系统系统 ,之前我们也用过飞智云几款开源的产品,感觉用起来还是不错的的今天就带大家用一下 这个项目。1.MaxKB介绍
MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。MaxKB = Max Knowledge Base,旨在成为企业的最强大脑。
开箱即用:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好;
无缝嵌入:支持零编码快速嵌入到第三方业务系统;
多模型支持:支持对接主流的大模型,包括 Ollama 本地私有大模型(如 Llama 2、Llama 3、qwen)、通义千问、OpenAI、Azure OpenAI、Kimi、智谱 AI、讯飞星火和百度千帆大模型等。
用到的技术
前端:
后端:
LangChain:
向量数据库:
大模型:Azure OpenAI、OpenAI、百度千帆大模型、
、通义千问、Kimi、智谱 AI、讯飞星火
通过项目介绍我们知道它支持ollama 那么这样它就具备私有化大模型并整合我们微调后Llama 3 中文版模型了。
2.MaxKB 安装及启动
官方提供docker 部署方式。那么我们就以docker部署方式为案例给大家讲解。
部署文档可以参考官方文档https://github.com/1Panel-dev/MaxKB/wiki/1-%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2
重点是docker 命令,我们分2步骤
第一步 下载镜像
docker pull 1panel/maxkb
确保你运行电脑上安装Docker 运行环境(不管是windows 还是linux 还是其他操作系统都一样),这里我就以windows为案例。
确保 Docker Desktop 本地电脑安装完成。(详细安装步骤可以百度一下,这里不给大家详细展示)
启动Docker Desktop

接下来我们在cmd窗口中下载模型,输入一下命令行
docker pull 1panel/maxkb

执行以上命令,下载 maxkb镜像模型

出现以上画面,我们完成镜像的下载,我们在Docker Desktop 管理界面查找一下刚才下载的镜像

我们已经找到刚才下载maxkb镜像了。
第二步 启动maxkb,同样我们在cmd命令下输入一下命令行
docker run -d --name=maxkb -p 8080:8080 -v E:\\dockervolume\\maxkb:/var/lib/postgresql/data 1panel/maxkb
这里我们需要注意因为这个maxkb镜像依赖postgresql数据库,它通过挂文件卷的形式保存数据库文件。所以我们需要提前在 windows 某个盘符下创建需要挂卷的文件目录,我的是在E:\dockervolume

下面执行以上启动命令

启动完成,我们查看下E:\dockervolume\maxkb文件下是否有数据文件

另外我们打开Docker Desktop 管理界面查看

看到以上的镜像启动起来了。这个时候maxkb启动完成,我们打开浏览器访问
http://localhost:8080/ui/login进入登录页面

输入初始化账号和密码
默认登录信息
用户名:admin
默认密码:MaxKB@123..
登录完成后会提示修改密码,我们修改一下密码就能进入管理主界面了。

3.ollama 安装llama3 中文微调模型
这里关于ollama 安装非常简单去官方网站下载https://ollama.com/download 对应的版本即可

安装也非常简单一路下一步安装即可。默认ollama安装路径在C盘 包括ollama对应下载模型也会在C盘,关于模型切换其他盘符以及启动ollama 修改IP和监听端口可以看我之前文章《
》https://www.toutiao.com/article/7341773949442966028/关于ollama 安装llama3 中文模型可以参考我之前文章《》这里就不过多介绍了。
4.启动ollama 加载llama3 中文模型
双击启动

启动完成后,输入ollama list 显示本地电脑上已经存在ollama 模型镜像文件

我电脑上之前安装过几个llama3 中文版本,我这里选择llama3-Chinese:8B 模型
ollama run llama3-Chinese:8B

出现以上对话框说明模型加载完成,后面就可以聊天对话了。
4 maxkb 配置ollama
在maxkb 管理界面中系统设置-模型设置选择ollama


参考以上填写模型配置,其中 API 地址因为我本地电脑IP 是172.35.4.187 另外开启了远程ip 访问,所以容器是可以访问我本地ollama服务,这个地方稍微注意一下,其他地方都比较简单。配置好后点击添加按钮完成设置。完成模型

我们点击创建应用测试一下



点击演示按钮我们就聊天对话了

因为以上三个问题是maxkb默认初始化安装自带的三个问题,如果我们需要让他回答我们专业知识,这个时候我们需要在知识库里面上传我们自己的知识

5maxkb 配置知识库
切换到知识库面板,点击创建知识库


进入知识库上传界面。知识库类型目前分通用性和web站点。这里我们先使用通用型知识库
目前支持的文件格式(txt、md、csv、log、docx、pdf)等常见问答格式。可以支持同时上传多个文件

进入文档分段界面,点击开始导入,完成知识库导入

容器日志显示文档向量化

我们回到之前ollama-llama3-Chinese:8B 应用设置中,点击设置

在关联知识库设置中参数设置调试0.3 ,添加知识库添加我们刚才导入的知识库


点击保存按钮完成设置。
下面测试一下。右边窗口中,我们输入和知识库有关的内容,让他给我们输出。

这个时候它就能够根据我们知识库提供视频地址信息检索到然后发送到后端 llama3-Chinese:8B 中文模型中实现推理了。从而打造专属个人的私有化知识库大模型了。
总结:今天主要是使用ollama+llama3-Chinese:8B中文微调模型+MaxkB来实现一个私有化大模型,其实这套方案在别的项目也都有实现,目前比较成熟的应该是我前面介绍的开源的
和