ChatGLM-6B 部署与使用——打造你的专属GLM


ChatGLM-6B 部署与使用指南

ChatGLM-6B 是清华大学与智谱 AI 开源的一款对话语言模型,基于 General Language Model (GLM) 架构,参数达到 62 亿,因其卓越的语言理解与生成能力,受到广泛关注。

一、在 DAMODEL 上部署 ChatGLM-6B

DAMODEL(丹摩智算)为 AI 提供强大的算力和基础设施支持。

1.1 实例创建

进入 DAMODEL 控制台,选择资源中的 GPU 云实例,然后点击“创建实例”。

image-20240923131320316

配置付费模式为按量付费,选择 NVIDIA GeForce RTX 4090 GPU,具有 60GB 内存和 24GB 显存。继续配置 50GB 的数据硬盘,选择 PyTorch 1.13.1 镜像启动。创建密钥对,完成实例创建。

image-20240923131454352

image-20240923131510147

1.2 模型准备

启动实例后,打开终端,使用 git 克隆 ChatGLM-6B 项目。如果 GitHub 连接不畅,

image-20240923132251865可选择其他站点或离线下载。

git clone https://gitcode.com/applib/ChatGLM-6B.git

image-20240923131706951

安装完成后,

image-20240923132855653

进入项目目录后,使用以下命令安装依赖:

pip install -r requirements.txt

利用 DAMODEL 提供的上传功能,将 Hugging Face 上的 ChatGLM-6B 预训练模型文件上传至 /root/shared-storage 目录。方法:

image-20240923134832043

我们可以通过魔塔社区进行下载

image-20240923135225318

下载完成后进行上传和解压即可。

1.3 模型启动

上传并解压模型后,通过 cli_demo.pyweb_demo.py 启动模型。将模型加载路径修改为本地路径,使用命令:

python cli_demo.py

在终端中进行交互,或通过 Web 接口与模型进行对话。

python web_demo.py

二、通过 Web API 实现本地调用

2.1 启动 API 服务

运行 api.py 文件,启动 FastAPI 服务,接受 HTTP POST 请求。此请求体包括生成文本所需的各项参数(如 prompt、history 等)。启动成功后,服务器将准备好响应请求。

cd ChatGLM-6B
python api.py

2.2 开放端口

在访问控制中,添加需要开放的端口,并复制生成的访问链接,以便后续使用。

image-20240923135445156

然后点击添加端口,输入端口号并确定开放。

2.3 使用 PostMan 测试功能

通过 PostMan 发送 POST 请求,测试 API 是否正常工作。示例请求体如下:

{"prompt": "你好,你是谁?","max_length": 512,"top_p": 0.9,"temperature": 0.7
}

若返回状态码为 200,则表示请求成功。

2.4 本地代码使用示例

以下是一个基础的单轮对话代码示例:

import requests
import jsonapi_url = "http://your-api-url"data = {"prompt": "你好,你是谁?","max_length": 500,"top_p": 0.9,"temperature": 1.0
}response = requests.post(api_url, json=data)if response.status_code == 200:result = response.json()print("Response:", result['response'])
else:print("Error:", response.status_code)

多轮对话示例

以下是支持多轮对话的示例代码:

import requests
import jsonapi_url = "http://your-api-url"
conversation_history = []while True:query = input("用户:")if query.strip().lower() == "stop":breakprompt = querydata = {"prompt": prompt,"history": conversation_history,"max_length": 5000,"top_p": 0.9,"temperature": 0.9}response = requests.post(api_url, json=data)if response.status_code == 200:result = response.json()print("Response:", result['response'])conversation_history = result['history']else:print("Error:", response.status_code)

通过这些步骤,您可以在本地实现与 ChatGLM-6B 模型的对话。无论是技术开发还是日常应用,这一过程都能有效支持您的需求。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue使用axios二次封装、解决跨域问题

1、什么是 axios 在实际开发过程中,浏览器通常需要和服务器端进行数据交互。而 Vue.js 并未提供与服务器端通信的接口。从 Vue.js 2.0 版本之后,官方推荐使用 axios 来实现 Ajax 请求。axios 是一个基于 promise 的 HTTP 客户端。 关于 promise 的详细介…

MQ入门(一):同步调用和异步调用--RabbitMQ基础入门

目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装部署 2.2.RabbitMQ基本架构 2.3.收发消息 2.3.1.交换机 2.3.2.队列 2.3.3.绑定关系 2.3.4.发送消息 2.4.数据隔离 2.4.1.用户管理 2.4.2.virtual host 1.初识MQ 微服务一旦拆分&…

水面巡检船垃圾漂浮物检测系统源码分享

水面巡检船垃圾漂浮物检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of …

HarmonyOS异常处理实践

一、HarmonyOS应用异常处理框架 全面检测、精准记录异常传播路径、日志精简 二、FaultLog FaultLog是应用异常日志查询接口,提供QuerySelfFaultLog接口以查询自身故障。 JS_CRASH:ArkTS程序故障类型 CPP_CRASH:C程序故障类型 APP_FREEZE&…

ClickHouse | 查询

1 ALL 子句 2 ARRAY JOIN 使用别名 :在使用时可以为数组指定别名,数组元素可以通过此别名访问,但数组本身则通过原始名称访问 3 DISTINCT子句 DISTINCT不支持当包含有数组的列 4 FROM子句 FROM 子句指定从以下数据源中读取数据: 1.表 2.子…

学习threejs,添加环境光和点光源

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言二、🍀绘制任意字体模型…

一文读懂SpringIoC的工作原理和机制(面试经)

导览 前言IoC(Inversion of Control)必学必看1. DI(Dependency Injection)2. IoC核心思想3. 创建Bean的方式3.1 构造函数3.2 构造静态方法3.3 构造实例工厂方法 4 依赖注入的方式4.1 setter注入4.2 构造方法注入4.3 接口注入 结语精彩回顾 前言 我们在使…

什么是Node.js?

为什么JavaScript可以在浏览器中被执行? 在浏览器中我们加载了一些待执行JS代码,这些字符串要当中一个代码去执行,是因为浏览器中有JavaScript的解析引擎,它的存在我们的代码才能被执行。 不同的浏览器使用不同的javaScript解析引…

阴影的基本原理

1、现实中阴影的产生规则 如图所示,现实中的阴影产生规则是,在不考虑光线反射的前提下,当一个光源发射的一条光线遇到一个不透明物体A时,这条光线就不能够再继续照亮其他物体了(物体B的一部分)&#xff0c…

等保2.0数据库测评之达梦数据库测评

一、达梦数据库介绍 达梦数据库管理系统属于新一代大型通用关系型数据库,全面支持 ANSI SQL 标准和主流编程语言接口/开发框架。行列融合存储技术,在兼顾 OLAP 和 OLTP 的同时,满足 HTAP 混合应用场景。 本次安装环境为Windows10专业版操作…

Docker:解决开发运维问题的开源容器化平台

云计算de小白 Docker是一个开源的容器化平台,可以将应用程序及其依赖的环境打包成轻量级、可移植的容器。 Docker为什么这么受欢迎呢?原因很简单:Docker可以解决不同环境一致运行的问题,而且占用资源少,速度快。 所以好的东西…

erlang学习:Linux命令学习6

for循环学习 打印九九乘法表 for i in {1..9};do %%取1-9for j in $(seq 1 $i);do %%取1-iecho -n "$j*$i$((i*j)) " %%进行九九乘法表打印doneecho done尝试了很多次报错是因为后面的换行符不对,window系统中的换行符与linux对不上,因…

Spring Boot 快速入门教程

1. Spring Boot 简介 Spring Boot 是一个基于 Spring 框架的项目,它简化了基于 Spring 的 Java 应用程序的创建和部署。Spring Boot 通过提供一系列的“Starters”来简化 Maven 配置,同时使用约定大于配置的原则,让开发者能够以最少的配置启…

李沐深度学习-多层感知机、模型选择、过拟合、欠拟合

3.8.1 隐藏层 多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。隐藏层位于输入层和输出层之间。图3.3展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。 图3.3 带有隐藏层的多层感…

Windows环境部署Oracle 11g

Windows环境部署Oracle 11g 1.安装包下载2. 解压安装包3. 数据库安装3.1 执行安装脚本3.2 电子邮件设置3.3 配置安装选项3.4 配置系统类3.5 选择数据库安装类型3.6 选择安装类型3.7 数据库配置3.8 确认安装信息3.9 设置口令 Oracle常用命令 2023年10月中旬就弄出大致的文章&…

铨顺宏科技携RTLS+RFID技术亮相工博会!

中国国际工业博览会盛大开幕! 铨顺宏科技展亮点速递 铨顺宏科技展位号:F117 中国国际博览会今日开幕,铨顺宏科技携创新产品亮相,吸引众多参观者。 我们珍视此次国际盛会,将全力以赴确保最佳体验。 工作人员热情解答…

深度剖析OnlyFans:超越AI的盈利模式与未来挑战

引言 近年来,OnlyFans以其惊人的收入水平震惊了硅谷,2022年的66亿美元营收远超OpenAI的34亿美元。本文将深入探讨OnlyFans的成功原因、商业模式以及面临的AI挑战,试图揭示其在付费内容生态中的独特地位。 OnlyFans的商业模式 OnlyFans成立…

Solidity——抽象合约和接口详解

🚀本系列文章为个人学习笔记,目的是巩固知识并记录我的学习过程及理解。文笔和排版可能拙劣,望见谅。 Solidity中的抽象合约和接口详解 目录 什么是抽象合约?抽象合约的语法接口(Interface)的定义接口的语…

MySQL_插入、更新和删除数据

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :&#x1…

使用Electron打包一个Vue3项目全步骤

1.创建一个Vue3项目 2.使用 WebStorm打开项目,并安装依赖项 npm install 等待完成后, 安装electron npm install --save-dev electron 等待完成后, 安装electron 打包依赖项(打包成可执行文件) npm install electron-packager --save-dev 3…