Home

Awesome

💡Creative ChatGLM WebUI

👋 欢迎来到 ChatGLM 创意世界!你可以使用修订和续写的功能来生成创意内容!

环境配置

离线包

此安装方法适合:

名称大小百度网盘备注
小显存离线包5.3 GB点击下载chatglm2-6b-int4 离线包,显存需求 8GB
大显存离线包11.5 GB点击下载chatglm3-6b 离线包,显存需求 16GB
长文本离线包11.5 GB点击下载chatglm3-6b-128k 离线包,显存需求 16GB
GLM4 离线包16.98GB点击下载GLM-4-9B 离线包,INT4 加载,显存需求 10GB
环境离线包2.6 GB点击下载不带权重的环境包,启动之后自动下载 chatglm2-6b-int4 权重。

除了这些一键环境包之外,你还可以在下面下载更多模型的权重。

下载好环境包之后,解压,然后运行 start_offline.bat 脚本,即可启动服务:

Snipaste_2024-04-07_16-14-54

如果你想使用 API 的形式来调用,可以运行 start_offline_api.bat 启动 API 服务:

Snipaste_2024-04-07_16-16-01

虚拟环境

此安装方法适合已经安装了 Python,但是希望环境与系统已安装的 Python 环境隔离的用户。

<details><summary>点击查看详细步骤</summary>

首先启动 setup_venv.bat 脚本,安装环境:

image

然后使用 start_venv.bat 脚本启动服务:

image

</details>

Python 开发环境

此项配置方法适合代码开发人员,使用的是自己系统里安装的 Python。

环境配置参考官方链接:https://github.com/THUDM/ChatGLM-6B

配置好之后,运行 app.py 开始使用,或者使用 IDE 开始开发。

用法介绍

续写

原始对话

如果你直接问 ChatGLM:“你几岁了?”

它只会回答:“作为一个人工智能语言模型,我没有年龄,我只是一个正在不断学习和进化的程序。”

<img width="388" alt="image" src="https://user-images.githubusercontent.com/10473170/227778266-e7f2b55a-59de-4eee-bfa2-f28f911ec018.png">

续写对话

而如果你给它起个头:“我今年”

它就会回答:“我今年21岁。”

<img width="388" alt="image" src="https://user-images.githubusercontent.com/10473170/227778334-d459ad8d-7c16-466d-851c-5af174216773.png">

使用视频

ChatGLM2

修订

原始对话

如果你直接跟 ChatGLM 说:“你是谁?”

它会回答:“我是一个名为 ChatGLM-6B 的人工智能助手,是基于清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型开发的。我的任务是针对用户的问题和要求提供适当的答复和支持。”

你再问它:“你几岁了?”

它只会说:“作为一个人工智能助手,我没有年龄,因为我只是一个程序,没有实际的肉体或生命。我只是一个在计算机上运行的程序,专门设计为回答用户的问题和提供相关的帮助。”

image

修改对话

你可以改变它的角色,比如你通过“修订”功能,将它的回复改成:“我是杨开心。”

然后你再问它:“你几岁了?”

它就会回答:“我今年15岁。”

image

使用视频

未命名项目

重新对话

你可以按照某个输入,重复生成对话,从而拿到满意的结果。

使用视频

20u5z-svohg

实现原理

这个方法并没有训练,没有修改官方发布的权重,而只是对推理的函数做了修改。

续写的原理是,将用户的输入直接设置为 history[-1][1],模拟模型自己的部分输出,然后继续走之后的推理函数 stream_chat_continue code

修订的原理是,将用户的输入直接设置为 history[-1][1],模拟模型自己的完整输出,但是不走推理函数。

离线包制作方法

关于本项目中的离线包制作方法,可以查看下面的详细步骤。

<details><summary>点击查看详细步骤</summary>

准备 Python

首先去 Python 官网下载:https://www.python.org/downloads/

image

注意要下载 Windows embeddable package (64-bit) 离线包,我选择的是 python-3.10.10-embed-amd64.zip

image

解压到 ./system/python 目录下。

image

准备 get-pip.py

去官网下载:https://bootstrap.pypa.io/get-pip.py

保存到 ./system/python 目录下。

⚠️必做

解压之后,记得删除 pth 文件,以解决安装依赖的问题。

比如我删除的文件路径是 ./system/python/python310._pth

image

安装依赖

运行 setup_offline.bat 脚本,安装依赖。

image

下载离线模型

你可以使用 download_model.py 脚本下载模型,如果你的网络环境不好,这个过程可能会很长。下载的模型会存在 ~/.cache 一份,存在 ./models 一份。

当你之后使用 AutoModel.from_pretrained 加载模型时,可以从 ~/.cache 缓存目录加载模型,避免二次下载。

image

下载好的模型,你需要从 ./models 文件夹移出到项目目录下,这样就可以离线加载了。

image

下载完模型之后,你需要修改 app.py 里的 model_name,改成你想加载的模型名称。

测试

使用 start_offline.bat 启动服务:

image

可以看到,服务正常启动。

</details>

协议

本仓库的代码依照 Apache-2.0 协议开源,ChatGLM-6B 模型的权重的使用则需要遵循 Model License