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 -v
和docker-compose -v
,若出现版本号信息则说明docker已经安装成功
安装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
执行命令启动容器(第一次启动会先下载所有镜像)
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的地址)
点击提交,然后再回到渠道列表页,点击测试刚新添加的模型,右上角出现成功提示
接下来的步骤和之前测试零一万物时的步骤就一样了:
在config.json中新添加一个配置重启服务在fastgpt中新建应用在这个应用中选择新添加的模型点击【保存并预览】按钮然后就可以在fastgpt中与本地的大模型对话了
安装m3e向量模型,接入本地知识库
与本地模型进行对话已经实现了,现在需要将大模型对接到本地的知识库,那么就要安装向量模型
使用docker安装,下载时间会比较长:
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里安装的模型,然后点击【确认创建】按钮
会默认有一个【手动录入】的文件夹,我们进这个文件夹手动录入一个数据测试
回到应用里,关联上这个知识库,然后点击【保存并预览】
就可以进行对话了,问一些刚才在知识库里相关的问题
也可以往知识库里上传一份文档让它分析
上传后等待索引完成,就可以回应用里问问题了
可以看到目前回答的还不太理想,后续可以使用高级编排功能,或者更换其他语言模型尝试
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。