首页 创新技术正文内容

ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验

admin 2025-05-08 9

本文期望通过本地化部署一个基于LLM模型的应用,能让大家对构建一个完整的应用有一个基本认知。包括基本的软硬环境依赖、底层的LLM模型、中间的基础框架及最上层的展示组件,最终能达到在本地零编码体验的目的。

一、ChatGLM-6B模型介绍

[]

一个清华开源的、支持中英双语的对话语言模型,基于GLM架构,62亿参数。可以本地安装部署运行在消费级的显卡上做模型的推理和训练。

▪开源10天10000stars

▪当天在GitHub的趋势排行第一

▪Huggingface下载超过100万

▪开源的训练数据量达到1万亿字符的模型

1、能力

▪自我认知

▪文案写作

▪提纲写作

▪信息抽取

2、缺点

▪模型容量小导致回答存在偏见内容,推理能力较弱

3、场景

▪垂直领域知识

▪基于私有数据的问答

二、部署体验1、环境依赖:

硬件:

▪基于GPU,建议16GB起步,建议24GB+体验,否则多轮容易爆显存;GPU云服务器搭建不仅能保障弹性的高性能计算,在性价比方面更高,可按时计费,一小时十几元,灵活调配满足个人需求,且有丰富的API和SDK,更具开放性,满足个性化开发部署。京东云GPU云主机链接:

▪无GPU可以仅用CPU,大约需要25GB内存,CPU会慢一点,本次不使用。

软件:

▪+

▪+

▪pip3

▪git

2、钞能力-算力市场:

强烈不建议本地部署,一整套硬件价值不菲,费时耗力,按需购买算力对于体验来说最划算,建议使用京东Ku+平台即可,目前都有配额,可直接申请使用,本次演示流程基于autodl算力平台搭建:

▪[Ku+]

▪[AutoDL]

3、下载demo:
如果pip下载有问题,修改其他源,比例douban或aliyun,没有需新建mkdir~/.piptouch~/.pip/~/.pip/[global]index-url=[install]trusted-host=
4、下载模型:
保存批量下载地址一、如果模型位置不是默认path,修改如下位置:tokenizer=_pretrained("THUDM/chatglm-6b",trust_remote_code=True)model=_pretrained("THUDM/chatglm-6b",trust_remote_code=True).half().cuda()启动pythonweb_@autodl-container-9494499a62-3e5ab6d1:~/ChatGLM-6B新增一步,下载离线embeddingmodelsudoapt-getinstallgit-lfsgitlfsinstallgitclone、修改embeddingpathembedding_model_dict={"text2vec":"/root/GanymedeNil/text2vec-large-chinese",}3、启用本地模型NO_REMOTE_MODEL=:10:58,531-1d:loadingmodelconfigllmdevice:cudaembeddingdevice:cudadir:/root/langchain-ChatGLMflaggingusername:dc706ff885da43a8b0e8181bcc72ad1eWARNING:OMP_NUM_THREADSsetto14,_NUM_:100%|██████████████████████████████████████████████████████████████████████████████|8/8[00:1300:00,1.66s/it]:11:26,780-1d:LoadpretrainedSentenceTransformer:/root/GanymedeNil/text2vec-large-chinese{'answer':'你好!我是人工智能助手ChatGLM-6B,很高兴见到你,欢迎问我任何问题。'}INFO2023-06-0814:11:33,694-1d:模型已成功加载,可以开始对话,或从右侧选择模式后开始对话RunningonlocalURL:`share=True`in`launch()`.
·效果对比

LLM回答

LLM+知识库

四、视图框架

快速构建针对人工智能的python的webApp库,封装前端页面+后端接口+AI算法模型推理,方便AI算法工程师快速展示成果,常用的两个展示层框架:

1、Gradio:

优势在于易用性,代码结构相比Streamlit简单,只需简单定义输入和输出接口即可快速构建简单的交互页面,更轻松部署模型。适合场景相对简单,想要快速部署应用的开发者;

2、Streamlit:

优势在于可扩展性,相比Gradio复杂。适合场景相对复杂,想要构建丰富多样交互页面的开发者。

基于大模型的本地化部署工作目前就告一段落了,后续做的工作可能有以下几点:

1)如果有更好的显卡,可以对vicuna进行fine-tuinig,验证一下fine-tuning之后模型能不能学到特定领域的知识;后续准备使用公司内部提供的试用资源【京东云GPU云主机系列】,这个产品提供Nvidia®A100GPU(80G显存),搭配使用Intel®Xeon®Platinum8338C处理器及DDR4内存,支持NVLink,单精度浮点运算峰值能达到156TFlops,可以说是最强算力了。

2)找到合适的与目前应用结合的场景,将大语言模型应用落地;

3)基于vicuna开源项目进行二次开发,封装成可用的服务;

4)基于大语言模型进行更多的探索和学习。

文章目录