当前位置: 首页 > news >正文

【个人笔记本】本地化部署 类chatgpt模型 详细流程

不推荐小白,环境配置比较复杂

全部流程

  • 下载原始模型:Chinese-LLaMA-Alpaca-2
  • linux部署llamacpp环境
  • 使用llamacpp将Chinese-LLaMA-Alpaca-2模型转换为gguf模型
  • windows部署Text generation web UI 环境
  • 使用Text generation web UI 加载模型并进行对话

准备工作

  1. 笔记本环境:

    • 操作系统:win11
    • CPU:AMD R7535HS
    • GPU:笔记本4060显卡
    • CUDA版本:11.8
    • VM虚拟机:Ubuntu16

  2. 下载模型和部署环境全程需要挂梯子


下载原始模型

原项目链接:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2

模型名称类型大小下载地址
Chinese-LLaMA-2-13B基座模型24.7 GB[百度] [Google] [🤗HF]
Chinese-LLaMA-2-7B基座模型12.9 GB[百度] [Google] [🤗HF]
Chinese-Alpaca-2-13B指令模型24.7 GB[百度] [Google] [🤗HF]
Chinese-Alpaca-2-7B指令模型12.9 GB[百度] [Google] [🤗HF]

下载Chinese-Alpaca-2-7B模型即可,百度网盘不需要挂梯子,其他都需要梯子


linux部署llamacpp环境

原项目链接:https://github.com/ggerganov/llama.cpp
原文档链接:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/llamacpp_zh

Step 1: 安装python3.10

sudo apt update
sudo apt install python3.10

Step 2: 克隆和编译llama.cpp

  1. 拉取最新版llama.cpp仓库代码

    # 要安装git+梯子
    git clone https://github.com/ggerganov/llama.cpp
    

    或者

    #浏览器挂梯子打开https://github.com/ggerganov/llama.cpp
    #下载项目
    #解压缩项目到本地
    
  2. 对llama.cpp项目进行编译,生成./main(用于推理)和./quantize(用于量化)二进制文件

    cd 解压缩项目路径
    make
    

Step 3: 生成量化版本模型

  1. 创建目录并拷贝模型到项目目录:zh-models/7B/

  2. 将Chinese-LLaMA-Alpaca-2模型转换为gguf模型

    #根目录
    python convert.py zh-models/7B/
    
  3. 将生成的fp16格式的gguf模型进行4-bit量化

    ./quantize ./zh-models/7B/ggml-model-f16.gguf ./zh-models/7B/ggml-model-q4_0.gguf q4_0
    

Step 4: 加载并启动模型

到这一步其实可以用llama.cpp的加载模型方式对话了
但我用的虚拟机,性能有限,故而使用Text generation web UI 加载模型,具体如何加载建议看原文档和项目说明


windows部署Text generation web UI 环境

原项目:https://github.com/oobabooga/text-generation-webui

Step 1: 下载安装Miniconda3_py310

链接:https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Windows-x86_64.exe

Step 2: 克隆项目到本地

git clone  https://github.com/oobabooga/text-generation-webui

Step 3: 打开Miniconda3命令行,建立新conda环境

conda create -n textgen

Step 4: 下载安装相关的python各类环境库

有github链接的必须手动下载whl,再pip安装whl的绝对位置

conda activate textgen
cd 项目位置
pip install env/bitsandbytes-0.41.1-py3-none-win_amd64.whl
pip install E:\AI\环境第三方库\auto_gptq-0.4.2+cu117-cp310-cp310-win_amd64.whlhttps://github.com/jllllll/exllama/releases/download/0.0.17/exllama-0.0.17+cu117-cp310-cp310-win_amd64.whl
pip install E:\AI\环境第三方库\exllama-0.0.17+cu117-cp310-cp310-win_amd64.whlpip install llama-cpp-python==0.1.84https://github.com/jllllll/llama-cpp-python-cuBLAS-wheels/releases/download/textgen-webui/llama_cpp_python_cuda-0.1.84+cu117-cp310-cp310-win_amd64.whl
pip install E:\AI\环境第三方库\llama_cpp_python_cuda-0.1.84+cu117-cp310-cp310-win_amd64.whlhttps://github.com/jllllll/GPTQ-for-LLaMa-CUDA/releases/download/0.1.0/gptq_for_llama-0.1.0+cu117-cp310-cp310-win_amd64.whl
pip install E:\AI\环境第三方库\gptq_for_llama-0.1.0+cu117-cp310-cp310-win_amd64.whlhttps://github.com/jllllll/ctransformers-cuBLAS-wheels/releases/download/AVX2/ctransformers-0.2.25+cu117-py3-none-any.whl
pip install E:\AI\环境第三方库\ctransformers-0.2.25+cu117-py3-none-any.whlpip install -r requirements.txt -i 换源

Step 5: 启动web服务

conda activate textgen
cd E:/AI/项目/text-generation-webui-main
python server.py

使用Text generation web UI 加载模型并进行对话

  1. 打开生成的url网址
  2. 加载本地模型
  3. 对话即可

相关文章:

【个人笔记本】本地化部署 类chatgpt模型 详细流程

不推荐小白,环境配置比较复杂 全部流程 下载原始模型:Chinese-LLaMA-Alpaca-2linux部署llamacpp环境使用llamacpp将Chinese-LLaMA-Alpaca-2模型转换为gguf模型windows部署Text generation web UI 环境使用Text generation web UI 加载模型并进行对话 准…...

RFID与人工智能怎么融合,RFID与人工智能融合的应用

随着物联网技术的不断发展,现实世界与数字世界的桥梁已经被打通。物联网通过各种传感器,将现实世界中的光、电、热等信号转化为有价值的数据。这些数据可以通过RFID技术进行自动收集和传输,然后经由人工智能算法进行分析、建模和预测&#xf…...

性能测试 —— Jmeter 常用三种定时器

1、同步定时器 位置:HTTP请求->定时器->Synchronizing Timer 当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行…...

每个高级前端工程师都应该知道的前端布局

首发于公众号 大迁世界,欢迎关注。📝 每周一篇实用的前端文章 🛠️ 分享值得关注的开发工具 😜 分享个人创业过程中的趣事 快来免费体验ChatGpt plus版本的,我们出的钱 体验地址:https://chat.waixingyun.cn 可以加入网站底部技术群,一起找bug,另外新版作图神器已上线…...

100道基于Android毕业设计的选题题目,持续更新

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 大家好,我是程序员徐师兄、今天给大家谈谈基于android的app开发毕设题目,以及基于an…...

idea显示git分支信息(GitToolBox插件)

效果图 说明 本身idea在右下角会有git分支信息,但是显示的当前打开文件的分支信息,并且不够显眼 解决 1、安装插件(GitToolBox插件) 2、修改idea.properties project.tree.structure.show.urlfalse ide.tree.horizontal.default.autoscrollingfalse将…...

Hadoop知识点之Hadoop发展历程

一、Hadoop名字的起源 Hadoop这个名字不是一个缩写,它是一个虚构的名字。 该项目的创建者,Doug Cutting如此解释Hadoop: 这个名字是我孩子给一头吃饱了的棕黄色大象命名的。我的命名标准就是简短,容易发音和拼写,没有…...

阿里云无影电脑:免费体验无影云电脑3个月

阿里云无影云电脑免费领取流程,免费无影云电脑配置为4核8G,可以免费使用3个月,阿里云百科分享阿里云无影云电脑(云桌面)免费申请入口、申请流程及免费使用限制条件说明: 目录 阿里云无影云电脑免费申请入…...

菜鸟教程《Python 3 教程》笔记(20):面向对象

菜鸟教程《Python 3 教程》笔记(20) 20 面向对象20.1 面向对象技术简介20.2 创建类20.2.1 类定义20.2.2 实例化20.2.3 初始化20.2.4 类变量、实例变量20.2.5 类方法、实例方法、静态方法 20.3 访问可见性20.3.1 property装饰器 20.4 动态性20.4.1 __slot…...

vue2编辑markdown

效果 npm i mavon-editor --save 只能全局注册 使用...

PCB走线规则

1、线间距。 这里应该遵循3W规则,所谓3W就是为了减少线间串扰,应保证线间距足够大,当线中心不少于3倍线宽,则可 保持70%的电场不互相干扰。如要达到98%的电场不互相干扰,可使用10W的间距。——这是查阅华为PCB布线规则…...

webpack静态资源上传到CDNS (阿里云 OSS,亚马逊 AWS S3,七牛云 Qiniu Cloud Kodo)webpack-plugin-cdns

webpack-plugin-cdns 是一个 Webpack 插件,用于实现将前端项目中的资源(如 JavaScript、CSS、图片等)上传到 CDN(OSS、S3、Kodo) 服务器。从而完成资源的 CDN 加速。 在开发前端项目时,我们通常会将静态资源放在本地服务器上&…...

python 异常

1.捕获异常 2.密码爆破 3....

stm32--独立看门狗

最近学习到独立看门狗,总结下笔记 1.看门狗的作用:防止程序异常跑飞,跑飞时,进行系统复位,从而不会导致代码瘫痪,奔溃卡死在某段程序。 2.看门狗其实是12bit递减计数器,,减到0会产…...

vue3中css使用script中定义的变量

代码 <template><div class"box">haha</div> </template><script setup lang"ts"> const boxWidth 500px </script><style lang"scss"> .box {width: v-bind(boxWidth);height: 200px;background-c…...

Ubuntu 22.04 安装配置 flatpak

Ubuntu 22.04 安装配置 Flatpak 安装 Flatpak sudo apt install flatpakFlatpak 仓库配置 官方仓库 https://flathub.org/repo/flathub上交大镜像 https://mirror.sjtu.edu.cn/flathub flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatp…...

oracle创建数据库以及用户,并导入dmp格式数据

oracle创建数据库以及用户&#xff0c;并导入dmp格式数据 安装可参考之前的文章https://blog.csdn.net/qq_43421954/article/details/132717546?spm1001.2014.3001.5501 首先创建表空间&#xff08;也就是其他数据库所谓的数据库&#xff09; 使用的是navicat,连接配置可以参…...

[deeplearning]pytorch实现softmax多分类问题预测训练

写在前面&#xff1a;俺这两天也是刚刚加入实验室&#xff0c;因为之前的学习过程中用到更多的框架是tensorflow&#xff0c;所以突然上手pytorch多少有些力不从心了。 这两个框架的主要区别在与tensorflow更偏向于工业使用&#xff0c;所以里面的很多函数和类都已经封装得很完…...

【C++初阶】动态内存管理

​&#x1f47b;内容专栏&#xff1a; C/C编程 &#x1f428;本文概括&#xff1a; C/C内存分布、C语言动态内存管理、C动态内存管理、operator new与operator delete函数、new和delete的实现原理、定位new表达式、常见面试问题等。 &#x1f43c;本文作者&#xff1a; 阿四啊 …...

Mac电脑安装Zulu Open JDK 8 使用 spring-kafka 消费不到Kafka Partition中的消息

一、现象描述 使用Mac电脑本地启动spring-kakfa消费不到Kafka的消息&#xff0c;监控消费组的消息偏移量发现存在Lag的消息&#xff0c;但是本地客户端就是拉取不到&#xff0c;通过部署到公司k8s容器上消息却能正常消费&#xff01; 本地启动的服务消费组监控 公司k8s容器服…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...