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

大飞攻城狮 2024-07-20 13:01:02 阅读 97

使用到的工具

dockeroneapi + fastgptollama

安装docker

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

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

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

systemctl enable --now docker

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

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很慢可以把地址替换成镜像站

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已经安装成功

image.png

安装fastgpt

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

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

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

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

image.png

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

docker-compose up -d

image.png

配置oneapi

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

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

到api key管理页面获取一个key,这个key保存好后面要用到。

image.png

浏览器进入http://ip:3001 然后点击右上角登录

用户名:root;密码:123456,点击绿色登录

image.png

第一次登录会提示需要修改密码,可以不管它,直接点击上方导航栏的【渠道】

image.png

点击添加新渠道

image.png

填写相关信息

image.png

再点顶部导航栏【渠道】按钮,回到渠道列表页面

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

image.png

修改config.json

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

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

image.png

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

docker-compose down

docker-compose up -d

image.png

配置fastgpt

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

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

创建一个新应用

image.png

模型选择零一万物,这个零一万物就是刚才在config.json中配置出来的

image.png

点击【保存并预览】按钮,然后就可以对话了

image.png

安装ollama

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

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

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

image.png

image.png

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

image.png

保存,然后重启ollama服务

systemctl daemon-reload

systemctl restart ollama

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

image.png

在ollama中安装大模型

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

image.png

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

image.png

将本地模型接入oneapi中

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

模型一栏选择【ollama】

名称随便写

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

image.png

image.png

继续填写:

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

image.png

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

image.png

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

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

image.png

image.png

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

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

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

docker run registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

也可以往知识库里上传一份文档让它分析

image.png

上传后等待索引完成,就可以回应用里问问题了

image.png

image.png

可以看到目前回答的还不太理想,后续可以使用高级编排功能,或者更换其他语言模型尝试

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。