11.4k star! 部署清华开源的ChatGLM3,用私有化大模型无缝替换openai

转自AI技术实战

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的第三代开源模型,对话流畅、部署门槛低,测评显示其基础模型ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能,同时支持工具调用(Function Call)、代码执行(Code Interpreter)和Agent任务等复杂场景。

function call效果:

code interpreter效果:

github地址在文末,推理需要大约14G显存,本文基于ubuntu系统部署,windows系统类似。

1. 下载模型

下载模型需要用到git的LFS扩展,windows系统在https://git-lfs.com下载LFS,下面是ubuntu系统安装LFS的方式,其他linux系统可以参考文档https://github.com/git-lfs/git-lfs/blob/main/INSTALLING.md

复制代码
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
apt-get install git-lfs
git lfs install

安装好LFS后就可以下载了,huggingface比较慢,可以在魔搭社区下载

https://modelscope.cn/models/ZhipuAI/chatglm3-6b/summary

执行以下命令,等待下载完成,总共24G。

复制代码
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

2.安装部署

本文介绍两种部署方式,一种是使用上一篇介绍的25.7k star! 用langchain-chatchat部署私有化RAG知识库,另一种是使用ChatGLM官方项目部署。

2.1 在langchain-chatchat中使用

在上一篇文章中,我们使用docker部署了langchain-chatchat,但是默认模型是chatglm2-6b,现在只需要将模型修改为chatglm3-6b就可以了,将下载好的chatglm3-6b拷贝到docker容器的根目录下:

复制代码
docker cp chatglm3-6b 你的容器名称:/

chatchat在容器的/langchain-chatchat目录,进入容器,再进入configs目录:

复制代码
docker exec -it 你的容器名称 /bin/bashcd /langchain-chatchat/configs

编辑model_config.py文件,在llm_model中增加chatglm3-6b,如图所示:

将LLM_MODELS中的chatglm2-6b修改为chatglm3-6b,如图所示:

修改后重启容器,再打开,这里就变成chatglm3-6b了。

2.2 使用ChatGLM官方项目部署

如果没有部署chatchat,也可以使用ChatGLM官方项目部署。

使用git下载ChatGLM源码

复制代码
git clone git@github.com:THUDM/ChatGLM3.git

进入ChatGLM3源码目录,使用清华镜像安装依赖:

复制代码
cd ChatGLM3-mainpip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

3. 运行

如果使用chatchat项目部署,直接在页面上选择chatglm3-6b就可以聊天了。下面是使用ChatGLM3项目部署的用法。

ChatGLM3项目提供了多个demo,进入相应demo目录下,修改模型路径运行就可以,下面以gradio网页demo举例说明,其他同理。

进入basic_demo目录

复制代码
cd basic_demo

修改web_demo_gradio.py,将MODEL_PATH的值改为第一步下载好的模型路径:

运行

复制代码
python3 web_demo_gradio.py

在浏览器打开http://localhost:7870就可以聊天了

4. 无缝替换openAI

ChatGLM提供了openai标准的API,通过这个API我们可以将任何接入openai的应用无缝切换为私有化部署的ChatGLM3。

复制代码
cd openai_api_demo

修改api_server.py,将MODEL_PATH的值改为第一步下载好的模型路径:

后台运行:

复制代码
nohup python3 api_server.py &

这样就启动了openai接口的服务,可以把私有化部署的ChatGLM3当openai用了,比如之前文章中247.2k star! 超强大的私有化ChatGPT,支持图像识别/文生图/语音输入/文本朗读,个人电脑可运行!有接入openai的功能,现在我们可以把配置的openai的地址改为本地,从而将open-webui接入ChatGLM3:

其他像各种基于openai的插件、应用等,只要可以配置url,都可以无缝切换为ChatGLM3。

github地址

https://github.com/THUDM/ChatGLM3

相关推荐
这儿有一堆花几秒前
将 AI 深度集成到开发环境:Gemini CLI 实用指南
人工智能·ai·ai编程
zhaodiandiandian1 分钟前
从多模态到AI Agent,技术突破引领智能时代新变革
人工智能
l3538o675735 分钟前
国产POE降压恒压芯片方案选型:48v-52v输入转5v-12v/1-3A电源芯片
人工智能·科技·单片机·嵌入式硬件·电脑·智能家居
迪菲赫尔曼12 分钟前
YAML2ModelGraph【v1.0】:一键生成 Ultralytics 模型结构图
人工智能·yolo·目标检测·yolov5·yolov8·yolo11·结构图
道199314 分钟前
树莓派vsRK3588 对比及无人车集成方案(RTK / 激光雷达 / 云卓 H16)
人工智能
会挠头但不秃15 分钟前
深度学习(5)循环神经网络
人工智能·rnn·深度学习
乐迪信息16 分钟前
乐迪信息:AI摄像机识别煤矿出入井车辆数量异常检测
大数据·运维·人工智能·物联网·安全
_OP_CHEN18 分钟前
用极狐 CodeRider-Kilo 开发俄罗斯方块:AI 辅助编程的沉浸式体验
人工智能·vscode·python·ai编程·ai编程插件·coderider-kilo
布茹 ei ai18 分钟前
QtWeatherApp - 简单天气预报软件(C++ Qt6)(附源码)
开发语言·c++·qt·开源·开源项目·天气预报
代码洲学长19 分钟前
卷积神经网络CNN
人工智能·神经网络·cnn