开源模型应用落地-chatglm3-6b模型小试-入门篇(三)

这篇具有很好参考价值的文章主要介绍了开源模型应用落地-chatglm3-6b模型小试-入门篇(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    一、前言

     刚开始接触AI时,您可能会感到困惑,因为面对众多开源模型的选择,不知道应该选择哪个模型,也不知道如何调用最基本的模型。但是不用担心,我将陪伴您一起逐步入门,解决这些问题。

     在信息时代,我们可以轻松地通过互联网获取大量的理论知识和概念。然而,仅仅掌握理论知识并不能真正帮助我们成长和进步。实践是将理论知识转化为实际技能和经验的关键。

    本章将学习如何在低成本下,使用transformer设置chatglm3-6b模型参数/System Prompt/历史对话

    qwen模型教程入口:

开源模型应用落地-qwen模型小试-入门篇(三)

    baichuan模型教程入口:

开源模型应用落地-baichuan2模型小试-入门篇(三)


二、术语

2.1. CentOS

    CentOS是一种基于Linux的自由开源操作系统。它是从Red Hat Enterprise Linux(RHEL)衍生出来的,因此与RHEL具有高度的兼容性。CentOS的目标是提供一个稳定、可靠且免费的企业级操作系统,适用于服务器和桌面环境。

2.2. GPU

    是Graphics Processing Unit(图形处理单元)的缩写。它是一种专门设计用于处理图形和图像计算的处理器。与传统的中央处理器(CPU)相比,GPU具有更高的并行计算能力,适用于处理大规模数据并进行复杂的计算任务。


三、前置条件

3.1. linux操作系统

3.2. 下载chatglm3-6b模型

从huggingface下载:https://huggingface.co/THUDM/chatglm3-6b/tree/main

开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型

从魔搭下载:魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。https://www.modelscope.cn/models/ZhipuAI/chatglm3-6b/fileshttps://www.modelscope.cn/models/ZhipuAI/chatglm3-6b/files开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型

 3.3. 创建虚拟环境&安装依赖

conda create --name chatglm3 python=3.10
conda activate chatglm3
pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 sentencepiece accelerate
pip install modelscope


四、技术实现

4.1. 使用transformers方式

# -*-  coding = utf-8 -*-
from transformers import AutoTokenizer, AutoModelForCausalLM
import time
import traceback

modelPath = "/model/chatglm3-6b"

def chat(model, tokenizer, message, history, system):
    messages = []
    if system is not None:
        messages.append({"role": "system", "content": system})

    if history is not None:
        for his in history:
            user,assistant = his
            messages.append({"role": "user", "content": user})
            messages.append({"role": "assistant", 'metadata': '', "content": assistant})

    try:
        for response in model.stream_chat(tokenizer,message, messages,  max_length=512, top_p=0.9, temperature=0.45, repetition_penalty=1.1,do_sample=True):
            _answer,_history = response
            yield _answer

    except Exception:
        traceback.print_exc()

def loadTokenizer():
    tokenizer = AutoTokenizer.from_pretrained(modelPath, use_fast=False, trust_remote_code=True)
    return tokenizer


def loadModel():
    model = AutoModelForCausalLM.from_pretrained(modelPath, device_map="auto",  trust_remote_code=True).cuda() 
    model = model.eval()
    # print(model)
    return model


if __name__ == '__main__':
    model = loadModel()
    tokenizer = loadTokenizer()

    start_time = time.time()

    message = "我家有什么好玩?"
    history = [('hi,你好', '你好!有什么我可以帮助你的吗?'), ('我家在广州,很好玩哦', '广州是一个美丽的城市,有很多有趣的地方可以去。'), ]
    system = "你是一个人工智能助手,擅长解决人类的问题"

    response = chat(model, tokenizer, message,history,system)
    for answer in response:
        print(answer)

    end_time = time.time()
    print("执行耗时: {:.2f}秒".format(end_time - start_time))

调用结果:

开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型

开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型

4.2. 使用modelscope方式

把AutoModelForCausalLM, AutoTokenizer改为从modelscope导入即可

开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型

调用输出

开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型

注意:需要安装modelscope库


五、附带说明

5.1. 上下文长度限制

chatglm3-6b的Seq Length只有8k,需要更长文本理解能力的,需要使用对应的模型

开源模型应用落地-chatglm3-6b模型小试-入门篇(三),# 开源大语言模型-chatglm模型小试,深度学习,自然语言处理,语言模型文章来源地址https://www.toymoban.com/news/detail-848565.html

到了这里,关于开源模型应用落地-chatglm3-6b模型小试-入门篇(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 开源模型应用落地-qwen2模型小试-入门篇(六)

        经过前五篇“qwen模型小试”文章的学习,我们已经熟练掌握qwen大模型的使用。然而,就在前几天开源社区又发布了qwen1.5版本,它是qwen2模型的测试版本。在基于transformers的使用方式上有较大的调整,现在,我们赶紧跟上脚步,去体验一下新版本模型的推理质量。    

    2024年03月17日
    浏览(63)
  • 开源模型应用落地-baichuan2模型小试-入门篇(三)

            相信您已经学会了如何在Windows环境下以最低成本、无需GPU的情况下运行baichuan2大模型。现在,让我们进一步探索如何在Linux环境下,并且拥有GPU的情况下运行baichuan2大模型,以提升性能和效率。     CentOS是一种基于Linux的自由开源操作系统。它是从Red Hat Enterprise Li

    2024年04月17日
    浏览(43)
  • 开源模型应用落地-qwen模型小试-Zero/One/Few Shot-进阶篇(九)

        Zero-Shot、One-Shot和Few-Shot是机器学习领域中重要的概念,特别是在自然语言处理和计算机视觉领域。通过Zero-Shot、One-Shot和Few-Shot学习,模型可以更好地处理未知的情况和新任务,减少对大量标注数据的依赖,提高模型的适应性和灵活性。这对于推动人工智能在现实世界中

    2024年04月10日
    浏览(48)
  • mac M系列芯片安装chatGLM3-6b模型

    下载miniconda,并安装 创建名为chatglm3的虚拟环境,python版本为3.10.2 激活环境(后续要在这个环境安装pytorch及依赖包) 1 下载地址,git地址:https://github.com/THUDM/ChatGLM3 2 进入代码中,安装依赖包 推荐使用方式3下载,可以下载任意开源大模型,且速度飞快,没有墙限制 https:/

    2024年02月02日
    浏览(57)
  • 关于大模型ChatGLM3-6B在CPU下运行

            最近在调研市场上语言大模型,为公司的产品上虚拟人的推出做准备。各厂提供语言模型都很丰富,使用上也很方便,有API接口可以调用。但唯一的不足,对于提供给百万用户使用的产品,相比价格都比较贵。所以对ChatGLM3-6B的使用做了深入了解,特别只有CPU没有

    2024年02月04日
    浏览(41)
  • CP03大语言模型ChatGLM3-6B特性代码解读(1)

    对话模式、工具模式、代码解释器模式例程阅读理解。 ChatGLM3-6B已经进行了中文场景的训练,可以直接运用于中文场景。本次学习的示例,提供了三种模式。包括: Chat: 对话模式,在此模式下可以与模型进行对话; Tool: 工具模式,模型除了对话外,还可以通过工具进行其他

    2024年02月22日
    浏览(37)
  • 解锁大语言模型LLM对话潜力:ChatGLM3-6B的多轮对话实践与深入探索

    随着人工智能技术的飞速发展,多轮对话系统已成为自然语言处理领域的研究热点。多轮对话要求模型不仅能理解用户的当前输入,还需结合对话历史进行连贯回复,这对模型的上下文理解和生成能力提出了更高要求。ChatGLM3-6B作为一种先进的大型语言模型,在多轮对话任务

    2024年02月22日
    浏览(52)
  • LLM大语言模型(三):使用ChatGLM3-6B的函数调用功能前先学会Python的装饰器

    目录 ChatGLM3-6B的函数调用模式示例 本地启动ChatGLM3-6B工具模式 如何在ChatGLM3-6B里新增一个自定义函数呢? get_weather基于Python的装饰器实现 函数注解@register_tool 现在我们来自定义一个kuakuawo()函数 ChatGLM3-6B目前有三种使用模式: 对话模式 工具模式(也就是本文要介绍的函数调用

    2024年01月25日
    浏览(66)
  • 从零开始部署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日
    浏览(50)
  • 从零开始部署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日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包