大语言模型实战

由前文可知,通过给大型语言语言模型相关的系统指令或少量角色对话就可以实现大型语言模型的角色扮演。我们以“孙悟空”角色为例,测试GPT-3.5模型的角色扮演能力。如图6-3所示,当我们仅告诉GPT-3.5扮演的角色是“孙悟空”,并要求模型说话风格全面模仿该角色时,模型在返回结果上会有一些角色的口吻,但扮演的效果不是很理想。

 

 

但如果增加角色相关描述信息,例如性格特征、口头禅等,GPT-3.5的角色扮演效果直线上升,如图6-4所示。当在提示信息中增加“你的特征描述是:生性聪明、活泼、忠诚、嫉恶如仇,代表了机智、勇敢。常用口头禅是:‘俺老孙’‘我齐天大圣’‘我美猴王’”时,模型在返回结果上完全遵循“孙悟空”的口吻,让交互体验更好。

 

 

虽然GPT-3.5模型能够在仅微调提示词的情况下,有效地进行角色扮演,但GPT-3.5模型在中国无法直接使用,也不支持本地部署,使用API调用的方式也会导致数据泄露风险。因此,可以采用开源模型来实现角色扮演应用。本节将采用开源的Baichuan2-7B模型进行“孙悟空”的角色扮演。

根据Baichuan2-7B模型进行角色扮演,主要涉及步骤如下。

步骤1:实例化Baichuan2-7B模型以及Tokenizer。

步骤2:输入系统提示词内容和对话内容。

步骤3:让Baichuan2-7B模型模仿角色进行结果输出。

 

调用Baichuan2-7B模型进行角色扮演命令如下,运行后如图6-5所示。

 

图6-5 Baichuan2-7B模型代码调用示意图


相同的提示词,采用Baichuan2-7B模型回复的结果,并没有体现出角色的特点,如图6-6所示。