Linux从零部署本地AI大模型对接本地知识库全记录

使用到的工具

  • docker
  • oneapi + fastgpt
  • ollama

安装docker

已安装有docker的话跳过这一步

执行命令安装docker(一行一行执行)

bash 复制代码
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker

执行命令安装docker-compose(速度会比较慢)

bash 复制代码
curl -L https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

如果github很慢可以把地址替换成镜像站

bash 复制代码
curl -L https://hub.nuaa.cf/docker/compose/releases/download/v2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

等待安装结束后,执行命令启动docker sudo systemctl start docker

输入命令docker -vdocker-compose -v,若出现版本号信息则说明docker已经安装成功

安装fastgpt

fastgpt文档:doc.fastai.site/docs/

fastgpt官网提供了多种部署方式,这里我们选择使用Docker Compose快速部署

创建一个文件夹,然后进入这个文件夹,然后下载两个文件

js 复制代码
mkdir /usr/local/fastgpt
cd /usr/local/fastgpt/
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json

执行命令启动容器(第一次启动会先下载所有镜像)

js 复制代码
docker-compose up -d

配置oneapi

我们先不使用本地大模型,先使用第三方提供的线上版本

去【零一万物】注册一个账号,因为零一万物注册就送额度,不需要充钱,我们先拿它来做测试。

到api key管理页面获取一个key,这个key保存好后面要用到。 浏览器进入http://ip:3001 然后点击右上角登录

用户名:root;密码:123456,点击绿色登录 第一次登录会提示需要修改密码,可以不管它,直接点击上方导航栏的【渠道】 点击添加新渠道 填写相关信息 再点顶部导航栏【渠道】按钮,回到渠道列表页面

点击【测试】按钮,右上角出现成功提示,则说明配置成功了

修改config.json

oneapi配置成功后,接下来就是去fastgpt测试使用了,但是在这之前,需要修改之前下载的两个文件中的config.json文件,才能生效。

找到llmModels字段,上面已经存在了几个配置,我们在后面复制粘贴一个,然后把model和name两个字段改成刚在oneapi上配置的,看图:

改完后保存,然后重启服务:

docker-compose down
docker-compose up -d

配置fastgpt

浏览器进入http://ip:3000 ,进入fastgpt登录页面

账号root,密码1234,点击登录

创建一个新应用 模型选择零一万物,这个零一万物就是刚才在config.json中配置出来的 点击【保存并预览】按钮,然后就可以对话了

安装ollama

ok,使用线上第三方平台的大模型已经成功了,现在开始部署本地大模型来测试

进入ollama官网ollama.com/ 点击下载,下载自己系统的安装包,可以看到linux已经准备好命令了

直接使用官网给的命令下载curl -fsSL https://ollama.com/install.sh | sh

ollama默认绑定的是127.0.0.1:11434,内网其他机器是无法访问的,需要修改环境变量,打开/etc/systemd/system/ollama.service文件,修改Environment的值为:"OLLAMA_HOST=0.0.0.0"

保存,然后重启ollama服务

systemctl daemon-reload
systemctl restart ollama

重启好后,在浏览器进入地址:http://ip:11434 看到如下界面说明ollama已经安装并且配置成功

在ollama中安装大模型

在ollama官网右上角可以搜索你想要的大模型,我搜索【qwen】,进入模型详情页后,可以选择版本,这里我选择了最低的版本,你们可以根据你们的服务器情况选择合适的版本,右边已经给出了下载模型的命令,复制执行。

模型下载好后会自动进入,这时候就可以进行对话了,按ctrl+D退出

将本地模型接入oneapi中

浏览器进入http://ip:3001 刚才有操作过的,新建一个渠道,填写相关内容

  • 模型一栏选择【ollama】
  • 名称随便写
  • 模型这里要注意,首先先点击【清除所有模型按钮】,把自动填充的模型清除掉,然后在右侧输入框手动输入ollama里下载的模型名称,这个模型名称可以通过ollama list命令得到,名称一定要写完全一致,然后点击右侧【填入按钮】

继续填写:

  • 密钥:sk-key(固定写死就填这个)
  • 代理:http://ip:11434 (就是本地安装的ollama的地址)

点击提交,然后再回到渠道列表页,点击测试刚新添加的模型,右上角出现成功提示

接下来的步骤和之前测试零一万物时的步骤就一样了:

  1. 在config.json中新添加一个配置
  2. 重启服务
  3. 在fastgpt中新建应用
  4. 在这个应用中选择新添加的模型
  5. 点击【保存并预览】按钮
  6. 然后就可以在fastgpt中与本地的大模型对话了

安装m3e向量模型,接入本地知识库

与本地模型进行对话已经实现了,现在需要将大模型对接到本地的知识库,那么就要安装向量模型

使用docker安装,下载时间会比较长:

arduino 复制代码
docker run registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest

在oneapi中新建渠道,类型选择OpenAi,名称随便写,模型手动填入"m3e",密钥写【sk-aaabbbcccdddeeefffggghhhiiijjjkkk】,代理写【http://ip:6008

完成后去config.json中增加一个向量模型配置,这次和之前的不一样了,之前都是在llmModels里加的,向量模型需要加在vectorModels里;并且需要把之前新增的本地qwen模型中的datasetProcess改为true,这样在后续fastgpt中知识库中才能选到这个模型。

重启服务后,进入fastgpt,知识库中新建一个知识库,索引模型选择刚新建的向量模型m3e,文件处理模型选择之前在ollama里安装的模型,然后点击【确认创建】按钮

会默认有一个【手动录入】的文件夹,我们进这个文件夹手动录入一个数据测试

回到应用里,关联上这个知识库,然后点击【保存并预览】

就可以进行对话了,问一些刚才在知识库里相关的问题

也可以往知识库里上传一份文档让它分析 上传后等待索引完成,就可以回应用里问问题了

可以看到目前回答的还不太理想,后续可以在fastgpt中进行详细调教,或者更换其他语言模型测试

相关推荐
sp_wxf3 分钟前
Stream流
linux·服务器·windows
LYK_HAHA21 分钟前
centos常用知识和命令
linux·运维·centos
可涵不会debug1 小时前
【Linux】信号知识三把斧——信号的产生、保存和处理
linux·运维·信号
jyan_敬言1 小时前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
unix2linux2 小时前
Parade Series - SHA256
linux·python·mysql·shell
学思之道2 小时前
给Linux操作系统命令取个别名
linux·运维·经验分享·学习方法
GOTXX2 小时前
应用层协议HTTP
linux·网络·网络协议·计算机网络·http·fiddler
dong_beijing3 小时前
GO语言工程构建示例-mac和linux适用
linux·运维·服务器
知来者逆3 小时前
探索大型语言模型在文化常识方面的理解能力与局限性
人工智能·gpt·深度学习·语言模型·自然语言处理·chatgpt·llm
小小工匠3 小时前
系统安全 - Linux /Docker 安全模型及实践
linux·安全·系统安全