240708_昇思学习打卡-Day20-MindNLP ChatGLM-6B StreamChat

发布于:2024-07-09 ⋅ 阅读:(138) ⋅ 点赞:(0)

240708_昇思学习打卡-Day20-MindNLP ChatGLM-6B StreamChat

基于MindNLP和ChatGLM-6B实现一个聊天应用,本文进行简单记录。

环境配置

%%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

代码开发

# 导入自动模型和自动分词器类,用于序列到序列的语言模型任务
from mindnlp.transformers import AutoModelForSeq2SeqLM, AutoTokenizer
# 导入Gradio库,用于构建交互式用户界面
import gradio as gr
# 导入mdtex2html模块,可能用于将markdown格式的文本转换为HTML
import mdtex2html

# 初始化一个预训练的序列到序列语言模型,这里使用的是ChatGLM-6B模型
# 从预先定义的URL加载模型,使用modelscope镜像加速下载
model = AutoModelForSeq2SeqLM.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope").half()
# 设置模型为评估模式,禁用dropout等训练时使用的策略
model.set_train(False)

# 初始化与模型配套的分词器,同样从预先定义的URL加载,使用modelscope镜像
tokenizer = AutoTokenizer.from_pretrained('ZhipuAI/ChatGLM-6B', mirror="modelscope")

可以修改下列参数和prompt体验模型

# 初始化对话提示
prompt = '你好'

# 初始化对话历史记录
history = []

# 调用模型进行对话,使用tokenizer对输入进行处理
# max_length限制了生成的回复的最大长度
response, _ = model.chat(tokenizer, prompt, history=history, max_length=20)

# 输出模型生成的回复
response

打卡图片

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到