要扮演好一个角色,我觉得可以分为两个方面,一个是语气的模仿,一个是记忆的库存,记忆就是原来角色知道的你也应该知道。让大模型来完成这两件事。
现在大模型进行角色扮演有两种方法,一个是通过提示词,一种是通过微调。今天同事展示的通过提示词来进行角色扮演,包括我们现在正在探索的通过微调来实现角色扮演。我觉得都有一些缺陷。首先是通过提示词来进行扮演,这可能会把大模型框死,也并不能很好的来模仿角色,同时对那么长的提示词我也存在疑问。另外一种通过模型微调来进行角色扮演,这种缺陷就显而易见了,一个是成本特别高,如果一个人的生平阅历也就是记忆第一次训练的时候不完全,后期你想补充那就又要重新训练,而且你训练出来的也不一定效果好,我觉着大模型知道某一个知识点,并不是通过训练一条数据就能获得这个知识的,你需要另外十条知识去相互验证补充。对于训练一个角色扮演的大模型来说也是一样,你让他记住某件事,并不能通过一条数据就让他很好的记住,你也需要另外很多数据去相互验证补充。因为一个模型的数据量是很庞大的,你需要足够的数据去撬动这个模型,然后进行微调。这样我们制作数据集就会很繁琐。
现在回到我刚开始说的关于角色的扮演,一个是语气的模仿,一个是记忆。我觉得可以把两种方法结合起来,通过微调去训练大模型说话的语气,通过向量数据库结合提示词去做一个记忆库。这样可以做到记忆的不断补充,而且说话也符合角色的性格。