现在大模型工具越来越流行了,文心一言和豆包已经慢慢融入大家的工作生活中了,我们有问题都可以让大模型帮我们回答。不过这里有个问题,就是公开的AI大模型工具回答的都是通用型的问题,不够有针对性,比如我就想问一下,我自己上一篇论文中的某些内容,公开大模型工具往往是无法回答我们的,因为公开的大模型都是基于目前的数据训练得到的,显然它并不知道我本地新增的信息。而且,就算有接口可以提交我们的信息,由于安全和保密的需求,也不方便直接把我们的信息都上传。所以,我们可以在自己本地搭建我们自己的大模型,基于大模型构建我们自己的知识库。
- Ollama安装
要搭建我们自己的大模型,就要把目前有的大模型下载下来,因为我们基本上不具备自己本地训练大模型的条件。下载大模型进行本地部署,目前最方便的工具是Ollama。
Ollama是一个轻量级、可扩展的框架,用于在本地机器上构建、运行和管理大型语言模型(LLM)。其核心价值在于简化在本地运行大语言模型的复杂过程,降低使用门槛,使得即便是非专业用户也能轻松上手。要使用Ollama首先要下载Ollama安装包,可以去Ollama官网(https://ollama.com/)下载最新的安装包。
如果是Windows系统的话,直接下载安装包即可安装。
如果是Linux可以运行命令
curl -fsSL https://ollama.com/install.sh | sh
我因为工作需要,我的服务器不能连接外网,所以我需要先下载安装包和安装文件,在用户目录下新建一个ollama目录,把安装包下载到这里,再修改安装文件,在本地进行安装。
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
主要是修改install.sh文件
status "Installing ollama to $OLLAMA_INSTALL_DIR"
$SUDO install -o0 -g0 -m755 -d $BINDIR
#$SUDO install -o0 -g0 -m755 -d "$OLLAMA_INSTALL_DIR"
$SUDO install -o0 -g0 -m755 -d ./ollama-linux-amd64 $BINDIR/ollama
安装后目录结构如下:
安装完之后,还要配置一下Ollama模型的下载目录。
# 执行命令
vim ~/.bashrc
# 配置 OLLAMA_MODELS 环境变量自定义路径
export OLLAMA_MODELS=/home/yjs/ollama/ollama_cache
Windows下的话,修改一下环境变量就可以了:
Ollama有几个简单常用的命令如下:
查看ollama版本
ollama -v
ollama version is 0.1.31
查看已下载模型
ollama list
NAME ID SIZE MODIFIED
gemma:2b b50d6c999e59 1.7 GB 3 hours ago
ollama的停止和启动
sudo systemctl stop ollama # 停止服务
sudo systemctl start ollama # 启动服务
# 监听http服务,指定GPU
export OLLAMA_HOST="0.0.0.0:11434"
export CUDA_VISIBLE_DEVICES="0"
ollama serve # 启动
当我们把大模型下载到Ollama的模型存储文件夹中后,可以看到Ollama模型:
我们可以直接运行这个模型:
- MaxKB可视化界面
只是在命令行中运行的话,有点麻烦,下面我们来看看如果给Ollama大模型加上一个界面。Ollama界面有很多方案,比较流行的有Open WebUI等工具。我这里用的是国产的MaxKB。MaxKB是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。这个东西最大的好处是,不仅仅是把Ollama界面可视化了,还可以基于下载的大模型构建自己的知识库,随着知识库文件的增加,问答会越来越准确。
要安装MaxKB,方法和Open WebUI差不多,也是基于docker来安装的。
在线安装:
# 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 cr2.fit2cloud.com/1panel/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 cr2.fit2cloud.com/1panel/maxkb
离线安装:
1.下载安装包
2.根据install.conf配置安装信息
3.运行安装脚本
具体可以参考官方安装文档:离线安装 - MaxKB 文档
MaxKB启动后,浏览器输入:http://10.25.155.191:8080/
启动Ollama后,可MaxKB中设置自己的大模型。
如果网络通的话,就直接选择需要的模型,系统会自动下载,但是如果网络不好或在内网,那就要提前自己收到下好,然后到存储ollama大模型的文件夹中,把模型文件拷贝下来,复制到服务器的ollama模型存放路径下。
接下来设置我们的提示词即可。
-
本地知识库构建
如果不设置知识库,那么大模型只能根据他训练时候所包含的数据来回答问题,而无法对一些新的问题给出答案。使用RAG技术,可以使得模型在不进行微调的前提下具有获取新知识的能力。接下来,我们在“知识库”选项卡中创建我们自己的知识库。
创建后,可以上传我们自己的文档
上传成功即可,表示我们这个文档已经加入我们的知识库了。
接下来,在应用设置中关联知识库即可。
通过Ollama和MaxKB的结合,可以进一步优化提示词和分段方式,提高命中率,从而打造符合我们需要的本地知识库。