V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
icybee
V2EX  ›  分享创造

分享一个中文版的 ai 地牢游戏(开源)

  •  
  •   icybee · 2021-07-15 15:40:10 +08:00 · 1241 次点击
    这是一个创建于 1228 天前的主题,其中的信息可能已经有所发展或是发生改变。
        ▄████▄   ██░ ██  ██▓ ███▄    █ ▓█████   ██████ ▓█████      
       ▒██▀ ▀█  ▓██░ ██▒▓██▒ ██ ▀█   █ ▓█   ▀ ▒██    ▒ ▓█   ▀      
       ▒▓█    ▄ ▒██▀▀██░▒██▒▓██  ▀█ ██▒▒███   ░ ▓██▄   ▒███        
       ▒▓▓▄ ▄██▒░▓█ ░██ ░██░▓██▒  ▐▌██▒▒▓█  ▄   ▒   ██▒▒▓█  ▄      
       ▒ ▓███▀ ░░▓█▒░██▓░██░▒██░   ▓██░░▒████▒▒██████▒▒░▒████▒     
       ░ ░▒ ▒  ░ ▒ ░░▒░▒░▓  ░ ▒░   ▒ ▒ ░░ ▒░ ░▒ ▒▓▒ ▒ ░░░ ▒░ ░     
         ░  ▒    ▒ ░▒░ ░ ▒ ░░ ░░   ░ ▒░ ░ ░  ░░ ░▒  ░ ░ ░ ░  ░     
       ░         ░  ░░ ░ ▒ ░ ▄▄▄   ░ ░ ██▓░   ░  ░  ░     ░        
       ░ ░       ░  ░  ░ ░  ▒████▄   ░▓██▒░  ░      ░     ░  ░     
       ░                    ▒██  ▀█▄  ▒██▒                         
                            ░██▄▄▄▄██ ░██░                         
                             ▓█   ▓██▒░██░                         
                             ▒▒   ▓▒█░░▓                           
                              ▒   ▒▒ ░ ▒ ░                         
                              ░   ▒    ▒ ░                         
    ▓█████▄  █    ██  ███▄    █   ▄████░▓█████  ▒█████   ███▄    █ 
    ▒██▀ ██▌ ██  ▓██▒ ██ ▀█   █  ██▒ ▀█▒▓█   ▀ ▒██▒  ██▒ ██ ▀█   █ 
    ░██   █▌▓██  ▒██░▓██  ▀█ ██▒▒██░▄▄▄░▒███   ▒██░  ██▒▓██  ▀█ ██▒
    ░▓█▄   ▌▓▓█  ░██░▓██▒  ▐▌██▒░▓█  ██▓▒▓█  ▄ ▒██   ██░▓██▒  ▐▌██▒
    ░▒████▓ ▒▒█████▓ ▒██░   ▓██░░▒▓███▀▒░▒████▒░ ████▓▒░▒██░   ▓██░
     ▒▒▓  ▒ ░▒▓▒ ▒ ▒ ░ ▒░   ▒ ▒  ░▒   ▒ ░░ ▒░ ░░ ▒░▒░▒░ ░ ▒░   ▒ ▒ 
     ░ ▒  ▒ ░░▒░ ░ ░ ░ ░░   ░ ▒░  ░   ░  ░ ░  ░  ░ ▒ ▒░ ░ ░░   ░ ▒░
     ░ ░  ░  ░░░ ░ ░    ░   ░ ░ ░ ░   ░    ░   ░ ░ ░ ▒     ░   ░ ░ 
       ░       ░              ░       ░    ░  ░    ░ ░           ░ 
     ░                            
    

    最近一段时间,我花了一些时间玩了英文版本的 AI dungeon 游戏,我发现虽然其有着诸多的限制,生成的故事可能有时候上下文不接,但是总体来说,可玩性还是挺高的。

    所以再简单游玩之后,我决定自己创造一个中文版本的 AI Dungeon 游戏,经过一段时间的努力,我终于做出了一个版本:

    https://github.com/bupticybee/ChineseAiDungeon

    如果你有 VPN 或是肉身翻墙的话,你也可以直接在 google colab 上体验:

    https://colab.research.google.com/github/bupticybee/ChineseAiDungeon/blob/main/ChineseAiDungeonColabDemo.ipynb

    我把整个开发过程中遇到的艰难险阻总结成了一篇文章:

    制作一个中文版 AI 地牢

    下面是我自己第一次游玩 ChineseAiDungeon 的时候的前几步的记录,其中带有“>”的是我自己的动作

    你在树林里冒险,指不定会从哪里蹦出来一些奇怪的东西,你握紧手上的手枪,希望这次冒险能够找到一些值钱的东西
    > 你 往树林深处走去
    一进去就会有一股寒意笼罩着你,你甚至都不知道自己为什么要继续走下去,但你知道,现在不冒险就太愚蠢了。有一种更加令人不安的气息在你身后,尽管你没有感觉到它,但那是一股非常浓烈的血腥味,几乎淹没了你的每一根头发。你转过身来,发现你身后是一块空地,一群男人围坐在中间,而你看起来好像已经在那里被吃掉了。这就是你要去的地方。
    > 你 绕过这个奇怪的地方
    你们这些笨蛋在这个奇怪的地方转了几圈,最终到了你之前认为正确的地方。你的直觉在这里很强,你觉得似乎有一股更强的力量从你身后的那块空地涌出,你的手颤抖着抓住了枪。你向前移动,但你的直觉仍然在警告你,你不应该这么做。你甚至感觉到枪的重量压在你的肩膀上,而且你看到有什么东西从你身后的空地上向你靠近。
    > 你 悄悄地走进前面的村子
    当你的生命在你面前逝去时,你会感觉到它,并且你的直觉在警告你,你可能会在村子里找到某个东西。你走得很快,而且当你意识到你已经走到了一个死胡同时,一切都太晚了。你看到一群人从他们的位置上走来,他们都拿着镰刀和其他锋利的东西,每个人的头都向后仰着,当你的手开始感到麻木时,你可以听到他们的喘息声。
    

    目前游戏的可玩 ok 么?我只能说,凑合着能玩个三五个回合,然后如果运气好的话,你能继续玩个三五个回合,运气不好的话,整个游戏世界观会开始崩塌,并且由于目前的模型 finetune 的语料是经过 google 翻译的外文语料,所以模型在遣词造句上会有一种“翻译腔”。

    整个游戏的开发流程基本遇到了异常多的困难,主要都是模型训练相关的,我最后选择了 finetune 清华 26 亿参数的 CPM,最后的模型有 4.8G 之大,如果你想在本地游玩,建议需要 8G 显存以上的显卡。

    整个开发过程的每一次尝试我都事无巨细的记录了下来,形成了三篇分别 1W 多字的 log,如果有人感兴趣这个项目,或者在做类似的事情,可以看看,避免把我踩过的坑再踩一遍:

    开发 log1

    开发 log2

    开发 log3

    17 条回复    2021-07-20 14:20:32 +08:00
    graetdk
        1
    graetdk  
       2021-07-15 16:08:55 +08:00
    牛逼,大佬牛逼
    laoyur
        2
    laoyur  
       2021-07-15 16:33:28 +08:00
    /content/ChineseAiDungeon
    ERROR: tensorflow 2.5.0 has requirement gast==0.4.0, but you'll have gast 0.3.3 which is incompatible.
    ERROR: tensorflow 2.5.0 has requirement h5py~=3.1.0, but you'll have h5py 2.10.0 which is incompatible.
    ERROR: tensorflow 2.5.0 has requirement numpy~=1.19.2, but you'll have numpy 1.18.5 which is incompatible.
    ERROR: tensorflow 2.5.0 has requirement tensorflow-estimator<2.6.0,>=2.5.0rc0, but you'll have tensorflow-estimator 2.3.0 which is incompatible.
    ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.
    ERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.
    Rwing
        3
    Rwing  
       2021-07-15 16:35:59 +08:00
    有点意思
    hs0000t
        4
    hs0000t  
       2021-07-15 17:40:07 +08:00
    现在能上 v2 的百分百都能上谷歌,应该不用单独强调 vpn 了
    lxrmido
        5
    lxrmido  
       2021-07-15 17:42:17 +08:00
    先 star 为敬
    lneoi
        6
    lneoi  
       2021-07-15 18:00:05 +08:00
    赞 大佬
    SimonOne
        7
    SimonOne  
       2021-07-15 18:00:05 +08:00
    google colab 上报错了
    从安装依赖开始,依赖版本
    ```
    ERROR: tensorflow 2.5.0 has requirement gast==0.4.0, but you'll have gast 0.3.3 which is incompatible.
    ERROR: tensorflow 2.5.0 has requirement h5py~=3.1.0, but you'll have h5py 2.10.0 which is incompatible.
    ERROR: tensorflow 2.5.0 has requirement numpy~=1.19.2, but you'll have numpy 1.18.5 which is incompatible.
    ERROR: tensorflow 2.5.0 has requirement tensorflow-estimator<2.6.0,>=2.5.0rc0, but you'll have tensorflow-estimator 2.3.0 which is incompatible.
    ERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.
    ERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.
    ```

    下载模型
    ```
    --2021-07-15 09:56:59-- https://docs.google.com/uc?id=1cJ1kvtPrV4TXxiadiGU6bJUAy11bRDm1&export=download
    Resolving docs.google.com (docs.google.com)... 74.125.195.100, 74.125.195.139, 74.125.195.101, ...
    Connecting to docs.google.com (docs.google.com)|74.125.195.100|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/html]
    Saving to: ‘gdown.20210715095659.616043801260279’

    0K 39.2M=0s

    2021-07-15 09:56:59 (39.2 MB/s) - ‘gdown.20210715095659.616043801260279’ saved [3117]

    Couldn't download the file :-(
    unzip: cannot find or open story_teller.zip, story_teller.zip.zip or story_teller.zip.ZIP.
    ```
    icybee
        8
    icybee  
    OP
       2021-07-15 19:03:32 +08:00
    @laoyur 这个忽略就行,并非真的错误
    icybee
        9
    icybee  
    OP
       2021-07-15 19:05:47 +08:00
    @SimonOne 也许是间歇网络问题,你可以再尝试一下?我确定了网盘的 link 是没有问题的,这个 colab 我也测试了不下几十次了
    icybee
        10
    icybee  
    OP
       2021-07-15 19:09:45 +08:00
    @SimonOne 我看了一下,小段时间内大量从 google drive 下载模型,这个 google drive 的地址北 google 短时 ban 了,等我明天想其他办法共享这个文件
    sbilly
        11
    sbilly  
       2021-07-16 08:34:24 +08:00
    这个和最古老的 MUD 有啥区别吗?
    icybee
        12
    icybee  
    OP
       2021-07-16 11:50:02 +08:00
    @sbilly 不太一样,自由度不同
    102errors
        13
    102errors  
       2021-07-16 16:04:31 +08:00
    歪个楼,看开发 log 鸠摩智大战王语嫣笑尿了
    shadeofgod
        14
    shadeofgod  
       2021-07-16 17:03:08 +08:00
    区别在于 MUD 基本都是写死的逻辑,而这个内容是 AI 生成的?
    icybee
        15
    icybee  
    OP
       2021-07-19 11:53:03 +08:00
    @shadeofgod 是呀
    icybee
        16
    icybee  
    OP
       2021-07-19 11:53:13 +08:00
    @102errors 我 tm 也是。。。醉了
    ruihe
        17
    ruihe  
       2021-07-20 14:20:32 +08:00
    试玩看看,感谢大佬开发
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2849 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.