最近在调研市场上语言大模型,为公司的产品上虚拟人的推出做准备。各厂提供语言模型都很丰富,使用上也很方便,有API接口可以调用。但唯一的不足,对于提供给百万用户使用的产品,相比价格都比较贵。所以对ChatGLM3-6B的使用做了深入了解,特别只有CPU没有GPU的本地运行,ChatGLM3-6B最好的选择之一。
ChatGLM3-6B的安装见:
chatglm3-6b https://modelscope.cn/models/ZhipuAI/chatglm3-6b/summary
在CPU上运行需要修改下调用方法,以安装文章中的例子做说明:
from modelscope import AutoTokenizer, AutoModel, snapshot_download
model_dir = snapshot_download("ZhipuAI/chatglm3-6b", revision = "v1.0.0")
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
#model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).half().cuda()
#cuda使用GPU计算, float使用CPU计算
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).half().float()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)
将代码中cuda()方法改为float()即可。cuda使用GPU计算, float使用CPU计算。运行的结果如下: