在特定的情况下,要保证信息安全的同时还能享受到AIGC大模型带来的乐趣和功能,那么,离线部署就能帮助到你,最起码,它是一个真正可用的方案。
大模型本身清华的 (ChatGLM3),为的是对中文支持友好,另外就是我也很看好它,毕竟一直在优化自己的模型,提升模型的质量。
如果基础环境没有布置好可以参考我上篇文章《Ubuntu 22.04 Tesla V100s显卡驱动,CUDA,cuDNN,MiniCONDA3 环境的安装》。
ChatGLM3 (ChatGLM3-6B)
项目地址
https://github.com/THUDM/ChatGLM3
大模型是很吃CPU和显卡的,所以,要不有一个好的CPU,要不有一块好的显卡,显卡尽量13G+,内存基本要32GB+。
清华大模型分为三种(ChatGLM3-6B-Base,ChatGLM3-6B,ChatGLM3-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 python=3.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种案例。
-
- 基础例子(cli_demo , web_demo_streamlit )
-
- 综合例子(聊天,工具,代码解释)
-
- 基础模型微调
-
- 聊天模型微调
-
- 类似于langchain的案例
-
- openai接口的案例
-
- TensorRT-LLM推理部署
-
- 工具调用
目前,只有第二种的综合例子,是比较有趣的,就以它为案例进行配置修改。
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/simple ipython 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_name` """ if 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 requests try: resp = requests.get(f"https://wttr.in/{city_name}?format=j1") 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 traceback ret = "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大模型对中文支持度还是蛮高的。
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓