搜狐员工做网站的工资多少钱,鸿科经纬教网店运营推广,wordpress 为什么要ftp,南京外贸网站建设在特定的情况下#xff0c;要保证信息安全的同时还能享受到AIGC大模型带来的乐趣和功能#xff0c;那么#xff0c;离线部署就能帮助到你#xff0c;最起码#xff0c;它是一个真正可用的方案。
大模型本身清华的 (ChatGLM3)#xff0c;为的是对中文支持友好#xff0c…在特定的情况下要保证信息安全的同时还能享受到AIGC大模型带来的乐趣和功能那么离线部署就能帮助到你最起码它是一个真正可用的方案。
大模型本身清华的 (ChatGLM3)为的是对中文支持友好另外就是我也很看好它毕竟一直在优化自己的模型提升模型的质量。
如果基础环境没有布置好可以参考我上篇文章《Ubuntu 22.04 Tesla V100s显卡驱动CUDAcuDNNMiniCONDA3 环境的安装》。
ChatGLM3 (ChatGLM3-6B)
项目地址
https://github.com/THUDM/ChatGLM3
大模型是很吃CPU和显卡的所以要不有一个好的CPU要不有一块好的显卡显卡尽量13G内存基本要32GB。
清华大模型分为三种(ChatGLM3-6B-BaseChatGLM3-6BChatGLM3-6B-32K) 从上图也可以看到ChatGLM3-6B-32K的话是最高配的模型而ChatGLM3-6B-Base是最低配的模型。
一般会选择 ChatGLM3-6B普通模型来使用当然如果配置高可以用32K的会更好。
ChatGLM3 部署
如果不能访问github那么就不容易下载资源了主要是资源也比较大可以自己想办法。
ChatGLM3 项目git clone
很简单一句命令就下载下来了。
git clone https://github.com/THUDM/ChatGLM3
执行完就下载完毕了 但是默认里面是没有模型的只有自带的简单的聊天项目以及相关的接口示例项目还得继续下载模型。
ChatGLM3-6B 模型下载
当然如果你自己不下载这些模型这些模型就会在运行的时候自动下载(网络不好的话会影响使用体验所以建议提前下载) 模型下载提供了两个地址来下载第一个不可以那就选择第二个。 打开地址后发现这个文件还挺大而且还是 git项目的方式来进行展现的。
其中 LFS那种可以直接点击然后保存的方式来下载也可以用git命令来下载。
git lfs install
需要 git增加 lfs 的功能才能直接下载这么大的文件 git clone https://huggingface.co/THUDM/chatglm3-6b
或者
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
下载完毕后就有很多文件 看一下大小 11.6GB 还挺大的
项目配置和部署
把下载的服务直接放到需要运行的地方 然后执行上节的python 环境管理
conda create --name chatglm3 python3.10
conda activate chatglm3
然后进入到主项目中开始配置一些环境
cd ChatGLM3
第一步是要安装python 的依赖包
pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple 它会自己安装一些依赖包很快就安装完了
也可以查询自己安装了什么包
pip list //查看安装了什么包
pip show openai // 查看包安装到了哪里
当然我也是按照 README.md 里面的部署方式来部署的具体以README.md为准。
修改配置 可以看到实际上我们可以运行8种案例。 1. 基础例子(cli_demo , web_demo_streamlit ) 2. 综合例子(聊天工具代码解释) 3. 基础模型微调 4. 聊天模型微调 5. 类似于langchain的案例 6. openai接口的案例 7. TensorRT-LLM推理部署 8. 工具调用
目前只有第二种的综合例子是比较有趣的就以它为案例进行配置修改。
composite_demo
看到这个demo下还有requirements.txt 文件我们把他给安装了
pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple
演示中使用 Code Interpreter 还需要安装 Jupyter 内核
pip install ipykernel -i https://mirror.sjtu.edu.cn/pypi/web/simpleipython kernel install --name chatglm3 --user
接着修改client.py里面的配置信息 修改里面的模型地址为你的模型地址即可我这边直接写了个绝对路径。
然后执行以下命令启动服务
streamlit run main.py
正常情况下控制台会出现以下信息 而网页会出现以下信息 左侧就像OpenAI那种的参数细节的调整右侧是三种不同的使用方式选择。
效果展示
对话模式 输入你是谁它就输自动的输出信息速度还挺快。 而控制台也会显示你输入的信息以及返回的信息。 根据这个问题可以看到这个模型虽然对中文的支持度很高但是也掺杂一些英文信息。
工具模式 工具模式需要自己先定义工具我这边没有定义有兴趣的可以整一下。
以下是自带的工具进行的演示: 我调用了一个查询天气的工具(tool_registry.py) 文件可以看到 get_weather的代码
register_tool
def get_weather(city_name: Annotated[str, The name of the city to be queried, True],
) - str:Get the current weather for city_nameif not isinstance(city_name, str):raise TypeError(City name must be a string)key_selection {current_condition: [temp_C, FeelsLikeC, humidity, weatherDesc, observation_time],}import requeststry:resp requests.get(fhttps://wttr.in/{city_name}?formatj1)resp.raise_for_status()resp resp.json()ret {k: {_v: resp[k][0][_v] for _v in v} for k, v in key_selection.items()}except:import tracebackret Error encountered while fetching weather data!\n traceback.format_exc()return str(ret)
代码解释器模式
我尝试了很久也没有得到以下的效果。 可能是我的打开姿势不对我只能获取这样的。 但是给出的代码还是很合理的看着就能执行。
感兴趣的可以参考
https://zhipu-ai.feishu.cn/wiki/VdYWwcZfmiNBnlkwYf1cqytcngf
异常:
如果没有修改配置就会出现这个问题当然如果网络好的话它会自己去安装。 总结
至此 ChatGLM3就演示完了效果还是不错的说。比之前版本好太多了我还会继续关注它的。
它也可以通过Web api的方式自己搞个前端进行展现。
总体来讲清华ChatGLM3-6B大模型对中文支持度还是蛮高的。
参考资料地址
《清华ChatGLM3 ChatGLM3-6B 大模型》
https://github.com/THUDM/ChatGLM3