发布时间:2026/8/29 7:42:30
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/8/27 9:49:07

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

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

2026/8/25 6:31:03

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

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

2026/8/29 7:42:02

网络嗅探器的设计与实现:从libpcap抓包到协议解析完整指南

简介:在计算机网络中,数据包通过层层封装在网络中传输,理解其流动机制是流量分析的基础。网络嗅探器的核心原理是将网卡切换至混杂模式,使主机能够接收所有经过的数据帧,再借助BPF过滤器在内核层面高效筛选目标流量&am…

2026/8/29 7:42:02

Pohlig-Hellman算法:离散对数问题的脆弱性分析与安全规避

1. Pohlig-Hellman算法:离散对数难题的“阿喀琉斯之踵” 在密码学和数论的世界里,离散对数问题(DLP)一直扮演着“守门人”的角色。它构成了许多公钥密码系统(如经典的Diffie-Hellman密钥交换、ElGamal加密、DSA数字签名…

2026/8/29 7:42:02

基于CNN与IoT的智能果实采摘系统:从算法到工程落地全解析

简介:计算机视觉与物联网技术正深度融合,推动传统产业智能化转型。其核心原理在于通过传感器采集物理世界数据,利用深度学习模型进行智能分析,并通过网络实现数据与指令的互联互通。这一技术组合的价值在于将AI的感知决策能力与Io…

2026/8/29 7:42:02

基于LIS2DH12超低功耗MEMS加速度计的地下管网泄漏监测方案

今年在做地下管网渗漏监测方案时,我选了ST的LIS2DH12这颗MEMS加速度计,起因是想找一颗真正意义上“超低功耗、数字输出、体积小”的三轴传感器来做人手一台的低成本泄漏预判设备。踩了几轮坑后,越来越觉得这颗“nano”加速度计在特定场景里非…

2026/8/29 7:42:02

电脑供电真相:为什么CPU不用5V/3.3V直供?

1. 这不是“电脑电源输出多少伏”的简单问答,而是搞懂整套供电逻辑的实操起点很多人第一次拆开电脑主机,看到电源上密密麻麻的线标着12V、5V、3.3V、-12V、5VSB,第一反应是:“这么多电压,到底哪个才是给CPU用的&#x…

2026/8/29 7:37:02

C# WinForm 集成 PaddleOCR v3 ONNX 实战指南

简介:OCR(光学字符识别)是一种将图像中文字转换为可编辑文本的基础AI技术,其核心依赖于检测与识别双模型协同推理。PaddleOCR v3 作为国产高精度OCR框架,通过标准化ONNX格式输出,实现了跨平台、低依赖的模型…

2026/8/28 16:16:17

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 16:16:21

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 16:16:22

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/29 0:01:10

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:01:10

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:01:10

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…