GLM-4-9B-Chat-1M 模型在 openEuler 系统上的完整部署文档

发布时间:2026/10/30 4:51:27

GLM-4-9B-Chat-1M 模型在 openEuler 系统上的完整部署文档 博主简介CSDN博客专家「历代文学网」PC端可以访问https://lidaiwenxue.com/#/?__c1000总架构师首席架构师也是联合创始人16年工作经验精通Java编程高并发设计分布式系统架构设计Springboot和微服务熟悉LinuxESXI虚拟化以及云原生Docker和K8s热衷于探索科技的边界并将理论知识转化为实际应用。保持对新技术的好奇心乐于分享所学希望通过我的实践经历和见解启发他人的创新思维。在这里我希望能与志同道合的朋友交流探讨共同进步一起在技术的世界里不断学习成长。商务合作请搜索或扫码关注微信公众号 “心海云图”GLM-4-9B-Chat-1M 模型在 openEuler 系统上的完整部署文档文档说明本文档记录了在华为 openEuler操作系统上使用llama.cpp框架纯 CPU 推理部署GLM-4-9B-Chat-1M模型的完整流程。部署环境操作系统华为 openEuler最新版本CPU48 核心内存112 GB虚拟机分配磁盘320 GB/data 目录GPU无纯 CPU 推理目录环境准备下载 GGUF 模型文件编译 llama.cpp启动 API 服务验证服务后台运行配置Java 程序调用示例常见问题排查1. 环境准备1.1 更新系统并安装基础依赖# 更新系统包sudoyum update-y# 安装编译工具链和依赖sudoyum groupinstall-yDevelopment Toolssudoyuminstall-ycmakegitpython3 python3-pip gcc gcc-c1.2 创建工作目录所有文件统一存放在/data目录下mkdir-p/data/modelsmkdir-p/data/llama.cppcd/data1.3 安装 Python 依赖pip3installhuggingface-hub注意如果出现WARNING: Running pip as the root user警告可以忽略不影响使用。huggingface-cli已被弃用后续使用hf命令替代。2. 下载 GGUF 模型文件2.1 配置国内镜像源解决网络问题由于 Hugging Face 服务器在海外下载可能超时需配置国内镜像源# 临时使用推荐exportHF_ENDPOINThttps://hf-mirror.com# 永久生效可选echoexport HF_ENDPOINThttps://hf-mirror.com~/.bashrcsource~/.bashrc2.2 下载模型进入模型目录并下载Q5_K_M量化版本约 6.8GBcd/data/models hf download bartowski/glm-4-9b-chat-1m-GGUF\--includeglm-4-9b-chat-1m-Q5_K_M.gguf\--local-dir ./2.3 验证下载ls-lh/data/models/glm-4-9b-chat-1m-Q5_K_M.gguf预期输出-rw-r--r--. 1 root root 6.8G 7月11日 16:04 /data/models/glm-4-9b-chat-1m-Q5_K_M.gguf说明Q5_K_M是量化级别在精度和性能间取得良好平衡。如果内存充裕可改用Q6_K或Q8_0版本。3. 编译 llama.cpp3.1 克隆代码仓库cd/datagitclone https://github.com/ggerganov/llama.cppcdllama.cpp如果git clone速度慢或失败可使用代理gitclone https://gitclone.com/github.com/ggerganov/llama.cpp.git3.2 使用 CMake 编译llama.cpp已弃用传统make改用 CMake# 配置 CMake 构建系统cmake-Bbuild-DCMAKE_BUILD_TYPERelease# 编译利用48核并行加速cmake--buildbuild--configRelease-j483.3 验证编译结果ls-la/data/llama.cpp/build/bin/|grepllama-server预期输出应包含llama-server可执行文件。重要可执行文件名为llama-server而非server。4. 启动 API 服务4.1 前台启动测试用cd/data/llama.cpp ./build/bin/llama-server-m/data/models/glm-4-9b-chat-1m-Q5_K_M.gguf\-t32\-c0\--host0.0.0.0参数说明参数说明-m模型文件路径-t 32推理线程数建议设为物理核心数的 60%~75%-c 0不限制上下文长度支持 1M--host 0.0.0.0允许外部 IP 访问启动成功后看到HTTP server listening on http://0.0.0.0:8080即表示服务就绪。4.2 后台启动生产环境前台启动无法退出终端需使用nohup后台运行nohup/data/llama.cpp/build/bin/llama-server\-m/data/models/glm-4-9b-chat-1m-Q5_K_M.gguf\-t32\-c0\--host0.0.0.0\/data/llama.log21说明nohup忽略挂断信号终端关闭不影响进程 /data/llama.log 21将标准输出和错误输出重定向到日志文件放到后台执行5. 验证服务5.1 检查健康状态curlhttp://localhost:8080/health预期返回ok5.2 测试聊天接口curlhttp://localhost:8080/v1/chat/completions\-HContent-Type: application/json\-d{ model: glm-4-9b-chat-1m, messages: [{role: user, content: 你好请用一句话介绍自己}] }预期返回 JSON 格式的模型回复。5.3 查看实时日志tail-f/data/llama.log按Ctrl C退出日志查看不影响服务运行。6. 后台运行配置6.1 使用 systemd 服务推荐支持开机自启创建服务文件sudovi/etc/systemd/system/glm-server.service写入以下内容[Unit] DescriptionGLM-4-9B-Chat-1M API Server Afternetwork.target [Service] Typesimple WorkingDirectory/data/llama.cpp ExecStart/data/llama.cpp/build/bin/llama-server -m /data/models/glm-4-9b-chat-1m-Q5_K_M.gguf -t 32 -c 0 --host 0.0.0.0 Restartalways RestartSec10 Userroot [Install] WantedBymulti-user.target启动并设置开机自启sudosystemctl daemon-reloadsudosystemctl start glm-serversudosystemctlenableglm-server管理命令sudosystemctl status glm-server# 查看状态sudosystemctl stop glm-server# 停止服务sudosystemctl restart glm-server# 重启服务sudojournalctl-uglm-server-f# 查看实时日志6.2 使用 nohup备选# 启动nohup/data/llama.cpp/build/bin/llama-server-m/data/models/glm-4-9b-chat-1m-Q5_K_M.gguf-t32-c0--host0.0.0.0/data/llama.log21# 停止查找进程并杀掉psaux|grepllama-server|grep-vgrepkillPID7. Java 程序调用示例7.1 添加 Maven 依赖dependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp/artifactIdversion4.12.0/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.15.2/version/dependency7.2 Java 调用代码importokhttp3.*;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.node.ObjectNode;importjava.io.IOException;publicclassLlamaClient{// 服务地址根据实际情况修改 IP 和端口privatestaticfinalStringBASE_URLhttp://你的服务器IP:8080;privatestaticfinalStringAPI_URLBASE_URL/v1/chat/completions;privatefinalOkHttpClientclientnewOkHttpClient();privatefinalObjectMappermappernewObjectMapper();publicStringchat(StringuserMessage)throwsIOException{// 1. 构建请求体OpenAI 兼容格式ObjectNodemessageNodemapper.createObjectNode();messageNode.put(role,user);messageNode.put(content,userMessage);ObjectNoderequestBodymapper.createObjectNode();requestBody.put(model,glm-4-9b-chat-1m);requestBody.set(messages,mapper.createArrayNode().add(messageNode));requestBody.put(stream,false);// 2. 创建 HTTP 请求无需 API KeyRequestrequestnewRequest.Builder().url(API_URL).post(RequestBody.create(mapper.writeValueAsString(requestBody),MediaType.parse(application/json; charsetutf-8))).build();// 3. 执行请求try(Responseresponseclient.newCall(request).execute()){if(!response.isSuccessful()){thrownewIOException(请求失败: response.code());}returnresponse.body().string();}}publicstaticvoidmain(String[]args)throwsIOException{LlamaClientclientnewLlamaClient();Stringreplyclient.chat(请用中文简单介绍一下李白。);System.out.println(reply);}}7.3 重要说明无需 API Keyllama.cpp默认不启用身份验证直接调用即可如需启用 API Key启动服务时加--api-key your-secret-key参数服务地址中的 IP 需替换为实际服务器 IP8. 常见问题排查8.1 下载模型卡住/超时现象hf download命令长时间无响应报Connection timed out解决方案exportHF_ENDPOINThttps://hf-mirror.com hf download bartowski/glm-4-9b-chat-1m-GGUF--includeglm-4-9b-chat-1m-Q5_K_M.gguf--local-dir ./8.2 make: 没有指明目标并且找不到 makefile原因llama.cpp已改用 CMake 构建解决方案cmake-Bbuild-DCMAKE_BUILD_TYPERelease cmake--buildbuild--configRelease-j488.3 找不到 server 可执行文件原因可执行文件名为llama-server解决方案/data/llama.cpp/build/bin/llama-server# 正确路径8.4 端口被占用现象启动时报Address already in use解决方案# 查看占用 8080 端口的进程netstat-tlnp|grep8080# 杀掉占用进程或换用其他端口./build/bin/llama-server...--port80818.5 服务启动慢原因6.8GB 模型文件加载需要时间正常等待时间1030 秒取决于磁盘 I/O 速度8.6 性能调优参数建议值说明-t线程数2836设为物理核心数的 60%~75%内存预留100%在 ESXi 中预留全部 112GB 内存量化级别Q5_K_M平衡性好内存充裕可换 Q8_09. 快速命令参考操作命令启动服务前台/data/llama.cpp/build/bin/llama-server -m /data/models/glm-4-9b-chat-1m-Q5_K_M.gguf -t 32 -c 0 --host 0.0.0.0启动服务后台nohup ... /data/llama.log 21 查看日志tail -f /data/llama.log健康检查curl http://localhost:8080/health测试接口curl http://localhost:8080/v1/chat/completions -H Content-Type: application/json -d {model:glm-4-9b-chat-1m,messages:[{role:user,content:你好}]}systemd 启动sudo systemctl start glm-serversystemd 状态sudo systemctl status glm-server10. 参考资料官方模型仓库zai-org/glm-4-9b-chat-1mllama.cpp 项目ggerganov/llama.cppGGUF 模型下载bartowski/glm-4-9b-chat-1m-GGUF国内镜像源hf-mirror.com文档版本1.0创建日期2026年7月11日适用系统华为 openEuler最新版本
延伸阅读

更多相关文章

2026/10/30 4:50:31

AI创意生成技术解析:提示词工程与人类主导的创作流程

这次我们来探讨一个在AI领域持续引发讨论的话题:AI的创造力本质。很多人认为AI能够独立产生创意,但实际上,当前的AI系统更多是高效执行指令的工具。这篇文章将从技术角度分析AI创意生成的原理,并通过实际案例展示AI如何依赖人类输…

2026/10/25 5:37:01

如何快速掌握MatAnyone视频抠像工具:面向新手的完整教程

如何快速掌握MatAnyone视频抠像工具:面向新手的完整教程 【免费下载链接】MatAnyone [CVPR 2025] MatAnyone: Stable Video Matting with Consistent Memory Propagation 项目地址: https://gitcode.com/gh_mirrors/ma/MatAnyone MatAnyone是一个革命性的视频…

2026/10/30 4:51:07

如何用密码保护PPS文件?看这篇就够了

PPS文件最方便的地方,就是双击直接全屏播放,不需要手动点“幻灯片放映”。正因为这个特性,很多人会把定稿的演示文稿存成PPS发给客户或领导。如果你的PPS文件比较重要,也可以通过它的密码功能来保护文件。PPS的密码分为“打开密码…

2026/10/30 4:51:06

Scrapy-Redis分布式集群全改造:从单机脚本到10节点生产环境,踩完所有坑的实战总结

去年接手一个工业数据采集项目,百万级页面的采集任务,单机Scrapy跑满并发也要七天才能跑完一轮,中间但凡机器宕机、进程崩溃,进度直接清零重来。一开始想的是加配置、提并发,结果单机能压榨的性能到顶了,速度还是上不去,稳定性也差。 后来花了一周时间把整套架构改成Sc…

2026/10/30 4:51:06

烟火检测落地实战:YOLO处理监控视频流的小目标难题与全链路优化方案

去年给工业园区做智慧消防改造,要把园区200多路监控全部接入AI烟火智能检测,替代传统的烟感温感传感器。传统方案的痛点很明显:室内还好,室外开阔区、仓储堆场、林区根本覆盖不到,等传感器报警的时候火已经烧起来了,完全失去了早期预警的意义。 一开始团队图省事,直接拿…

2026/10/30 4:51:06

代理池搭建踩坑实录:从免费IP到住宅代理四层全实测,稳定性最大差12倍,别再乱花钱了

刚做工业数据采集那两年,在代理IP上踩的坑比代码bug还多。最开始图省钱,写了十几个爬虫天天扒免费代理网站,攒了几万条IP存进数据库,结果真跑任务的时候,一百个IP里能连上的不到十个,跑半小时就全军覆没,一天下来没抓到多少有效数据,服务器带宽倒浪费了不少。 后来咬咬…

2026/10/30 4:51:06

【电网杆塔】中国高精电网杆塔SHP矢量数据集(杆塔SHP)

全网最新!中国高精电网杆塔SHP矢量数据集(杆塔SHP) 本次于2026.10月整理的数据集基于OpenStreetMap开源地理数据提取,包含全国全部电力杆塔(铁塔tower+电线杆pole)SHP矢量,WGS84坐标系,可结合上周发布的电网线路数据做,直接在QGIS、ArcGIS中配套加载使用。 📦 数据…

2026/10/30 4:46:06

第九章 结构体、枚举类型和链表

第九章 结构体、枚举类型和链表1. 结构体1.1 项目引入-成绩系统第二次改版先把出事那版摊开。三个数组并排&#xff0c;加个班级字段之后长这样。#include <iostream> #include <string> using namespace std;int main() {string names[5] { "张三", &q…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介&#xff1a;这份PDF是全国计算机二级C语言考试的试题与答案解析&#xff0c;专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介&#xff1a;一份以实战为导向的Python爬虫入门资源&#xff0c;面向具备基本编程基础、希望快速掌握网络数据抓取的初学者&#xff0c;可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档&#xff0c;完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介&#xff1a;这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档&#xff0c;压缩包大小七十八KB&#xff0c;内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开&#xff1a;先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介&#xff1a;NCP1342 高频准谐振反激控制器应用介绍译文文档&#xff0c;面向电源设计工程师、硬件研发人员及开关电源学习者&#xff0c;帮助读者跨越英文原版资料的语言门槛&#xff0c;系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介&#xff1a;这份文档面向电源设计工程师与开关电源学习者&#xff0c;系统梳理NCP1342高频准谐振反激控制器的应用要点&#xff0c;帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中&#xff0c;自动登出功能早已成为标配。这个看似简单的功能背后&#xff0c;实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发&#xff0c;我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑