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

这篇具有很好参考价值的文章主要介绍了离线AI聊天清华大模型(ChatGLM3)本地搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在特定的情况下,要保证信息安全的同时还能享受到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大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

从上图也可以看到,ChatGLM3-6B-32K的话是最高配的模型,而ChatGLM3-6B-Base是最低配的模型。

一般会选择 ChatGLM3-6B普通模型来使用,当然,如果配置高,可以用32K的,会更好。

ChatGLM3 部署

如果不能访问github,那么就不容易下载资源了,主要是资源也比较大,可以自己想办法。

ChatGLM3 项目git clone

很简单一句命令就下载下来了。

git clone https://github.com/THUDM/ChatGLM3

执行完,就下载完毕了

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

但是,默认里面是没有模型的,只有自带的简单的聊天项目以及相关的接口示例项目,还得继续下载模型。

ChatGLM3-6B 模型下载

当然,如果你自己不下载这些模型,这些模型就会在运行的时候自动下载(网络不好的话会影响使用体验,所以,建议提前下载)

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

模型下载提供了两个地址来下载,第一个不可以,那就选择第二个。

chatglm3-6b大小,人工智能,人工智能,清华大模型,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

下载完毕后,就有很多文件

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B
看一下大小 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

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

它会自己安装一些依赖包,很快就安装完了

也可以查询自己安装了什么包

pip list                  //查看安装了什么包
pip show openai // 查看包安装到了哪里

当然,我也是按照 README.md 里面的部署方式来部署的,具体以README.md为准。

修改配置

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

可以看到,实际上我们可以运行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里面的配置信息

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B
修改里面的模型地址为你的模型地址即可,我这边直接写了个绝对路径。

然后,执行以下命令启动服务

streamlit run main.py

正常情况下,控制台会出现以下信息

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

而网页会出现以下信息

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

左侧就像OpenAI那种的参数细节的调整,右侧是三种不同的使用方式选择。

效果展示

对话模式

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

输入你是谁,它就输自动的输出信息,速度还挺快。

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

而控制台也会显示你输入的信息以及返回的信息。

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

根据这个问题可以看到,这个模型,虽然对中文的支持度很高,但是,也掺杂一些英文信息。

工具模式

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

工具模式,需要自己先定义工具,我这边没有定义,有兴趣的可以整一下。

以下是自带的工具进行的演示:

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

我调用了一个查询天气的工具(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)
代码解释器模式

我尝试了很久也没有得到以下的效果。

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

可能是我的打开姿势不对,我只能获取这样的。

chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

但是,给出的代码,还是很合理的,看着就能执行。

感兴趣的可以参考

https://zhipu-ai.feishu.cn/wiki/VdYWwcZfmiNBnlkwYf1cqytcngf
异常:

如果没有修改配置就会出现这个问题,当然,如果网络好的话,它会自己去安装。
chatglm3-6b大小,人工智能,人工智能,清华大模型,ChatGLM3,ChatGLM3-6B

总结

至此 ChatGLM3就演示完了,效果还是不错的说。比之前版本好太多了,我还会继续关注它的。

它也可以通过Web api的方式,自己搞个前端进行展现。

总体来讲,清华ChatGLM3-6B大模型对中文支持度还是蛮高的。

参考资料地址

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

一键三连呦!,感谢大佬的支持,您的支持就是我的动力!文章来源地址https://www.toymoban.com/news/detail-784625.html

到了这里,关于离线AI聊天清华大模型(ChatGLM3)本地搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(二)

    接上文:从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库 Langchain-chatchat 0.2.10 推荐使用python3.11.7,通过下面命令进行python环境创建。 如下图 安装完毕后,通过以下命令激活python虚拟环境 如下图,shell命令行前面会出现(langchain)这个虚拟环境名。 转到

    2024年03月21日
    浏览(43)
  • 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(完结篇)

    相关文章: 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(一) https://blog.csdn.net/hya168/article/details/131460230 从零开始部署ubuntu+Anaconda3+langchain-chatchat+chatglm3-6b大模型,本地知识库(二) https://blog.csdn.net/hya168/article/details/135870440 生成默认配置文件 此命令

    2024年02月20日
    浏览(56)
  • 【本地大模型部署与微调】ChatGLM3-6b、m3e、one-api、Fastgpt、LLaMA-Factory

    本文档详细介绍了使用ChatGLM3-6b大模型、m3e向量模型、one-api接口管理以及Fastgpt的知识库,成功的在本地搭建了一个大模型。此外,还利用LLaMA-Factory进行了大模型的微调。 1.ChatGLM3-6b 2.m3e 3.One-API 4.Fastgpt 5.LLaMA-Factory 1.1创建腾讯云服务器 注意: ChatGLM3-6b的大模型40多个G,购买腾讯

    2024年03月22日
    浏览(36)
  • 本地部署 ChatGLM3

    ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性: 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更

    2024年02月06日
    浏览(38)
  • ChatGLM3-6B的本地api调用

    1.运行openai_api_demo路径下的openai_api.py 启动后界面: 注意:本地api调到的前提是——本地部署了ChatGLM3-6B,本地部署的教程可参考: 20分钟部署ChatGLM3-6B 部署了若CUDA可用,默认会以CUDA方式运行,占用显存约5.9G;若CUDA不可用,则会以内存方式进行加载,官方称CPU调用需要32G内存

    2024年01月21日
    浏览(44)
  • 部署一个本地的聊天机器人-基于ChatGLM3

    理论上来说 8G及以上显存的英伟达GPU 笔者的设备 RTX 4060Ti (16G显存) Archlinux Python 3.10.10 ChatGLM3 代码版本 33953b119e7 ChatGLM3 是智谱AI几周前才开源的模型, 6B大小的话只是个人用的话算是完全免费的. 这个相比之前的2感觉是prompt优化了一些(不过也复杂了一些), 可以直接用来让机器人

    2024年02月05日
    浏览(37)
  • 【大模型知识库】(2):开源大模型+知识库方案,docker-compose部署本地知识库和大模型,毕昇+fastchat的ChatGLM3,BGE-zh模型,通过拖拽/配置方式实现大模型编程

    https://www.bilibili.com/video/BV1xi4y1e7MD/ 【大模型知识库】(2):开源大模型+知识库方案,docker-compose部署本地知识库和大模型,毕昇+fastchat的ChatGLM3,BGE-zh模型 Bisheng是一款领先的开源大模型应用开发平台,赋能和加速大模型应用开发落地,帮助用户以最佳体验进入下一代应用开

    2024年02月04日
    浏览(75)
  • ChatGLM3 模型学习与实战

    Github 代码 : https://github.com/THUDM/ChatGLM3 模型地址: huggingface : https://huggingface.co/THUDM/chatglm3-6b modelscope : https://modelscope.cn/models/ZhipuAI/chatglm3-6b/summary 智谱AI于27日论坛上推出了全自研的第三代基座大模型ChatGLM3及相关系列产品,这也是智谱AI继推出千亿基座的对话模型ChatGLM和

    2024年02月08日
    浏览(26)
  • ChatGLM2-6B 大语言模型本地搭建

    ChatGLM2-6B 是清华 NLP 团队于不久前发布的中英双语对话模型,它具备了强大的问答和对话功能。拥有最大32K上下文,并且在授权后可免费商用! ChatGLM2-6B的6B代表了训练参数量为60亿,同时运用了模型量化技术,意味着用户可以在消费级的显卡上进行本地部署(INT4 量化级别下

    2024年01月21日
    浏览(45)
  • 开源模型应用落地-chatglm3-6b模型小试-入门篇(三)

         刚开始接触AI时,您可能会感到困惑,因为面对众多开源模型的选择,不知道应该选择哪个模型,也不知道如何调用最基本的模型。但是不用担心,我将陪伴您一起逐步入门,解决这些问题。      在信息时代,我们可以轻松地通过互联网获取大量的理论知识和概念。然

    2024年04月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包