ChatAIGC文档

ChatAIGC全能AI知识库系统PHP版部署文档


ChatGLM本地模型部署

<p>[TOC]</p> <h1>ChatGLM本地模型部署<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#chatglm%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2">​</a></h1> <h2>ChatGLM2-6B<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#chatglm2-6b">​</a></h2> <h3>ChatGLM2-6B 简介<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#chatglm2-6b-%E7%AE%80%E4%BB%8B">​</a></h3> <p>ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,具体介绍可参阅 <a href="https://github.com/THUDM/ChatGLM2-6B">ChatGLM2-6B 项目主页</a></p> <p>注意</p> <p>ChatGLM2-6B 权重对学术研究完全开放,在获得官方的书面许可后,亦允许商业使用。本教程只是介绍了一种用法,无权给予任何授权!</p> <h3>推荐配置<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#%E6%8E%A8%E8%8D%90%E9%85%8D%E7%BD%AE">​</a></h3> <p>依据官方数据,同样是生成 8192 长度,量化等级为 FP16 要占用 12.8GB 显存、int8 为 8.1GB 显存、int4 为 5.1GB 显存,量化后会稍微影响性能,但不多。</p> <table> <thead> <tr> <th>类型</th> <th>内存</th> <th>显存</th> <th>硬盘空间</th> </tr> </thead> <tbody> <tr> <td>fp16</td> <td>\&gt;=16GB</td> <td>\&gt;=16GB</td> <td>\&gt;=25GB</td> </tr> <tr> <td>int8</td> <td>\&gt;=16GB</td> <td>\&gt;=9GB</td> <td>\&gt;=25GB</td> </tr> <tr> <td>int4</td> <td>\&gt;=16GB</td> <td>\&gt;=6GB</td> <td>\&gt;=25GB</td> </tr> </tbody> </table> <h3>源码部署<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#%E6%BA%90%E7%A0%81%E9%83%A8%E7%BD%B2">​</a></h3> <p>提示</p> <p>根据上面的环境配置配置好环境,具体教程自行百度;<br /> 可参考的部署文章: <a href="https://blog.csdn.net/lovelylord/article/details/132349967"><a href="https://blog.csdn.net/lovelylord/article/details/132349967">https://blog.csdn.net/lovelylord/article/details/132349967</a></a></p> <ul> <li> <p><strong>1、从GitHub仓库中拉取代码</strong></p> <h1>1.从GitHub仓库中拉取代码</h1> <p>git clone <a href="https://github.com/THUDM/ChatGLM2-6B">https://github.com/THUDM/ChatGLM2-6B</a></p> <h1>2.进入下载源码的目录</h1> <p>cd ChatGLM2-6B</p> </li> <li> <p><strong>2、下载python文件:</strong> <a href="https://doc.chatmoney.cn/docs/download/glm.zip">点击Python文件</a></p> <ul> <li>得到两个文件: openai_ai.py 和 requirements.txt</li> <li>把这两个文件替换到 ChatGLM2-6B 目录里面</li> </ul> </li> <li> <p><strong>3、在命令行输入命令(安装依赖): <code>pip install -r requirments.txt</code></strong></p> <ul> <li>建议使用python的虚拟环境,以免产生一些不必要的麻烦。</li> </ul> </li> <li> <p><strong>4、运行项目: <code>python openai_api.py --model 16</code> 这里的数字根据上面的配置进行选择。</strong></p> <ul> <li>然后等待模型下载,直到模型加载完毕为止。如果出现报错先问百度。</li> <li>这里可能需要科学上网</li> </ul> </li> <li><strong>5、启动成功后应该会显示如下地址:</strong></li> </ul> <p>提示</p> <p>这里的 <a href="http://0.0.0.0:8000/"><a href="http://0.0.0.0:8000">http://0.0.0.0:8000</a></a> 就是连接地址。</p> <p><img src="https://doc.chatmoney.cn/docs/images/general/third-deployment/chat-glm/chatglm-start.png" alt="" /></p> <h3>关于 openai_api.py 启动的一些参数<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#%E5%85%B3%E4%BA%8E-openai-api-py-%E5%90%AF%E5%8A%A8%E7%9A%84%E4%B8%80%E4%BA%9B%E5%8F%82%E6%95%B0">​</a></h3> <table> <thead> <tr> <th>参数名</th> <th>可选值</th> <th>默认值</th> </tr> </thead> <tbody> <tr> <td>--device</td> <td>cuda=显卡运行, cpu=cpu运行</td> <td>cuda</td> </tr> <tr> <td>--path</td> <td>local=本地下载的模型运行, thudm=线上自动下载</td> <td>thudm</td> </tr> <tr> <td>--model</td> <td>4=chatglm2-6b-int4, 8=chatglm2-6b-int8, 16=chatglm2-6b</td> <td>16</td> </tr> </tbody> </table> <ul> <li>说明: <ul> <li>如果你 <code>--path</code> 参数设置为 local, 那需要你先把模型下载下来, 放到 ChatGLM2-6B/models 目录下</li> <li>比如: ChatGLM2-6B/models/chatglm2-6b-int4</li> <li>然后再去运行: <code>python openai_api.py --model 4 --path local</code></li> </ul></li> </ul> <h3>接口测试<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95">​</a></h3> <p><img src="https://doc.chatmoney.cn/docs/images/general/third-deployment/chat-glm/chatglm-post.png" alt="" /></p> <h3>接入到系统<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#%E6%8E%A5%E5%85%A5%E5%88%B0%E7%B3%BB%E7%BB%9F">​</a></h3> <p><img src="https://doc.chatmoney.cn/docs/images/general/third-deployment/chat-glm/chatglm-set.png" alt="" /></p> <h2>ChatGLM3-6B<a href="https://doc.chatmoney.cn/pro/third-deployment/chat-glm.html#chatglm3-6b">​</a></h2> <p>注意</p> <p>部署方案和ChatGLM2-6B的方式基本上是一样的。</p> <ul> <li> <p><strong>1、从GitHub仓库中拉取代码</strong></p> <h1>1.从GitHub仓库中拉取代码</h1> <p><a href="https://github.com/THUDM/ChatGLM3">https://github.com/THUDM/ChatGLM3</a></p> <h1>2.进入下载源码的目录</h1> <p>cd ChatGLM3-6B</p> </li> <li><strong>2、在命令行输入命令(安装依赖)</strong></li> </ul> <p>shell</p> <pre><code># PS: 建议使用python的虚拟环境,以免产生一些不必要的麻烦。 pip install -r requirments.txt</code></pre> <ul> <li><strong>3、安装cuda依赖 (如果你是用显卡运行,否则忽略该步骤)</strong></li> </ul> <p>shell</p> <pre><code>3.1、我这边是使用windows系统,首先需要运行一下命令看一下CUDA的版本 在cmd终端运行: nvidia-smi 我这边得到的版本是: CUDA Version: 12.2 3.2、然后去torch官网中查看CUDA适配的torch版本 官网: https://pytorch.org/get-started/locally/ 3.3、进入网站后按版本选择安装命令 (根据你电脑实际情况选择) PyTorch Build : Stable(2.1.0) Your OS : Windows Package : Pip Language : Python Compute Platform : CUDA 12.1 Run this Command : pip3 install torch trchvision ...... 3.4、你只需要复制后面 Run this Command 选项的这串 pip3的安装命令, 然后回到你电脑的终端运行即可</code></pre> <ul> <li> <p><strong>4、下载python文件:</strong> <a href="https://doc.chatmoney.cn/docs/download/glm3.zip">点击Python文件</a></p> <ul> <li>得到1个文件: openai_ai.py (此文件就是启动文件)</li> <li>把这个文件放到到 ChatGLM3-6B 目录里面</li> </ul> </li> <li> <p><strong>5、下载模型文件到本地:</strong></p> <ul> <li>下载地址: <a href="https://modelscope.cn/models/ZhipuAI/chatglm3-6b/files"><a href="https://modelscope.cn/models/ZhipuAI/chatglm3-6b/files">https://modelscope.cn/models/ZhipuAI/chatglm3-6b/files</a></a></li> <li>把里面列表所有文件都下载回来, 并统一用一个名为 chatglm3-6b 的文件夹存放</li> <li>然后把该文件夹的(含所有内容) 一并移动到 ChatGLM3-6B/models 目录下面</li> </ul> </li> <li> <p><strong>6、运行项目: <code>python openai_api.py</code> 这里的数字根据上面的配置进行选择。</strong></p> <ul> <li>然后等待模型下载,直到模型加载完毕为止。如果出现报错先问百度。</li> <li>这里可能需要科学上网 (默认是需要从 www.huggingface.org 上面下载模型文件回来的, 时间会比较长)</li> <li>以上什么参数都没有的实际运行命令是 <code>python openai_api.py --device cuda --path local --model 4</code> <ul> <li>该命令的意思是 启动脚本 使用 【显卡驱动、使用本地下载的模型文件(即上面第5步) 、 使用量化版本】</li> <li>为什么默认使用量化版本? 因为如果你的显卡显存不够13GB是没办法运行正常的版本的。</li> <li>如果运行正常版本? 把参数 --model 4 改成 --model 16 即可。</li> <li>问: 我要运行32k的模型呢? 答: 那你就去下载32k的模型 当然放到源码的models目录下面, 修改一些运行命令运行就行了</li> </ul></li> </ul> </li> <li><strong>7、运行后的效果</strong></li> </ul> <p>shell</p> <pre><code>(venv) PS E:\AI\GLM3&amp;gt; python .\openai_api.py =========================== 本次加载模型的设备为GPU: NVIDIA CMP 40HX =========================== 正在启动的是量化版本... Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████| 7/7 [00:23&amp;lt;00:00, 3.41s/it] INFO: Started server process [11136] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8100 (Press CTRL+C to quit) ## 注意 ## 注意 ## 这个就是你的运行接口,配置到知识库系统里那个 接口: http://0.0.0.0:8100</code></pre> <ul> <li><strong>8、关于 openai_api.py 启动的一些参数</strong></li> </ul> <table> <thead> <tr> <th>参数名</th> <th>可选值</th> <th>默认值</th> </tr> </thead> <tbody> <tr> <td>--device</td> <td>cuda=显卡运行, cpu=cpu运行</td> <td>cuda</td> </tr> <tr> <td>--path</td> <td>local=本地下载的模型运行, thudm=线上自动下载</td> <td>thudm</td> </tr> <tr> <td>--model</td> <td>4=量化模型, 16=chatglm3-6b, 32=chatglm2-6b-32k, 128=chatglm2-6b-32k</td> <td>4</td> </tr> </tbody> </table> <ul> <li>说明: <ul> <li>如果你 <code>--path</code> 参数设置为 local, 那需要你先把模型下载下来, 放到 ChatGLM2-6B/models 目录下</li> <li>比如: ChatGLM3-6B/models/chatglm3-6b</li> <li>然后再去运行: <code>python openai_api.py --model 4 --path local</code></li> <li>PS: 温馨小提示,GLM3不再像之前GLM2那样单独提供量化版本模型下载, 现在是量化模型直接继承在 chatglm3-6b模型上,使用运行命令作为区分。</li> </ul></li> </ul>

页面列表

ITEM_HTML