article,

对话故事生成,创造自己的无限世界

tju-lmc tju-lmc Follow Aug 29, 2021 · 1 min read
对话故事生成,创造自己的无限世界

对话故事生成,创造自己的无限世界

如果可以,你最想穿越到哪部电影,小说里?

这次利用 paddlenlp 中提供的 GPT2 和 wechaty 库展开对话故事续写,与 AI 互动共同创造剧情

预先设置你想交互的世界场景,比如面对三体人的进攻,发挥你的脑洞输入你想到的任何动作或者剧情大纲,模型的续写保证让你赞(hei)不(ren)绝(wen)口(hao)

问号

项目介绍

灵感来源

  1. 无限恐怖
  2. [AI Dungeon] (https://play.aidungeon.io/main/home): 在地牢2中,玩家将接触到一个完全自由的虚拟世界。整个游戏世界,都将围绕着玩家的输入展开与续写,可谓真正的 Everything is in my hands 。

效果展示

安装依赖

pip install --upgrade paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install --upgrade paddlehub -i https://mirror.baidu.com/pypi/simple
pip install paddlenlp=2.0.7
pip install sentencepiece=0.1.92

注意事项

本 github 中代码直接使用了 paddlenlp 提供的预训练模型 gpt-cpm-small-cn-distill

在 AI Studio 中按照教安装 paddlenlp==2.0.0rc14 然后引入 gpt2-base-cn 可以体验更好的生成效果。

注:在新版本的 paddlenlp 2.0.7 中已经找不到 gpt2-base-cn 模型,本地运行还是推荐使用代码中的 gpt-cpm-small-cn-distill(阿巴阿巴),只有400M,加载迅速适合体验学习。

测试对话系统

只运行world.py,可以用命令行测试对话效果

python world.py

wechaty网关

如果 token 是 padlocal 模式, 请先安装 docker 再按如下步骤启动网关

# docker下载 wechaty/wechaty 镜像
docker pull wechaty/wechaty

# 确保gateway.sh中是自己的token, 服务器对外开放相关端口
sudo ./gateway.sh

如果 token 是其他类型, 可以直接跳过上面步骤, 访问此链接返回ip地址和端口,确认启动成功

https://api.chatie.io/v0/hosties/xxx你的token

启动wechaty

网关启动成功并扫码登录之后,运行自己写的逻辑代码,监听聊天消息

请先把 main.py 中的 msg.talker().name 改成自己的微信昵称,不然收到任何消息都可能被模型回复

# 安装wachaty
pip install wechaty

# 确认main.py中环境变量替换成了自己的token,并且修改了发送者的用户昵称,然后启动
python main.py

enjoy it !

Join Newsletter
Get the latest news right in your inbox. We never spam!
Written by tju-lmc
Ctrl+c and ctrl+v are No.1 productive forces.