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

【AI基础】第三步:纯天然保姆喂饭级-安装并运行chatglm2-6b

chatglm2构建时使用了RUST,所以在安装chatglm2之前,先安装RUST。

 此系列文章列表:

【AI基础】第一步:安装python开发环境-windows篇_下载安装ai环境python-CSDN博客

【AI基础】第一步:安装python开发环境-conda篇_minicode怎么换虚拟环境-CSDN博客

【AI基础】第二步:安装AI运行环境-CSDN博客

【AI基础】第三步:纯天然手动安装并运行chatglm2-6b-CSDN博客

【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base-CSDN博客

一、安装miniconda

参考 【AI基础】第一步:安装python开发环境-conda篇_minicode怎么换虚拟环境-CSDN博客

二、安装CUDA、cuDNN和pyTorch

参考 【AI基础】第二步:安装AI运行环境-CSDN博客

三、安装RUST

3.1 配置安装源

如果从官方安装,速度奇慢。

配置环境变量 RUSTUP_DIST_SERVER 到国内源:

这里指定了清华源,其余国内源还有:

# 字节跳动
RUSTUP_DIST_SERVER=https://rsproxy.cn
RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup

# 中国科学技术大学
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

# 清华大学
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup

# 上海交通大学
RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static/

3.2 安装依赖msvc

下载地址:https://aka.ms/vs/17/release/vs_BuildTools.exe

下载后双击安装,选择如下组件: 

安装完成即可。 

备注:msvc的安装可以参考rust官方文档:MSVC prerequisites - The rustup book

这里描述了去官方下载安装文件:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

3.3 下载安装

下载地址:Getting started - Rust Programming Language

选择对应版本下载:

 这里选择64位版本,下载文件 rustup-init.exe。下载后双击执行:

安装完成。

3.4 安装检验

运行命令:

> cargo --version
> rustc --version

3.5 配置RUST安装包的国内源

新版配置文件在 ~/.cargo/config.toml,如果没有则新建,配置如下:

其余的国内源: 

# 中国科学技术大学
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
#registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"

# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"

 四、运行chatglm2

4.1 安装

> conda activate chatglm2
> git clone https://github.com/THUDM/ChatGLM2-6B
> cd chatglm2-6b
> pip install -r requirements.txt --verbose -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • --verbose,会显示实时进度,避免下载大文件时耗时过长,造成卡死的假象。
  • -i https://pypi.tuna.tsinghua.edu.cn/simple/,使用清华源,避免从官方下载造成速度慢。

 安装完成。

4.2 调用模型代码

创建文件 dev_hello.py,并使用官方代码:

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)

查看第二行和第二行的 THUDM/chatglm2-6b,这是大模型的地址,表示大模型存放在当前目录下的THUDM/chatglm2-6b中。如果没有,则会从HuggingFace下载并保存在此路径中。

因为大模型文件很大,我们可以先下载到本地,然后再运行代码。

4.3 下载大模型文件

4.3.1 HuggingFace下载

下载地址:https://huggingface.co/THUDM/chatglm2-6b

4.3.2 国内下载

综合镜像站:

  • HuggingFace镜像站:THUDM/chatglm2-6b · HF Mirror 
  • AI快站:AI快站 - HuggingFace模型免费加速下载 
  • 异型岛:互链高科

也有国内厂商自己的单独站点:

  • 智谱/chatglm:清华大学云盘

下载到本地的默认下载地址,文件结构如图(图中文件,一个都不能少):

4.4 运行代码

4.4.1 执行官方演示代码

> python dev_hello.py

4.4.2 运行网页端

> streamlit run web_demo2.py

 运行成功。

相关文章:

  • 大型零售企业总部到分公司数据发放,有没有更优化的方案?
  • 知识图谱的应用---新零售
  • 【ARM Cache 及 MMU 系列文章 6 -- Cache 寄存器 CTR_EL0 | CLIDR | CCSIDR | CSSELR 使用详解 1】
  • SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(六)
  • 小心人工智障
  • 【氵】Archlinux+KDE Plasma 6+Wayland 安装nvidia驱动 / 开启HDR
  • 正大国际期货:如何培养个好心态呢?
  • 【HarmonyOS】HUAWEI DevEco Studio 下载地址汇总
  • OBS+nginx+nginx-http-flv-module实现阿里云的推流和拉流
  • 电商比价系统的搭建需要哪些方面着手准备?
  • 手写微前端microApp-数据通信
  • 【Go语言】面向对象编程(二):通过组合实现类的继承和方法重写
  • 【深度学习】数竹签演示软件系统
  • vue3 基于el-tree增加、删除节点(非TypeScript 写法)
  • 深入解读Prometheus Adapter:云原生监控的核心组件
  • JS 中的深拷贝与浅拷贝
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Effective Java 笔记(一)
  • Javascripit类型转换比较那点事儿,双等号(==)
  • js算法-归并排序(merge_sort)
  • vue-router 实现分析
  • vue自定义指令实现v-tap插件
  • 安卓应用性能调试和优化经验分享
  • 初识 webpack
  • 仿天猫超市收藏抛物线动画工具库
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 线性表及其算法(java实现)
  • 想写好前端,先练好内功
  • 移动端解决方案学习记录
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • MyCAT水平分库
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • #FPGA(基础知识)
  • (5)STL算法之复制
  • (done) 两个矩阵 “相似” 是什么意思?
  • (function(){})()的分步解析
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转载)OpenStack Hacker养成指南
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .net图片验证码生成、点击刷新及验证输入是否正确