离线AI聊天清华大模型(ChatGLM3)本地搭建

目录

ChatGLM3 (ChatGLM3-6B)

ChatGLM3 部署

ChatGLM3 项目git clone

ChatGLM3-6B 模型下载

项目配置和部署

修改配置

composite_demo

效果展示

对话模式

工具模式

代码解释器模式

异常:

总结

参考资料地址


 

在特定的情况下,要保证信息安全的同时还能享受到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种案例。

  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/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大模型对中文支持度还是蛮高的。

参考资料地址

《清华ChatGLM3 ChatGLM3-6B 大模型》
https://github.com/THUDM/ChatGLM3

引入地址 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
清华大学AI模型课程是清华大学计算机科学与技术系推出的一门专业课程。该课程主要涉及大规模深度学习模型的设计与实现。 首先,课程介绍了近几年在计算机视觉、自然语言处理和语音识别等领域取得的突破性进展,以及这些进展背后所使用的大规模深度学习模型。学生将了解到这些模型背后的原理、架构和训练方法。 其次,课程讲解了如何有效设计和实现大规模深度学习模型。老师会介绍深度学习框架以及如何在这些框架上进行模型的开发和训练。学生将学习到如何进行模型的调参、优化和速度提升等技巧。 第三,课程通过案例分析和实践项目的方式,帮助学生更好地理解和掌握大规模深度学习模型的应用。学生将在实践中学习到如何解决真实生活中的问题,并对模型进行改进和优化。 最后,课程还将涉及到模型的迁移学习和多模态学习等前沿研究领域。学生将了解到当前最新的研究进展,并有机会进行相关的探索和实践。 总的来说,清华大学AI模型课程旨在培养学生在大规模深度学习模型设计和实现方面的能力。通过理论教学和实践项目,学生将能够掌握深度学习模型的原理、设计和优化方法,并在实际应用中运用所学知识解决实际问题。这门课程对于培养学生在人工智能领域的技术能力和创新思维具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值