本地部署 ChatGLM3

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

ChatGLM3 介绍

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

  1. 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能。
  2. 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
  3. 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用。

ChatGLM3 Github 地址

https://github.com/THUDM/ChatGLM3

部署 ChatGLM3

克隆代码库,

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

创建虚拟环境,

conda create -n chatglm3 python=3.10 -y
conda activate chatglm3

使用 pip 安装 pytorch,

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
conda install -y -c "nvidia/label/cuda-12.1.0" cuda-runtime

验证 cuda 可用,

python -c "import torch;print(torch.cuda.is_available());"

使用 pip 安装依赖,

pip install -r requirements.txt

其中 transformers 库版本推荐为 4.30.2,torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能。

使用 Code Interpreter 还需要安装 Jupyter 内核,

conda install ipython ipykernel
ipython kernel install --name chatglm3-demo --user

运行综合 Demo

ChatGLM3 Demo 拥有三种模式:

  • Chat: 对话模式,在此模式下可以与模型进行对话。
  • Tool: 工具模式,模型除了对话外,还可以通过工具进行其他操作。
  • Code Interpreter: 代码解释器模式,模型可以在一个 Jupyter 环境中执行代码并获取结果,以完成复杂任务。

运行以下命令在本地加载模型并启动 demo,

cd composite_demo
streamlit run main.py

访问 http://localhost:8501,

对话模式

对话模式下,用户可以直接在侧边栏修改 top_p, temperature, System Prompt 等参数来调整模型的行为。例如,

本地部署 ChatGLM3,LINUX,ChatGLM3

工具模式

可以通过在 tool_registry.py 中注册新的工具来增强模型的能力。只需要使用 @register_tool 装饰函数即可完成注册。对于工具声明,函数名称即为工具的名称,函数 docstring 即为工具的说明;对于工具的参数,使用 Annotated[typ: type, description: str, required: bool] 标注参数的类型、描述和是否必须。

例如,get_weather 工具的注册如下:

@register_tool
def get_weather(
    city_name: Annotated[str, 'The name of the city to be queried', True],
) -> str:
    """
    Get the weather for `city_name` in the following week
    """
    ...

本地部署 ChatGLM3,LINUX,ChatGLM3

此外,你也可以在页面中通过 Manual mode 进入手动模式,在这一模式下你可以通过 YAML 来直接指定工具列表,但你需要手动将工具的输出反馈给模型。

代码解释器模式

由于拥有代码执行环境,此模式下的模型能够执行更为复杂的任务,例如绘制图表、执行符号运算等等。模型会根据对任务完成情况的理解自动地连续执行多个代码块,直到任务完成。因此,在这一模式下,你只需要指明希望模型执行的任务即可。

例如,我们可以让 ChatGLM3 画一个爱心:

本地部署 ChatGLM3,LINUX,ChatGLM3

本地部署 ChatGLM3,LINUX,ChatGLM3

额外技巧:
在模型生成文本时,可以通过页面右上角的 Stop 按钮进行打断。
刷新页面即可清空对话记录。

API 部署

感谢 @xusenlinzy 实现了 OpenAI 格式的流式 API 部署,可以作为任意基于 ChatGPT 的应用的后端,比如 ChatGPT-Next-Web。可以通过运行仓库中的openai_api.py 进行部署:

python openai_api.py

进行 API 调用的示例代码为,

import openai
if __name__ == "__main__":
    openai.api_base = "http://localhost:8000/v1"
    openai.api_key = "none"
    for chunk in openai.ChatCompletion.create(
        model="chatglm3-6b",
        messages=[
            {"role": "user", "content": "你好"}
        ],
        stream=True
    ):
        if hasattr(chunk.choices[0].delta, "content"):
            print(chunk.choices[0].delta.content, end="", flush=True)

完结!文章来源地址https://www.toymoban.com/news/detail-736980.html

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

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

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

相关文章

  • 从零开始部署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日
    浏览(67)
  • 【本地大模型部署与微调】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日
    浏览(45)
  • 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日
    浏览(55)
  • 离线AI聊天清华大模型(ChatGLM3)本地搭建

    在特定的情况下,要保证信息安全的同时还能享受到AIGC大模型带来的乐趣和功能,那么,离线部署就能帮助到你,最起码,它是一个真正可用的方案。 大模型本身清华的 (ChatGLM3),为的是对中文支持友好,另外就是我也很看好它,毕竟一直在优化自己的模型,提升模型的质量

    2024年02月02日
    浏览(38)
  • 离线AI聊天清华大模型(ChatGLM3)本地搭建指南

    随着人工智能技术的飞速发展,聊天机器人成为了一个热门的研究领域。清华大学研发的ChatGLM3模型,作为其中的佼佼者,为开发者提供了强大的自然语言处理能力。本文将指导您如何在本地搭建ChatGLM3模型,实现离线AI聊天功能。 一、前置准备 在开始搭建之前,您需要准备

    2024年02月19日
    浏览(47)
  • ChatGLM3在windows上部署

    https://github.com/THUDM/ChatGLM3 简介:ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。 台式机: CPU:    Intel(R) Core(TM) i7-10700F RAM:    32G GPU:    NVIDIA RTX3060(显存12G) OS:    Windows 10 企业版 3.1.1  安装和配置anaconda3 a.下载地址 anaconda3下载(推荐使用

    2024年01月20日
    浏览(55)
  • 【ChatGLM3-6B】Docker下部署及微调

    安装好了docker 安装好了NVIDIA 显卡16G 新建一个文件夹,用来存放下载下来的ChatGLM3代码和模型 右键,打开一个git窗口,拉取模型(会很慢,耐心等待) 地址: https://modelscope.cn/models/ZhipuAI/chatglm3-6b/summary 右键,打开一个git窗口,拉取源代码 地址:https://github.com/THUDM/ChatGLM3 或

    2024年02月04日
    浏览(48)
  • 在Win11上部署ChatGLM3详细步骤

    023年10月27日,智谱AI于2023中国计算机大会(CNCC)上,推出了全自研的第三代基座大模型ChatGLM3及相关系列产品,这也是智谱AI继推出千亿基座的对话模型ChatGLM和ChatGLM2之后的又一次重大突破。此次推出的ChatGLM3采用了独创的多阶段增强预训练方法,使训练更为充分。评测显示

    2024年02月07日
    浏览(61)
  • chatGLM 本地部署(windows+linux)

    chatGLM算是个相对友好的模型,支持中英文双语的对话交流,清华出的 我的教程无需特别的网络设置,不过部分情况因为国内网络速度慢,需要反复重复 chatGLM github地址 N卡8G显存以上,最好16G以上,我用的是RTX4090做的测试,生成语言时很流畅,和正常人语速差不多,占用显卡

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

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

    2024年02月04日
    浏览(101)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包