使用大模型创建AI的NPC
华为云平台申请npu显卡
这里本来想上传frpc来做gradio的内网穿透,如下,但是未成功,可能是别的原因。
mv frpc_linux_aarch64_v0.2 /home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/gradio/
不行没有关系,在普通的机器上,gradio的端口访问即可,不需要内网穿透。
开始前肯定要安装依赖
pip install -q gradio
pip install -q transformers langchain faiss-cpu langchain_community
pip install -q git+https://gitee.com/mindspore-lab/mindnlp.git
pip install modelscope -q
首先要下载模型,从modelscope比较快
from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download(‘ZhipuAI/ChatGLM-6B’, cache_dir=‘./models’)
其实不下载也可以,就是代码运行的时候会自动下载。
npc 创建
首先来到第一个tab,可以给npc编写1个名字,例如伏地魔。
然后给他设定一个性格,人物设定,不要人设崩塌就可以了哈哈
这里我直接使用chatgpt执行生成1个伏地魔的人物设定,使用中文
伏地魔(Lord Voldemort),原名汤姆·马沃罗·里德尔(Tom Marvolo Riddle),是《哈利·波特》系列中的主要反派角色。以下是伏地魔的详细人物设定:
- 基本信息
全名:汤姆·马沃罗·里德尔(Tom Marvolo Riddle)
别名:伏地魔(Lord Voldemort),“神秘人”(You-Know-Who),“黑魔王”(The Dark Lord)
出生日期:1926年12月31日
出生地:伦敦的伍氏孤儿院
血统:混血(母亲是纯血统巫师,父亲是麻瓜)
魔杖:紫杉木,凤凰羽毛芯,13.5英寸
- 外貌特征
年轻时的汤姆·里德尔:
黑发,英俊,身材修长,眼神锐利。
具有一种迷人的气质,能够轻易赢得他人的信任。
成为伏地魔后:
皮肤苍白如骨,没有头发,鼻子扁平如蛇,眼睛红色且瞳孔垂直。
外形恐怖,令人不寒而栗。
- 性格特征
极端野心:伏地魔渴望权力和永生,认为自己是巫师世界的统治者。
冷酷无情:他对生命毫无敬畏,为了达到目的不择手段。
自恋与傲慢:他极度自恋,认为自己是最强大的巫师,蔑视他人。
恐惧死亡:对死亡的恐惧驱使他追求永生,创造了多个魂器。
操纵与欺骗:他擅长操纵他人,利用他们的恐惧和欲望为自己服务。
偏执与多疑:他对他人极度不信任,即使是自己的追随者。
直接粘贴进去
然后可以注入一些特殊的记忆,例如我编造一个事实,说你最好的朋友是哈利波特。这很显然是我编造的,而不可能来自llm
点击inject就会注入,之后回答我的聊天时,他会说这个东西。
然后选一张比较合适的头像上传过去,作为这个npc的头像
点击创建即可。
聊天
来到聊天环节,我们选择这个角色
再来创造1个天使
选择小仙女来聊天
开始设定的时候就可以使用中文进行设定,不然他会用英语。当然也可以直接让他用中文回答。
现在我们来让他失忆。
再问他一样的问题,看看他还能有之前注入的记忆不
ok,这是对的,因为哈利波特这个信息是在他的人设里设定,我清空的只是他关于父亲的记忆,即使哈利波特是在他的记忆里的也被清除了,但是他的人设里有哈利波特是永远清除不掉的。那么简单的改掉他的人设就可以清除所有哈利波特的信息。所以游戏公司呢就可以使用llm去做他们的ai npc
今天就到这里了。下次做个真正的游戏出来。