> 请确保你有6GB以及以上显存的英伟达显卡或者CPU+32G以及以上的内存(不推荐CPU方式运行) > 笔者使用的是魔改的矿卡RTX2080TI22G,有较大的显存方便跑 --- --- ## 安装python 这里我使用的是 Python 3.9.13 版本。你可以选择[Windows installer (64-bit)](https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe)下载,并且它会自动配置环境变量。你可以在[Python Release Python 3.9.13 | Python.org](https://www.python.org/downloads/release/python-3913/)找到更多关于该版本的信息。 可以参考: [小白怎样给Windows电脑安装Python软件_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1Zv411Y7EK/?spm_id_from=333.337.search-card.all.click&vd_source=52b1b43b72a779e60509273373fde7d4) ## 安装git(可选) [Windows下Git安装_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1Rb4y1C7z1/?spm_id_from=333.337.search-card.all.click&vd_source=52b1b43b72a779e60509273373fde7d4) ## 下载程序文件 如果没有安装git 你可以从以下链接下载程序文件:[https://github.com/THUDM/ChatGLM2-6B/archive/refs/heads/main.zip](https://github.com/THUDM/ChatGLM2-6B/archive/refs/heads/main.zip)。下载完成后,请将其解压到一个文件夹中。 如果已安装git ```shell notranslate position-relative overflow-auto git clone https://github.com/THUDM/ChatGLM2-6B cd ChatGLM2-6B ``` 进入该文件夹,在 Windows 上右键点击打开命令行窗口,并使用以下命令使用 pip 安装依赖项: (如果右键菜单中没有打开命令行窗口选项,你可以按下 Win+R 键,然后输入 `cmd` 并按回车键,接着使用命令 `cd 当前文件夹目录` 进入该文件夹) ```shell pip install -r requirements.txt ``` ## 下载模型文件 ### 从本地加载模型 以上代码会由 `transformers` 自动下载模型实现和参数。完整的模型实现可以在 [Hugging Face Hub](https://huggingface.co/THUDM/chatglm2-6b) 上找到。如果你的网络环境较差,下载模型参数可能会花费较长时间甚至失败。在这种情况下,你可以先将模型下载到本地,然后从本地加载。 从 Hugging Face Hub 下载模型需要先[安装 Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage),然后运行以下命令: ```shell git clone https://huggingface.co/THUDM/chatglm2-6b ``` 如果你从 Hugging Face Hub 上下载 checkpoint 的速度较慢,你可以只下载模型实现: ```shell GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b ``` 然后从[这里](https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/)手动下载模型参数文件,并将下载的文件替换到本地的 `chatglm2-6b` 目录下。 ## 修改 Python 脚本内部的加载方式 打开 `web_demo.py` 文件,在第 5-6 行修改为你自己的模型路径: ```python tokenizer = AutoTokenizer.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True) model = AutoModel.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True).cuda() ``` 如果你没有 GPU 硬件,也可以在 CPU 上进行推理,但是推理速度会更慢。使用以下方法(需要大约 32GB 内存)将 `.cuda()` 改为 `.float()`: ```python tokenizer = AutoTokenizer.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True) model = AutoModel.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True).float() ``` ## 启动网页 打开命令行窗口,输入以下命令启动网页: ```shell python web_demo.py ``` 然后在浏览器中打开[http://127.0.0.1:7860/](http://127.0.0.1:7860/)即可使用。 ### ChatGLM-6B 开启局域网访问/开启公网访问 如果你的机器本身有公网,或者想在局域网内其他设备访问 你需要修改`web_demo.py`,`web_demo.py`,`old_web_demo2.py`等文件中涉及网络部分的代码,一般在文件结尾附近。(你需要哪个文件就改那个文件,不需要全改) 一般类似于`demo.queue().launch(share=False, inbrowser=True)` 修改为`demo.queue().launch(share=False, inbrowser=True, server_name='0.0.0.0', server_port=8070)` 这将在所有可用的网络端口开放8070端口号,并且不启用Gradio 服务器转发。 ### ChatGLM-6B 修改本地网页端口号 因为默认是127.0.0.1:7860嘛,可能会和其他本地程序冲突 你需要修改`web_demo.py`,`web_demo.py`,`old_web_demo2.py`等文件中涉及网络部分的代码,一般在文件结尾附近。(你需要哪个文件就改那个文件,不需要全改) 一般类似于`demo.queue().launch(share=False, inbrowser=True)` 修改为`demo.queue().launch(share=False, inbrowser=True, port=7870)` 这样端口就变成7870了。 Loading... > 请确保你有6GB以及以上显存的英伟达显卡或者CPU+32G以及以上的内存(不推荐CPU方式运行) > 笔者使用的是魔改的矿卡RTX2080TI22G,有较大的显存方便跑 --- --- ## 安装python 这里我使用的是 Python 3.9.13 版本。你可以选择[Windows installer (64-bit)](https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe)下载,并且它会自动配置环境变量。你可以在[Python Release Python 3.9.13 | Python.org](https://www.python.org/downloads/release/python-3913/)找到更多关于该版本的信息。 可以参考: [小白怎样给Windows电脑安装Python软件_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1Zv411Y7EK/?spm_id_from=333.337.search-card.all.click&vd_source=52b1b43b72a779e60509273373fde7d4) ## 安装git(可选) [Windows下Git安装_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1Rb4y1C7z1/?spm_id_from=333.337.search-card.all.click&vd_source=52b1b43b72a779e60509273373fde7d4) ## 下载程序文件 如果没有安装git 你可以从以下链接下载程序文件:[https://github.com/THUDM/ChatGLM2-6B/archive/refs/heads/main.zip](https://github.com/THUDM/ChatGLM2-6B/archive/refs/heads/main.zip)。下载完成后,请将其解压到一个文件夹中。 如果已安装git ```shell notranslate position-relative overflow-auto git clone https://github.com/THUDM/ChatGLM2-6B cd ChatGLM2-6B ``` 进入该文件夹,在 Windows 上右键点击打开命令行窗口,并使用以下命令使用 pip 安装依赖项: (如果右键菜单中没有打开命令行窗口选项,你可以按下 Win+R 键,然后输入 `cmd` 并按回车键,接着使用命令 `cd 当前文件夹目录` 进入该文件夹) ```shell pip install -r requirements.txt ``` ## 下载模型文件 ### 从本地加载模型 以上代码会由 `transformers` 自动下载模型实现和参数。完整的模型实现可以在 [Hugging Face Hub](https://huggingface.co/THUDM/chatglm2-6b) 上找到。如果你的网络环境较差,下载模型参数可能会花费较长时间甚至失败。在这种情况下,你可以先将模型下载到本地,然后从本地加载。 从 Hugging Face Hub 下载模型需要先[安装 Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage),然后运行以下命令: ```shell git clone https://huggingface.co/THUDM/chatglm2-6b ``` 如果你从 Hugging Face Hub 上下载 checkpoint 的速度较慢,你可以只下载模型实现: ```shell GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b ``` 然后从[这里](https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/)手动下载模型参数文件,并将下载的文件替换到本地的 `chatglm2-6b` 目录下。 ## 修改 Python 脚本内部的加载方式 打开 `web_demo.py` 文件,在第 5-6 行修改为你自己的模型路径: ```python tokenizer = AutoTokenizer.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True) model = AutoModel.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True).cuda() ``` 如果你没有 GPU 硬件,也可以在 CPU 上进行推理,但是推理速度会更慢。使用以下方法(需要大约 32GB 内存)将 `.cuda()` 改为 `.float()`: ```python tokenizer = AutoTokenizer.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True) model = AutoModel.from_pretrained("D:\ChatGlm\ChatGLM2-6B\model\chatglm2-6b-int4", trust_remote_code=True).float() ``` ## 启动网页 打开命令行窗口,输入以下命令启动网页: ```shell python web_demo.py ``` 然后在浏览器中打开[http://127.0.0.1:7860/](http://127.0.0.1:7860/)即可使用。 ### ChatGLM-6B 开启局域网访问/开启公网访问 如果你的机器本身有公网,或者想在局域网内其他设备访问 你需要修改`web_demo.py`,`web_demo.py`,`old_web_demo2.py`等文件中涉及网络部分的代码,一般在文件结尾附近。(你需要哪个文件就改那个文件,不需要全改) 一般类似于`demo.queue().launch(share=False, inbrowser=True)` 修改为`demo.queue().launch(share=False, inbrowser=True, server_name='0.0.0.0', server_port=8070)` 这将在所有可用的网络端口开放8070端口号,并且不启用Gradio 服务器转发。 ### ChatGLM-6B 修改本地网页端口号 因为默认是127.0.0.1:7860嘛,可能会和其他本地程序冲突 你需要修改`web_demo.py`,`web_demo.py`,`old_web_demo2.py`等文件中涉及网络部分的代码,一般在文件结尾附近。(你需要哪个文件就改那个文件,不需要全改) 一般类似于`demo.queue().launch(share=False, inbrowser=True)` 修改为`demo.queue().launch(share=False, inbrowser=True, port=7870)` 这样端口就变成7870了。 Last modification:August 4, 2023 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏