当前位置: 首页 > news >正文

【Linux】ChatGLM-4-9B模型之All Tools

一、摘要

最近在研究GLM4模型,发现自带的All Tools比较感兴趣,它具有完整工具调用能力的对话模式,原生支持网页浏览、代码执行、图表生成、图片生成,并支持自定义工具。它能够满足大模型私有化部署的个性定制,因此记录在Linux环境下搭建GLM4的All Tools的网页版。

二、硬件环境

服务器环境:Linux

操作系统:ubuntu 22.04

架构:x86_64

实例规格:GPU A10 24G显存

三、GLM4模型和源代码

1. 拉取源代码

源代码Github地址:https://github.com/THUDM/GLM-4/tree/main

git clone https://github.com/THUDM/GLM-4.git

2. 下载GLM4模型

说明:如果硬件环境配置充足,可以选择下载GLM4的其他更强版。

抱脸:GLM4模型地址:https://huggingface.co/THUDM/glm-4-9b/tree/main

(1)手动下载

如果不能直接通过服务器上下载,可以通过windows上挂载代理软件访问抱脸地址:https://huggingface.co/THUDM/glm-4-9b/tree/main 把Files and versions 下文件全部下载,模型下载时间比较长,耐心等待。下载完成上传服务器,再在模型源码目录新建一个目录用于存放模型。

(2)命令下载

魔塔社区:GLM4模型地址:glm-4-9b · 模型库

通过git下载 ,耐心等待下载。

git lfs installgit clone https://www.modelscope.cn/ZhipuAI/glm-4-9b.git

 四、部署GLM4适配All Tools

1. 安装Anaconda软件

注意:Anaconda无版本要求,主要和Linux的架构保持一致。

可参考博客:Linux环境安装Anaconda(详细图文)_linux安装anaconda-CSDN博客

2. 创建GLM4需要的python环境并激活

# 切换到下载好的GLM4的源码目录
cd /data/GLM-4/composite_demo
# 创建独立python环境
conda create -n glm-4-demo python=3.12
# 激活环境
conda activate glm-4-demo
# 下载依赖
pip install -r requirements.txt

3. 安装Jupyter 内核(可选)

使用 Code Interpreter (代码解释器)还需要安装 Jupyter 内核,建议安装,可以实现代码画图。

ipython kernel install --name glm-4-demo --user

4. 安装Node.js和PNPM(可选)

若要使用浏览器和搜索功能,还需要启动浏览器后端。

(1)根据 Node.js 官网的指示安装 Node.js

# installs fnm (Fast Node Manager)
curl -fsSL https://fnm.vercel.app/install | bash# activate fnm
source ~/.bashrc# download and install Node.js
fnm use --install-if-missing 22# verifies the right Node.js version is in the environment
node -v # should print `v22.12.0`# verifies the right npm version is in the environment
npm -v # should print `10.9.0`

如果报错:访问地址 fnm.vercel.app 超时。

解决方案:在windows上访问:https://fnm.vercel.app/install 手动下载fnm的安装脚本并上传到服务器。

(2)安装包管理器 PNPM 之后安装浏览器服务的依赖:

cd browser
npm install -g pnpm
pnpm install

在执行命令:pnpm install 时报错连接超时。

解决方案:设置npm为国内能够访问的镜像,再重新运行命令即可解决。

# 设置为淘宝的镜像npm config set registry http://registry.npmmirror.com
```bash
淘宝镜像:http://registry.npmmirror.com
阿里云镜像:https://npm.aliyun.com
腾讯云镜像:https://mirrors.cloud.tencent.com/npm/
华为镜像:https://mirrors.huaweicloud.com/repository/npm/
设置完成之后,重新执行npm即可
# 查看npm镜像地址
npm config get registry

五、运行

1. 使用浏览器的搜索功能(可选)

修改 browser/src/config.ts 中的 BING_SEARCH_API_KEY 配置浏览器服务需要使用的 Bing 搜索 API Key:

export default {BROWSER_TIMEOUT: 10000,BING_SEARCH_API_URL: 'https://api.bing.microsoft.com/v7.0',BING_SEARCH_API_KEY: '<PUT_YOUR_BING_SEARCH_KEY_HERE>',HOST: 'localhost',PORT: 3000,
};

如果注册的是Bing Customer Search的API,可以修改配置文件为如下,并且填写Custom Configuration ID:

export default {LOG_LEVEL: 'debug',BROWSER_TIMEOUT: 10000,BING_SEARCH_API_URL: 'https://api.bing.microsoft.com/v7.0/custom/',BING_SEARCH_API_KEY: 'YOUR_BING_SEARCH_API_KEY',CUSTOM_CONFIG_ID :  'YOUR_CUSTOM_CONFIG_ID', //将您的Custom Configuration ID放在此处HOST: 'localhost',PORT: 3000,
};

说明:在使用微软的搜索 Bing 引擎,需要绑定信用卡,并且有次数限制。

2. 启动浏览器后端,在单独的 shell 中:(可选)

说明:如果你选择使用了浏览器的搜索,则这一步是必须的。

cd browser
pnpm start

3. 运行以下命令在本地加载模型并启动 demo

注意:先修改加载的模型路径。我这里重新下载了一个模型。

streamlit run src/main.py

启动成功,注意要在公网访问记得开通端口。

4. 成果展示

选择All Tools调用模型自带的天气查询工具。

六、遇到的问题

报错1:ModuleNotFoundError: No module named 'torch'

解决方法:conda install pytorch torchvision torchaudio -c pytorch

报错2:ModuleNotFoundError: No module named 'transformers'

解决方法:pip install transformers

报错3:ImportError: This modeling file requires the following packages that were not found in your environment: tiktoken. Run `pip install tiktoken`

解决方法:pip install tiktoken 

报错4:ImportError: Using `low_cpu_mem_usage=True` or a `device_map` requires Accelerate: `pip install 'accelerate>=0.26.0'`

解决方法:pip install 'accelerate>=0.26.0'
 


http://www.mrgr.cn/news/81390.html

相关文章:

  • 客户案例 | Ansys利用NVIDIA AI推动人工智能赋能的半导体设计取得重大发展
  • 迈向未来:.NET技术的持续创新与发展前景
  • 联想 P368-C3 thinkstation服务器介绍
  • vue-axios+springboot实现文件流下载
  • 解决 正在下载VS Code 服务器... 问题
  • 台球助教平台系统开发APP和小程序信息收藏功能需求解析(第十二章)
  • 【目标跟踪综述及关键技术】
  • 重温设计模式--2、设计模式七大原则
  • 人工智能ACA(六)--计算机视觉基础
  • js版本之ES6特性简述【Proxy、Reflect、Iterator、Generator】(五)
  • 时钟芯片入门指南:从原理到实践
  • 消息队列(一)消息队列的工作流程
  • 【老白学 Java】HashMap 的基本使用
  • 项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”;每个机台各个管道的数据(温度、压力、气体)
  • 【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割
  • postman http请求正常,使用前端代理服务器报403
  • 使用Qwen2-VL模型批量标注图像内容(图像理解)
  • YOLOv11模型改进-模块-引入多尺度大核注意力Multi-scale Large Kernel Attention
  • 【阅读记录-章节6】Build a Large Language Model (From Scratch)
  • 机器学习2-NumPy
  • 使用RabbitMQ
  • ABAP开发-权限控制
  • I.MX6U 启动方式详解
  • 解读1:TwinLiteNet论文中基础模块及其他相关模块总结
  • Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
  • 基于ceres优化的3d激光雷达开源算法