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

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

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

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

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

下面执行以上启动命令

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

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

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

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

ollama安装llama3中文微调模型
这里关于ollama安装非常简单去官方网站下载

关于ollama安装llama3中文模型可以参考我之前文章《Llama3中文版本地环境搭建和部署实战ollama版》这里就不过多介绍了。
4.启动ollama加载llama3中文模型
双击启动

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

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

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







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

5maxkb配置知识库


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


容器日志显示文档向量化


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


下面测试一下。右边窗口中,我们输入和知识库有关的内容,让他给我们输出。
