Total Pageviews

Sunday, 28 April 2024

ChineseAiDungeon

 中文版ai地牢,基于清源CPM fineutne 

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

Open In Colab

中文版本的ai地牢,一个使用GPT-2的文字冒险游戏,使用清源CPM预训练模型finetune而成。

点击 这里 赶快在 google colab 上体验吧!

通过这篇文章 制作一个中文版AI地牢

或者这三篇详细log

http://icybee.cn/article/71.html

http://icybee.cn/article/72.html

http://icybee.cn/article/73.html

了解中文版本的ai地牢的创造过程。

如何开始游戏

如果你有VPN,你可以选择直接在colab上体验 ,或者也可以将代码clone到本地,运行ChineseAiDungeonColabDemo.ipynb 文件进行游戏。

如果你选择在本地运行游戏,需要将 storyTeller1.1 模型预先下载好并且解压到工程根目录。

开始游戏前须知

  • 游戏可以运行在cpu或者gpu上,但是cpu上的模型推断会非常漫长,不建议!
  • 需要8GB以上的显存运行本程序
  • finetune语料是经过google翻译的 Choose Your Story网站文本,由于经过翻译,质量本身并不好,目前不要对ChineseAiDungeon 生成的故事质量抱有太大期望
  • 如果模型输出的结果没对你的动作做出合理反应,或者一直重复某个事实,尝试忽略模型的重复,直接输入更加具体的你的动作,多几次总会走出来
  • 麻烦忽略模型输出中的一些逻辑问题,记住大体故事走向就好,这对游戏体验有好处(哈哈)

模型

模型 文件大小 百度网盘地址 google drive地址 备注 对应代码commit id
storyTeller1.1 4.8G https://pan.baidu.com/s/1OiRbMydElmISFtRW3k0y5Q 提取码awb7 https://drive.google.com/file/d/1cJ1kvtPrV4TXxiadiGU6bJUAy11bRDm1/view?usp=sharing 2.6B-fp16,使用经过翻译的chooseYourStory语料训练,模型略微过拟合,48epoch aecbc72
storyTeller1.2 4.8G https://pan.baidu.com/s/13CDBkxr-N80aqfbyH_IMWg 提取码d3cf https://drive.google.com/file/d/17eigrQuJBkNQsqZdib8K6bcQeaTNwsVz 2.6B-fp16,使用经过翻译的chooseYourStory语料训练,模型略微欠拟合,12epoch aecbc72

自己finetune模型

遵循 finetune.ipynb文件中的步骤开始finetune,需要1张至少16GB显存的显卡。由于我的硬件限制,我只finetune了清源CPM的2.6B的fp16模型,并没有使用fp32的模型。我本人finetune后的模型地址在这里.

数据收集计划

当前影响模型效果的首要因素是数据质量,目前的数据来源是经过google翻译的 choose your story 的数据,由于经过翻译,数据有诸多的质量问题。我无法找到中文版本的类似数据,如果你有,可以将数据来源或格式化的数据发送给我的邮箱 icybee@yeah.net, 或者通过issue提交给我。

一个完整的训练使用的json文件: truncated_advanture_train.json

或者你可以通过标注.ipynb中的标注工具在jupyter notebook中标注一些数据,同样发送到我的邮箱/项目issue。各位的支持将会使项目越来越好。

寻求帮助

正如你所见,ChineseAiDungeon生成故事的质量并不优秀,也许一些算法或是数据上的改进可以让故事的质量更好,如果你对这方面有想法,欢迎给本项目提issue/pull request.

from  https://github.com/bupticybee/ChineseAiDungeon

-------------------------------------------------------------------

中文版的ai地牢,直接使用的openai的ChatGPT api作为讲故事的模型。 

中文版本的ai地牢(基于ChatGPT版本)

中文版的ai地牢,直接使用的openai的ChatGPT api作为讲故事的模型。

我已经不知道说什么了,我只是写了40行代码,花了1个小时,这个版本的中文ai地牢讲故事的能力比我之前花了一个月训练的 ChineseAiDungeon 好了不止一个数量级。 并且它甚至不需要finetune。模型效果显著比清华开源的清源CPM好的多得多。

我感觉chat gpt讲故事的能力已经直接逼近ai地牢本身了。科技的进步,令人恐怖。

安装和使用

直接下载项目,然后

pip3 install -r requirements.txt

安装依赖

然后直接

python3 example_story.py

就可以在命令行运行起来。

你也可以通过

python3 app.py

调出一个app界面运行,使用app版本时确保python升级到3.9以上。

须知

2023.3.2更新

OpenAI官方API已发布,因此加入了使用官方api_key的登录方式。此方法需要OpenAI账号绑定付款方式,而且收费,但速度更快,鲁棒性更强。获取地址:OpenAI API

同时,有消息称OpenAI在发布官方API后将加大对非官方API的封锁,继续使用账号密码可能会导致封号。界面上也已经加入了提醒,请谨慎使用。

GUI端也已同步更新并恢复使用,启动方式不变。确保已经将revChatGPT包升级到最新版。升级方式:

pip3 install --upgrade revChatGPT

2023.3.1更新

鉴于revChatGPT提供的api已经可以稳定使用,此项目也已更换到新的api并恢复更新。目前cli端已经可以正常使用,直接

python3 example_story.py

运行即可。确保已经将revChatGPT包升级到最新版。为了保证稳定性,原本的使用session_token的方式已被放弃,仅支持使用OpenAI的帐号进行登陆。

除去api更新,还更新了以下内容:

  1. cli界面更新,更加美观。
  2. 增加自动保存,读取功能。

GUI版本尚未更新,将会尽快更新并恢复使用。


我把我自己的open ai账号token直接附带在了代码里,大家可以直接使用。

但是仍可能有一些情况,可能导致我的token没法用:

  1. 太多人用导致账号被封禁
  2. 账号被盗,改了密码等
  3. token过期
  4. openai封了接口,或者接口收费了等等

在这种情况出现时,大家需要自备梯子,并且按照 revChatGPT 的说明填写config.py。

经常的,openai会更新自己的策略,所以需要经常性的按照 https://github.com/acheong08/ChatGPT/wiki/Setup 更新config.py

几个我自己玩的故事见outputs文件夹,总体感觉非常震撼,大家可以参考。

常见问题

  1. err TypeError: 'generator' object is not subscriptable

#1 ,尝试 pip3 install revChatGPT --upgrade升级依赖

  1. response = response.text.splitlines()[-4] IndexError: list index out of rang

一般是接口太多人调用挂了,等openai修复就好,或者接口更新导致无效之类的,这个时候一般更新revChatGPT可以解决

  1. ValueError: Error refreshing session: No email and password provided

一般是token过期。可以按照 revChatGPT 自己获取token配置config或者提issue等待token更新。

from https://github.com/bupticybee/ChineseAiDungeonChatGPT

 

 

 

 

 

No comments:

Post a Comment