Chat Web¶
基本介绍¶
Chat Web提供了一个网页界面,让用户可以通过类似线上聊天的方式使用MindFormers大语言模型(LLM)推理能力。
使用方式¶
单卡启动¶
示例命令如下,将会启动一个网页app,使用glm_6b模型进行回答生成。
python run_chat_web.py --device_target Ascend \
--device_id 0 \
--model glm_6b \
--tokenizer glm_6b \
--checkpoint_path /path/to/glm_6b.ckpt \
--seq_length 512 \
--use_past False \
--host 0.0.0.0 \
--port 7860
参数定义如下:
device_target (str) - 表示要运行的目标设备,取值为
Ascend/CPU。如果所安装的MindSpore版本不支持Ascend,将运行在CPU上。默认值:Ascend。device_id (int) - 表示要运行的卡,取值为
[0,8)。该值只在device_target==Ascend时生效。默认值:0。model (str) - 表示用来生成回答的模型的名称,取值见上节。
tokenizer (str) - 表示用来编解码输入输出的分词器的名称,取值见上节。
checkpoint_path (str) - 表示加载的模型权重文件路径,此参数缺省时将会下载模型默认的权重文件,默认值:
None。seq_length (int) - 表示模型中的序列长度。默认值:
512。use_past (bool) - 表示是否使用增量推理。默认值:
False。host (str) - 表示web服务运行的host ip。设置为
0.0.0.0可远程访问。默认值:127.0.0.1。port (int) - 表示web服务运行的端口。此参数缺省时端口将会设置为
7860,如果该端口被占用将会向后顺延,直至找到可用端口。默认值:None。
多卡启动¶
暂不支持
网页使用¶
当--port参数缺省时网页app将会默认运行在7860端口,如果默认端口被占用将会向后顺延,直至找到可用端口。
通过浏览器访问Chat Web网页地址
如果服务启动在本地,即配置了
--host为127.0.0.1,则访问http://127.0.0.1:7860或http://localhost:7860如果服务启动在远程,即配置了
--host为0.0.0.0,假设服务器IP地址为12.23.34.45,则访问http://12.23.34.45:7860
在输入框中输入文字,点击提交按钮,稍等片刻后屏幕上将会显示LLM的回答。点击清除按钮可以清空聊天记录。
配置项¶
聊天界面右侧提供了若干配置项,可以在点击提交按钮前自行进行配置,每次输入将会实时生效。目前提供的配置项如下:
sampling (开关) - 打开表示使用采样;关闭则表示使用贪心解码。打开后可以调整下述top k和top p。
top k (滑块) - 从前k个可能性最大的候选词中采样。取值范围:
[0,10]。top p (滑块) - 从可能性加起来为p的候选词中采样。取值范围:
[0,1]。temperature (输入框) - 用来调节候选词的可能性得分。取值范围:
(0,∞)。
repetition penalty (输入框) - 重复惩罚因子。
1.0表示无惩罚。取值范围:(0,∞)。max length (输入框) - 输入与回答的最大长度,不能超过模型的
seq_length(注意:多轮对话时,输入将包括前几轮对话)。取值范围:(输入长度,seq_length)。prompt (输入框) - 提示词模板,与输入拼接后传进模型。输入框下方提供了一些样例模板,用户也可以输入自定义的模板,需要包含占位符
{},代表替换输入的位置。
每次启动时,配置项将会设置为模型默认的状态。