docker容器搭建chatglm2-6b

服务器环境:

显卡驱动:Driver Version: 530.30.02

CUDA版本:CUDA Version: 12.1

显卡:NVIDIA GeForce RTX 3090共4张

注意:最好把显卡驱动升级到530,CUDA版本之前使用11.7有问题。

docker-compose.yml内容如下:

version: "3.2"
services:chatglm2-6b:container_name: chatglm2-6benvironment:TZ: Asia/Shanghaiimage: woshikid/chatglm2-6b:int4ports:- "8001:8000"command:["/bin/sh","-c","python openai_api.py",]restart: alwaysshm_size: "8g"networks:- generaldeploy:resources:reservations:devices:- device_ids: ['2','3']capabilities: ["gpu"]driver: "nvidia"
networks:general:external: true

使用的镜像说明地址为:

Docker Hubicon-default.png?t=N7T8https://hub.docker.com/r/woshikid/chatglm2-6b

用的是int4量化模型,实际对话过程中发现并没有使用显卡!

进入容器,修改openai_api.py文件,修改末尾的代码,将代码:

if __name__ == "__main__":tokenizer = AutoTokenizer.from_pretrained("/chatglm2-6b-int4", trust_remote_code=True)model = AutoModel.from_pretrained("/chatglm2-6b-int4", trust_remote_code=True).float()# 多显卡支持,使用下面两行代替上面一行,将num_gpus改为你实际的显卡数量#from utils import load_model_on_gpus#model = load_model_on_gpus("/chatglm2-6b-int4", num_gpus=2)model.eval()

 改为:

if __name__ == "__main__":tokenizer = AutoTokenizer.from_pretrained("/chatglm2-6b-int4", trust_remote_code=True)#model = AutoModel.from_pretrained("/chatglm2-6b-int4", trust_remote_code=True).float()# 多显卡支持,使用下面两行代替上面一行,将num_gpus改为你实际的显卡数量from utils import load_model_on_gpusmodel = load_model_on_gpus("/chatglm2-6b-int4", num_gpus=2)model.eval()

运行时出现错误,RuntimeError: Library cudart is not initialized。

这是因为CUDA库文件损坏或者没安装导致的,这是最大的坑,执行下面代码安装:

apt update
apt install nvidia-cuda-toolkit

默认安装了cuda11.8版本,所以宿主的CUDA版本一定要>=cuda11.8,否则安装后仍然提示错误:RuntimeError: Unexpected error from cudaGetDeviceCou。

把chatglm2-6b接入到fastgpt,秒级反应,效果不错。

参考:

LLM探索:环境搭建与模型本地部署-CSDN博客 

ChatGLM-6B-int4模型部署_本地部署chatglm-6b-int4模型-CSDN博客 

[BUG/Help] 加载模型时遇到 RuntimeError: Library cuda is not initialized 问题 · Issue #839 · THUDM/ChatGLM-6B (github.com)

[BUG/Help] <title> RuntimeError: Library cudart is not initialized · Issue #115 · THUDM/ChatGLM-6B (github.com) 

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

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

相关文章

运动学与动力学基础知识导读

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、运动学基础--坐标转换&#xff08;1&#xff09;Eigen的使用及常用的位姿变换实现&#xff08;2&#xff09;小车底盘运动…

“生成元”问题——穷举生成“查找表”

【题目描述】 如果x加上x的各个数字之和得到y&#xff0c;就说x是y的生成元。给出n&#xff08;1≤n≤100000&#xff09;&#xff0c;求最小生成元。无解输出0。例如&#xff0c;n216&#xff0c;121&#xff0c;2005时的解分别为198&#xff0c;0&#xff0c;1979。 【题目…

【运维基础一】 Linux Centos 常用命令

CentOS&#xff08;Community ENTerprise Operating System&#xff09;是一个基于Red Hat Enterprise Linux源代码构建的开源企业级Linux发行版。在CentOS系统中&#xff0c;有很多常用的命令可以帮助用户进行系统管理、文件操作、网络配置等任务。以下是一些CentOS中常用的命…

Java程序员必须掌握的数据结构:HashMap

HashMap底层原理实现是每个Java Boy必须掌握的基本技能&#xff0c;HashMap也是业务开发每天都需要遇到的好伙伴。如此基础且核心的底层数据结构&#xff0c;JDK也给其赋予了线程安全的功能类&#xff0c;我们来看看~ 文章目录 1. HashMap内部结构1.1 键值的添加流程1.2 红黑树…

蚂蚁 2025届暑期实习 多模态LLM 面经

文章目录 写在前面一面/技术面 2024/4/7 晚上19:00-20:00二面/技术面 2024/4/23 早上11:15-12:15三面/HR面 2024/4/25 11:00-11:50 写在前面 学校情况&#xff1a;211本中9硕&#xff0c;本硕都是计算机科班&#xff0c;但研究方向并不是NLP&#xff0c;而是图表示学习论文情况…

垃圾分类子项目-识别垃圾类型

思路: 阿里云图像识别 语音模块实现 主程序: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> // access() #include <error.h> // remove() #include "uartTool.h" #include "garbage.h&qu…

DFS和回溯专题:全排列 II

DFS和回溯专题&#xff1a;全排列 II 题目链接: 全排列 II 参考题解 代码随想录 题目描述 代码纯享版 class Solution {public List<List<Integer>> list_all new ArrayList();public List<Integer> list new ArrayList();public int[] res;public Lis…

【笔试训练】day11

1.游游的水果大礼包 思路&#xff1a; 枚举。假设最后的答案是x个a礼包&#xff0c;y个b礼包&#xff0c;得到一个式子&#xff1a;ansa*xb*y 我们可以枚举x的数量&#xff0c;这样就能变相的把y的求出来。呃这就是鸡兔同笼问题嘛 x最大的范围是多少呢&#xff1f;也就是a礼…

常见Linux操作系统SSH配置详解

SSH&#xff08;Secure Shell&#xff09;是一种网络协议&#xff0c;用于加密方式远程登录和操作计算机系统。Linux用户经常需要通过SSH来安全地管理系统。本文将详细介绍在不同Linux发行版&#xff08;CentOS、Ubuntu、RedHat、Debian、Fedora&#xff09;上配置SSH服务的步骤…

竞赛报名赛事管理系统技术分析

竞赛报名赛事管理系统是一个复杂的应用&#xff0c;涉及到用户管理、赛事信息管理、报名管理、成绩管理等多个方面。使用PHP框架来开发这样的系统&#xff0c;可以大大提高开发效率&#xff0c;保证代码的可维护性和可扩展性。以下是对基于PHP框架的竞赛报名赛事管理系统进行功…

vue3第二十四节(JSX用法)

vite 创建项目的情况下 安装 npm i vitejs/plugin-vue-jsx -D配置vite.config.js import { defineConfig } from vite import vue from vitejs/plugin-vue import vueJsx from vitejs/plugin-vue-jsx // https://vitejs.dev/config/ export default defineConfig({plugins: […

网络编程——TCP的特性之自动重传/流量控制/拥塞控制,一篇说清楚

文章目录 1. ARQ自动重传协议1.1 停止等待ARQ1.2 连续ARQ1.3 总结 2. TCP的流量控制3. TCP的拥塞控制3.1 慢开始算法3.2 拥塞避免算法3.3 快重传算法3.4 快恢复算法 1. ARQ自动重传协议 自动重传请求&#xff08;Automatic Repeat-reQuest&#xff09;&#xff0c;通过使用确认…

前端获取文件后缀名

function getFileExtension(filename) {var parts filename.split(.);if (parts.length > 1) {return parts.pop();} else {return ;} }// 使用例子 var filename "example.png"; var extension getFileExtension(filename); console.log(extension); // 输出:…

免费的在线视频编辑工具,mp4转gif工具

在线视频编辑&#xff1a;https://online-video-cutter.com/change-video-speed&#xff0c;可以加速视频。 mp4转gif&#xff1a;MP4轉GIF轉換器。在线自由 — Convertio MP4 To GIF | Convert MP4 To GIF Images Online - XConvert

flex:1给了我工作机会

今天就跟大家讲讲flex&#xff1a;1是什么的缩写&#xff0c;怎么去理解这个样式。 首先要知道flex:1就是 flex-grow: 1; flex-shrink: 1; flex-basis: 0;的缩写&#xff0c;首页要理解它们的作用&#xff0c;先看dom解构 <div class"parent"><div class&q…

vivado Versal 串行 I/O 硬件调试流程、使用 Vivado Serial I/O Analyzer 来调试设计

Versal 串行 I/O 硬件调试流程 Versal ™ ACAP 无需再生成 IBERT IP &#xff0c; 因为使用系统内串行 I/O 调试所需的必要逻辑现已集成到 GTY 收发器架构内。使 用 GTY 收发器的任何设计均可用于串行 I/O 硬件调试。 Versal 串行 I/O 硬件调试流程具有 2 个不同阶…

lesson04:类和对象(下)

1. 再谈构造函数 2.static成员 3.友元 4.内部类 5.匿名对象 1. 再谈构造函数 1.1构造函数体内赋值 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Date { public:Date(int year, int month, int day){_year year;_month mont…

Oceanbase体验之(二)Oceanbase集群的搭建(社区版4.2.2)

资源规划 3台observer CPU:4C及以上 内存&#xff1a;32G及以上 硬盘操作系统500G 存储盘1T及以上 虚拟机可以直接划分&#xff0c;物理机需要提前规划好资源 一、上传oceanbase安装包 登录ocp选择软件包管理 上传Oceanbase软件包&#xff08;软件包获取路径 官网免费下载社…

动态规划和递归法求解斐波那契数列

动态规划是把复杂问题分解为相对简单的子问题来求解,动态规划旨在解决具有重叠子问题和最优子结构特性的问题,它的核心思想是解决每个子问题仅能一次,并存储其解,以便需要时直接查找,从而避免重复计算 基本概念: 1.重叠子问题: 问题可以分解为多个子问题,且这些子问题有些会被多…

【量化】基于遗传规划的因子自动挖掘系统

最后&#xff1a;策略达到了23.6%的年化收益&#xff0c;夏普比率达到5.87&#xff0c;最大回撤为-4.3%&#xff0c;平局年换手率为27.45 倍&#xff0c;平均持股数量为543 支。 文末有回测结果。 目录 1.模型思想 1.1遗传规划算法介绍 ​1.2因子测试流程 2.代码与实现 2.1…