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

2023-11-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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里云部署 ChatGLM2-6B 与 langchain+ChatGLM 的相关文章

随机推荐

  • Labelme安装及使用教程

    Labelme安装教程 基于anaconda 1 创建anaconda虚拟环境labelme conda create n labelme python 3 6 完成之后如图所示 由于我已经创建了labelme故这里用labelme1代替
  • 产品思维用户思维

    用户思维是一种关注用户需求 体验和价值的思维方式 将用户放在产品设计 开发和提供服务的核心位置 它强调了理解用户在不同场景下的需求 提供与之相匹配的解决方案 从而帮助用户实现他们的目标 描述一个用户时 可以从不同角度来考虑 按人口属性描述用
  • 什么是搜索引擎?

    搜索引擎 搜索引擎是指根据一定的策略 运用特定的计算机程序从互联网上搜集信息 在对信息进行组织和处理后 为用户提供检索服务 将用户检索相关的信息展示给用户的系统 搜索引擎包括全文索引 目录索引 元搜索引擎 垂直搜索引擎 集合式搜索引擎 门户
  • 排序算法-选择排序

    属性 基本思想 每一次从待排序的数据元素中选出最小 或最大 的一个元素 存放在序列的起始位置 直到全部待排序的数据元素排完 过程 在元素集合array i array n 1 中选择关键码最大 小 的数据元素 若它不是这组元素中的最后一个
  • 刷脸支付完全融入了我们的日常生活

    现金支付的假币 丢失等问题层出不穷 随着现金交易出现的不便 银行卡的出现成为人们支付方式的一大转变 智能手机的发展和网络科技的进步催生了网络支付方式 AI智能技术的不断发展又让人们迎来了一场刷脸支付的新革命 刷脸支付是指用户在购物后的支付认
  • rabbitmq 连接报错 An unexpected connection driver error occured(亲测)

    在服务器上安装了一个RabbitMq 并新创建了一个用户授予了管理员角色 登录控制台查看一切正常 兴高采烈启动项目进行连接 结果一盆冷水下来 报如下错误 o s a r l SimpleMessageListenerContainer Fa
  • git中format-patch和chery-pick的区别和联系

    chery pick 把其他分支的一次或多次commit 在当前分支上重演 典型的使用场景 其他分支有很多提交 但是你只对其中的一部分感兴趣 这时候可以使用chery pick 只挑选其他分支感兴趣的commit 合并到自己的分支中 for
  • mybatis if-else(写法)

  • Debian GNU/Linux 中以源码方式安装Odoo 14(社区版)

    Odoo是一种流行的开源商务应用程序套件 可帮助公司管理和运营其业务 也可用于在线教学 它包括广泛的应用程序 Debian GNU Linux 是社区版服务器的代表 本文将介绍如何在Debian GNU Linux中以源码方式安装和部署Od
  • 垃圾回收之CMS GC

    一 六个阶段 阶段 1 Initial Mark 初始标记 这个阶段伴随着 STW 暂停 初始标记的目标是标记所有的 根对象 包括根对象直接引用的对象 以及被年轻代中所 有存活对象所引用的对象 老年代单独回收 阶段 2 Concurrent
  • 剑指 Offer 57. 和为s的两个数字(java+python)

    输入一个递增排序的数组和一个数字s 在数组中查找两个数 使得它们的和正好是s 如果有多对数字的和等于s 则输出任意一对即可 示例 1 输入 nums 2 7 11 15 target 9 输出 2 7 或者 7 2 示例 2 输入 nums
  • MyBatis快速入门

    Mybatis概述 Mybatis概念 MyBatis 是一款优秀的持久层框架 用于简化 JDBC 开发 MyBatis 本是 Apache 的一个开源项目iBatis 2010年这个项目由apache software foundatio
  • show process cpu

    Router show proc cpu CPU utilization for five seconds 63 50 one minute 58 five minutes 58 PID Runtime ms Invoked uSecs 5
  • NVM在windows下切换node版本

    如果您很忙或者很急 请直接阅读 三 步骤 一 问题背景 生活里偶尔穿梭在大街小巷中 工作中时常并行于多项目任务里 当多个项目并行时 由于创建的时间或人为选择等因素 各个项目里有着差异的node版本 这样我们在不同的项目里需要切换不同版本的N
  • Linux软链接与硬链接区别

    一 背景 链接 是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法 Linux中包括两种链接 硬链接 Hard Link 和软链接 Soft Link 软链接又称为符号链接 Symbolic link 要了解链接 我们首先得了
  • vscode 问题解决:“检测到 #include 错误,请更新 includePath”

    当我们在使用vscode进行编辑代码时 往往会遇到以下警告 这表明 在我们的代码中 无法找到对应的头文件 但问题在于 阅读和编辑代码 需要保证代码的统一性 所以我们需要知道这个头文件到底在哪 我们也需要让vscode通过点击该头文件名就可以
  • EI、Scopus双检索

    会议简介 Brief Introduction 2023年第四届自动化 机械与设计工程国际会议 SAMDE 2023 会议时间 2023年12月8 10日 召开地点 中国 南京 大会官网 www samde org 机械设计制造及其自动化学
  • python第三方库集锦

    环境管理管理 Python 版本和环境的工具 p 非常简单的交互式 python 版本管理工具 pyenv 简单的 Python 版本管理工具 Vex 可以在虚拟环境中执行命令 virtualenv 创建独立 Python 环境的工具 vi
  • Qt : d指针和q指针?

    目录 一 什么是d指针和q指针 1 d指针 2 q 指针 二 d指针和q指针的作用 三 d指针和q指针的使用 demo 一 什么是d指针和q指针 在Qt的源码中 我们看到大量的Q D 和Q P 宏的调用 查看代码时在一定程度上增加了复杂度
  • 阿里云部署 ChatGLM2-6B 与 langchain+ChatGLM

    1 ChatGLM2 6B 部署 更新系统 apt get update 安装git apt get install git lfs git init git lfs install 克隆 ChatGLM2 6B 源码 git clone