首页 > 其他分享 >ChatGLM3

ChatGLM3

时间:2024-03-26 11:27:23浏览次数:21  
标签:chatglm3 demo ChatGLM3 api export py

一、安装 anaconda
cd /data/src
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
bash Anaconda3-2021.05-Linux-x86_64.sh -p /opt/anaconda3
vim /etc/profile
文件末添加下面一行 export PATH=/opt/anaconda3/bin:$PATH
source /etc/profile
conda --version
conda info
python --version


二、部署 ChatGLM3
cd /data/ai
git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3

# conda 创建虚拟环境
conda create -n torch python=3.10

# 激活环境 # 退出环境 conda deactivate
conda activate torch

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn


dnf install git git-lfs
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

把下载好的 THUDM/chatglm3-6b 预训练模型文件,确认是放到 ChatGLM3 仓库目录下


三、启动

ChatGLM3 提供了三种使用方式:命令行 Demo,网页版 Demo 和 API 部署;
如果已经在本地下载了模型,可以通过 export MODEL_PATH=/path/to/model 来指定从本地加载模型。
如果需要自定义 Jupyter 内核,可以通过 export IPYKERNEL=<kernel_name> 来指定。


在启动模型之前,需要找到对应启动方式的 python 源码文件 cli_demo.py,web_demo.py,openai_api.py 中修改下面这一行代码
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True).cuda()

修改两个地方:
(1)本地模型的存放路径 THUDM/chatglm3-6b;
(2)根据自己的硬件环境参考 DEPLOYMENT.md 选择模型加载方式,float() CPU 部署,cuda() GPU 部署


1、命令行版
export MODEL_PATH=/data/ai/ChatGLM3/chatglm3-6b
python ./basic_demo/cli_demo.py 启动服务

2、网页版 gradio
pip install peft
python basic_demo/web_demo_gradio.py

3、网页版 streamlit
streamlit run basic_demo/web_demo_streamlit.py

4、API 部署 openai_api.py
根据自己需要修改最后一行代码中定义的 Host 和 Port
python openai_api_demo/openai_api_request.py

 

标签:chatglm3,demo,ChatGLM3,api,export,py
From: https://www.cnblogs.com/vicowong/p/18071536

相关文章

  • LLM大语言模型(七):部署ChatGLM3-6B并提供HTTP server能力
    目录HighLight部署ChatGLM3-6B并开启HTTPserver能力下载embedding模型bge-large-zh-v1.5HTTP接口问答示例LLM讲了个尴尬的笑话~HighLight将LLM服务化(如提供HTTPserver能力),才能在其上构建自己的应用。部署ChatGLM3-6B并开启HTTPserver能力下载embedding模型bge-l......
  • ChatGLM3本机部署
    环境配置参照官方说明,创建虚拟python环境,并安装所需部署包。说明https://github.com/THUDM/ChatGLM3/blob/main/composite_demo/README.md本地模型加载1、先按照官方指引,将模型下载在本地。2、修改模型加载地址。MODEL_PATH和TOKENIZER_PATH,都修改注意:通过修改client.py......
  • ChatGLM3 源码解析(五)
    PrefixEncoder#根据前缀ID获取前缀嵌入#前缀嵌入将连接到分头之后的K和V上classPrefixEncoder(torch.nn.Module):"""Thetorch.nnmodeltoencodetheprefixInputshape:(batch-size,prefix-length)Outputshape:(batch-size,prefix-length......
  • ChatGLM3 源码分析(四)
    ChatGLMForSequenceClassificationclassChatGLMForSequenceClassification(ChatGLMPreTrainedModel):def__init__(self,config:ChatGLMConfig,empty_init=True,device=None):super().__init__(config)#NLabels:分类或者回归的标签数......
  • ChatGLM3 源码解析(三)
    RotaryEmbedding#旋转位置嵌入,应用于每一层Q和KclassRotaryEmbedding(nn.Module):def__init__(self,dim,rope_ratio=1,original_impl=False,device=None,dtype=None):super().__init__()#除法项定义inv_freq=1.0/(10000**(to......
  • ChatGLM3 源码解析(一)
    MLPclassMLP(torch.nn.Module):"""MLP把隐藏状态的尺寸从HidSize映射到4HidSize,执行非线性激活,然后再映射回HidSize"""def__init__(self,config:ChatGLMConfig,device=None):super(MLP,self).__init__()#控制是否添加偏......
  • 离线AI聊天清华大模型(ChatGLM3)本地搭建指南
    随着人工智能技术的飞速发展,聊天机器人成为了一个热门的研究领域。清华大学研发的ChatGLM3模型,作为其中的佼佼者,为开发者提供了强大的自然语言处理能力。本文将指导您如何在本地搭建ChatGLM3模型,实现离线AI聊天功能。一、前置准备在开始搭建之前,您需要准备以下物品:一台性能良......
  • 使用CPU运行大语言模型(LLM),以清华开源大模型ChatGLM3为例:无需显卡!用CPU搞定大模型运行
    教程视频地址:无需显卡!用CPU搞定大模型运行部署!【详细手把手演示】按照上面视频进行安装配置之前需要注意,python编程环境需要大于等于python3.10,否则会运行报错。下载好GitHub上的项目代码后需要运行pipinstall-rrequirements.txt配置好后运行效果:相关资料:【ChatGL......
  • 使用vLLM和ChatGLM3-6b批量推理
    当数据量大的时候,比如百万级别,使用ChatGLM3-6b推理的速度是很慢的。发现使用vLLM和ChatGLM3-6b批量推理极大的提高了推理效率。本文主要通过一个简单的例子进行实践。1.安装vLLM和PyTorch[2]除了Python(本文使用3.11)、CUDA(本文使用11.8)外,还要安装vllm、pytorch、xfo......
  • ChatGLM3革新:推理速度提升2-3倍,成本降低一半的AI大模型
    引言随着人工智能技术的飞速发展,自然语言处理(NLP)已成为最具挑战性和活跃的研究领域之一。在这个领域,大型预训练模型已被证明是实现卓越性能的关键。智谱AI最近发布的ChatGLM3,作为其第三代对话大模型,不仅在性能上有了显著提升,还在多个方面展现了其技术优势。推理速度和成本ChatGL......