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

慈云数据 2024-06-15 技术支持 36 0

使用到的工具

  • docker
  • oneapi + fastgpt
  • ollama

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

    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.pngimage.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.pngimage.png

      继续填写:

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

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

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

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

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

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

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

        在这里插入图片描述

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

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

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

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

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

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

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

        👉大模型实战案例👈

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

        在这里插入图片描述

        👉大模型视频和PDF合集👈

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

        在这里插入图片描述

        在这里插入图片描述

        👉学会后的收获:👈

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

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

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

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

        👉获取方式:

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

        在这里插入图片描述

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon