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.xdnf.cn/news/1544092.html

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

相关文章

基于单片机巡迹避障智能小车系统

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

RPA + 计算机视觉

随着超自动化成为顶级企业技术趋势之一,领先的机器人流程自动化 (RPA) 公司开始将人工智能功能集成到其自动化工具中,以创建能够自动化端到端流程并做出决策的智能机器人。计算机视觉是新一代 RPA 工具的关键 AI 功能之一。 在本文中,我们将…

2024年CSP-J认证 CCF信息学奥赛C++ 中小学初级组 第一轮真题-选择题解析

2024年 中小学信息学奥赛CSP-J真题解析 1、32 位 int 类型的存储范围是 A、 -2147483647 ~ 2147483647 B、 -2147483647 ~ 2147483648 C、 -2147483648 ~ 2147483647 D、 -2147483648 ~ 2147483648 答案:C 考点分析:主要考查小朋友们数据类型的存储…

Centos/fedora/openEuler 终端中文显示配置

注意:这里主要解决的是图形界面、远程登录界面的中文乱码问题 系统原生的终端(如虚拟机系统显示的终端),由于使用的是十分原始的 TTY 终端,使用点阵字体进行显示,点阵字体不支持中文,因此无法显…

前端——表单标签样式

1. form表单标签 块级元素 action: 表单提交地址 method: 表单提交格式 https网络协议请求格式: post/get等 通常: post方式是发送数据 而get是拿取数据 name: 表单的名称 target: 提交完表单之后 你的新页面在哪里打开 2. input输入控件 可以通过type属性 …

7,STM32CubeMX配置IIC工程(OLED显示)

1,前言 单片机型号:STM32F407 编程环境 :STM32CubeMX Keil v5 硬件连接 :串口1,ADC1CH5--->PA5 注:本工程在1,STM32CubeMX工程基础(配置Debug、时钟树)基础上…

【Unity保龄球项目】的实现逻辑以及代码解释

1.BaoLQManager.cs 这个脚本实现了基本的保龄球游戏逻辑,包括扔球功能。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class BaoLQManager : MonoBehaviour {// 业务逻辑1:把保龄球扔出去// 业务逻辑2&am…

祝桥镇星光村火情闪电救援:速控之下,安全警钟长鸣

安科瑞武陈燕 在秋日的午后,阳光本应温柔地洒在浦东新区祝桥镇星光村的每一个角落,然而,一场突如其来的火灾打破了这份宁静。 9月2日中午12时许,该村1队的一户居民家中突然燃起熊熊大火,浓烟滚滚自二楼窗口腾空而起&…

gdb调试和makefile管理

一.gdb调试工具 命令 简写 作用 help h 按模块列出命令类 help class 查看某一类型的具体命令 lsit l 查看代码,可跟行号和函数名 quit q 退出gdb run r 全速运行程序 start 单步执行,运行程序,停在第一行执行语句 next …

Qt 窗口类的继承关系和作用

核心基类 [1] QObject:Qt中许多类的基类,支持Qt对象模型,包括信号和槽机制、对象树和事件系统等。虽然它本身不是直接用于创建窗口的,但它是许多窗口和控件类继承链中的重要一环。 注:如果你创建了一个自定义类&…

杰发科技——Eclipse环境安装

文件已传到网盘: 1. 安装文件准备 2. 安装Make 默认路径:C:\Program Files (x86)\GnuWin32\bin\ 不复制的话会报错 Error: Program "make" not found in PATH 3. 安装工具链 默认路径:C:\Program Files (x86)\Arm GNU Toolchain…

OpenAI converting API code from GPT-3 to chatGPT-3.5

题意:将OpenAI API代码从GPT-3转换为ChatGPT-3.5 问题背景: Below is my working code for the GPT-3 API. I am having trouble converting it to work with chatGPT-3.5. 以下是我用于GPT-3 API的工作代码。我在将其转换为适用于ChatGPT-3.5时遇到了…

Android Studio 真机USB调试运行频繁掉线问题

一、遇到问题 Android Studio使用手机运行项目时,总是频繁掉线,连接很不稳定,动不动就消失,基本上无法使用 二、问题出现原因 1、硬件问题:数据线 换条数据线试试,如果可以,那就是数据线的…

15年408-数据结构

第一题 解析: 栈第一次应该存main的信息。 然后进入到main里面,要输出S(1),将S(1)存入栈内, 进入到S(1)中,1>0,所以还要调用S(0) S(0)进入栈中,此时栈内从下至上依次是main(),S(1),S(0) 答案选A 第二题&…

昇腾AI异构计算架构CANN——高效使能AI原生创新

异构计算与人工智能的关系是什么?昇腾AI异构计算架构CANN是什么?有哪些主要特点?开发者如何利用CANN的原生能力进行大模型创新,构筑差异化竞争力?带着这些问题,我们来认识昇腾AI异构计算架构——CANN。 1 …

随机验证码验证【JavaScript】

这段 JavaScript 代码实现了随机验证码的生成和验证功能。 实现效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-…

Vue3教程 - 2 开发环境搭建

更好的阅读体验&#xff1a;点这里 &#xff08; www.foooor.com &#xff09; 2 开发环境搭建 要进行 Vue 开发&#xff0c;需要安装 Node.js&#xff0c;因为构建 Vue 项目的工具&#xff0c;例如 Webpack、Vite等&#xff0c;这些工具依赖于Node.js环境来运行。 Node.js…

OpenAI GPT-3 API: What is the difference between davinci and text-davinci-003?

题意&#xff1a;OpenAI GPT-3 API&#xff1a;davinci 和 text-davinci-003 有什么区别 问题背景&#xff1a; Im testing the different models for OpenAI, and I noticed that not all of them are developed or trained enough to give a reliable response. 我正在测试…

玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练

玩手机数据集 8201张玩手机的照片&#xff0c;有对应的xml和txt文件&#xff0c;可以用于yolo训练 玩手机数据集&#xff08;Phone Usage Detection Dataset&#xff09; 数据集概述 该数据集专为检测人们使用手机的行为设计&#xff0c;旨在帮助研究人员和工程师开发高效的…

Sentinel-1 数据处理时如何手动下载高程数据

在Sentinel-1 数据数据预处理时&#xff0c;会使用高程数据进行地形校正。但选择自动下载高程时&#xff0c;由于网络原因经常会卡死&#xff0c;造成预处理过程不能正常进行&#xff01; 这个问题经过我的反复实践&#xff0c;可以通过手动下载高程数据来解决。下面是具体方法…