阿里云部署 ChatGLM2-6B 与 langchain+ChatGLM

news2024/9/28 11:20:10

1.ChatGLM2-6B 部署

  • 更新系统

apt-get update
  • 安装git

apt-get install git-lfs
git init
git lfs install
  • 克隆 ChatGLM2-6B 源码

git clone https://github.com/THUDM/ChatGLM2-6B.git
  • 克隆 chatglm2-6b 模型

#进入目录
cd ChatGLM2-6B
#创建目录
mkdir model
#进入目录
cd model
#克隆
git clone https://huggingface.co/THUDM/chatglm2-6b
  • 安装 ChatGLM2-6B 依赖

cd ../
pip install -r requirements.txt
  • 修改模型的路径

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).cuda()

修改成

tokenizer = AutoTokenizer.from_pretrained("model/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("model/chatglm2-6b", trust_remote_code=True).cuda()
de5efcd4c47fd3208d947363afb98579.png
  • 启动服务

python web_demo.py

启动成功后

335ff953ddfd48dd274d700d4702e0ca.png

2.langchain+chatGLM 部署

  • 克隆 langchain-ChatGLM 源码

git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git

  • 克隆模型

#进入目录
cd langchain-ChatGLM
#创建目录
mkdir text2vec-large-chinese
#进入目录
cd text2vec-large-chinese
#克隆
git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese
  • 安装 langchain-ChatGLM 依赖

cd ../
pip install -r requirements.txt
  • 修改配置

修改一

"text2vec": "GanymedeNil/text2vec-large-chinese"

修改成

"text2vec": "text2vec-large-chinese/text2vec-large-chinese"
98957479105331a16fb00f4db9cfe30b.png

修改二

"pretrained_model_name": "THUDM/chatglm2-6b"

修改成

"pretrained_model_name": "../ChatGLM2-6B/model/chatglm2-6b"
ed3da04cdb0d975e5768cc65af1db902.png

修改三

# LLM 名称
LLM_MODEL = "chatglm-6b"
# 量化加载8bit 模型
LOAD_IN_8BIT = False

修改成

# LLM 名称
LLM_MODEL = "chatglm2-6b"
# 量化加载8bit 模型
LOAD_IN_8BIT = True
3874e165df34289842033a228a7b5c1e.png
  • 安装依赖 (启动langchain+chatGLM时,报错提示要安装的依赖)

pip install accelerate
pip install bitsandbytes
  • 启动服务

python webui.py

启动成功后

323a76135744070a44a3b3315d0ac39d.png

27fcfefbdb74fee5766b2747bfd67ba1.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySql增删改查基础

目录 1.基本操作 1.1新增 1.2查询 1.2.1指定查询 1.2.2排序查询 1.2.3分页查询 1.3修改 1.4删除 2.进阶操作 2.1键值约束 2.1.1主键约束 2.1.2唯一键约束 2.1.3非空约束 2.1.4默认值 2.1.5自增属性 ​编辑 2.1.6外键约束 2.1.7check子句 3.表的设计 3.1ER关…

海上港口三维数据可视化展示提升应急救援效率

3D可视化技术可以将复杂数据转化为生动的图形和模型,使得数据的关联和趋势更加明确和易于理解。通过使用3D模型和图形,我们可以更直观地观察数据之间的关系,发现隐藏在数据背后的规律和模式。例如,在工业领域,利用3D可…

jdk,jre和jvm三者的关系和区别

目录 一、三者的关系 二、JDK的概念 三、JRE的概念 四、JVM的概念 五、三者区别 一、三者的关系 从图中可以清楚地看到,他们之间的关系是JDK包含JRE, JRE又包含JVM。 因此,JDK包含JRE和JVM。 JDK JRE Java 开发工具包 [Java,Javac,Javadoc,Javap…

Python实现九宫格数独小游戏

1 问题 有1-9个数字,将他们填入一个3*3的九宫格中,使得他们的每行,每列,以及对角线上的和相等,且要求每个格子的数字不可以重复。使用python列出所有可能的组合。示例如下: 2 方法 每行,列,对角…

#pragma region用法

简介 #pragma region 是VS(Visio Studio)所特有的预处理语法(其他IDE或者Cmake会报错),其可以用来收缩或者展开一段代码。 #pragma region MyRegion// ...Code content #pragma endregion 其中,MyRegion 即给这代码块所定义的名…

【python中级】将字符串按照固定长度分割

【python中级】将字符串按照固定长度分割 1、背景2、代码1、背景 近期有将图片进行base64编码成字符串的工作,参考博客: 【python中级】 base64编码将图片数据转化为成字符串 https://jn10010537.blog.csdn.net/article/details/131894686 我将图片编码成字符串后,再写到p…

地震反演基础知识1

文章目录 地震反演基础知识11. 基础知识1.1 正演反演1.2 地震数据1.3 速度模型1.4 道1.5 FWI的端到端深度学习1.6 传统FWI vs. DL-FWI 2. 数据信息2.1 数据集的层级关系2.2 SEG盐体数据2.3 OpenFWI数据集 地震反演基础知识1 1. 基础知识 1.1 正演反演 正演 根据地下介质的参…

electron的electron-packager打包运行和electron-builder生产安装包过程,学透 Electron 自定义 Dock 图标

electron的electron-packager打包运行和electron-builder生产安装包过程 开发electron客户端程序,打包是绕不开的问题。 macOS 应用构建,看似近在咫尺,实则坑坑致命。 场景:mac笔记本打包,以及生产出可交付的软件安装…

自学网络安全(黑客)的误区

前言 网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。 一、网络安全学习的误区 1.不要…

windows系统安装ArtemisMQ

windows系统安装ArtemisMQ ArtemisMQ介绍 apache-artemi 是apache-activemq的新一代MQ产品。 特点: 1.支持多种mq协议,如jms\amqp\mqtt等协议。 2.部署方便,可以快速生成多个broker实例,以及部署集群。 3.已提供spring-boot-sta…

学习数学助手Schooltech Math Resource Studio 7.0 Crack

数学资源工作室 数学工作表生成器:快速轻松地创建数学工作表 使用易于使用的数学工作表生成器软件创建可打印的数学练习工作表。通过练习、谜题、问题等提高数学技能。 瞄准学习需求并激励学生 Math Resource Studio 是个性化数学教学的理想软件解决方案&#xff0c…

LeetCode279.Perfect-Squares<完全平方数>

题目: 思路: 这一题和硬币那题有一点像。 (13条消息) LeetCode322.Coin-Change<零钱兑换>_Eminste的博客-CSDN博客 所以我们初始化一系列“硬币”(平方数) 然后扫描用多少个“硬币”可以组成值。 最后返…

【ICCV2023】Scale-Aware Modulation Meet Transformer

Scale-Aware Modulation Meet Transformer, ICCV2023 论文:https://arxiv.org/abs/2307.08579 代码:https://github.com/AFeng-x/SMT 解读:ICCV2023 | 当尺度感知调制遇上Transformer,会碰撞出怎样的火花&#xff1…

C# 复习笔记

文章目录 Visual C# Step By StepC# 7.0核心技术指南面向对象是怎样工作的 Visual C# Step By Step 1.Net FrameWork:为开发应用程序而创建的一个平台(可以是运行在windows ,也可以是运行在其他操作系统)。例如Mono,它…

第119天:免杀对抗-二开CSShellcode函数修改生成模版修改反编译重打包(下)

知识点 #知识点: 1、CS-表面特征消除 2、CS-HTTP流量特征消除 3、CS-Shellcode特征消除#章节点: 编译代码面-ShellCode-混淆 编译代码面-编辑执行器-编写 编译代码面-分离加载器-编写 程序文件面-特征码定位-修改 程序文件面-加壳花指令-资源 代码加载面…

C语言-print字符串打印-转义字符妙用

这里有两个有关打印的小知识 打印的字符串内容由两部分组成:可见字符、转义字符;各种字母、数字、以及空格,均属于可见字符,“\”等属于转义字符 举例: 1.直接print里面打印内容,内容直接出现 2.这里想将一…

iptable防火墙

主要作用: 隔离功能,在工作中,防火墙 的主要作用决定哪些数据可以被外网访问以及哪些数据可以进入内网访问 一般部署在网络边缘或者主机边缘,作用于网络层 安全技术: 1、入侵检测系统: 检测病毒、木马&a…

如何进行SQL优化

一、SQL优化的主要步骤 在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生…

Oracle转Mysql出现的问题记录

学海无涯,旅“途”漫漫,“途”中小记,如有错误,敬请指出,在此拜谢! 文章目录 前言函数错误concat函数使用有区别代码示例导致问题区别及分析解决方法 时间相减代码示例导致问题区别与分析解决方法 or 不走索…

入门Linux基本指令(1)

本篇文章介绍Linux中的一些常用基本指令来供大家学习和参考。 目录 ls指令 pwd指令 cd指令 .和.. touch指令与mkdir指令 rm指令 man指令 ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与…