本案例基于MindNLP和ChatGLM-6B实现一个聊天应用。
1 环境配置
%%capture captured_output
# 实验环境已经预装了mindspore==2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号
!pip uninstall mindspore -y
!pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore==2.2.14
配置网络线路
!export HF_ENDPOINT=https://hf-mirror.com
2 代码开发
下载权重大约需要10分钟
from mindnlp.transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import gradio as gr
import mdtex2html
model = AutoModelForSeq2SeqLM.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope").half()
model.set_train(False)
tokenizer = AutoTokenizer.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope")
结论
chatglm-6b是一个基础模型,可以根据提示词来生成单轮或者多轮对话,也可以像示例中展示的那样根据说明场景来定制一个旅行规划,通常情况下,大语言模型作为支撑底座提供基础文本生成服务,以langchain类似大模型框架为服务,来构建相关多轮或者单轮对话服务,亦或者根据知识库提供咨询服务,这些单纯靠大语言模型本身,没有办法生成较好的回答。