gpt-作家
这个项目利用GPT-4、Stable Diffusion和Anthropic API调用链来生成一部原创奇幻小说。用户可以提供一个初始提示并输入他们想要的章节数,然后AI就会生成一整本小说,输出一个与电子书阅读器兼容的EPUB文件。
一本15章的小说制作成本低至4美元,而且只需几分钟就能完成。
2024年4月2日新增:Claude 3版本
我新增了一个充分利用Anthropic的Claude 3模型的gpt-作家版本。这个版本使用了更简单的代码和规划,但写出的小说质量更高。试试仓库中的Claude_Author.ipynb笔记本吧!
本仓库中提供了一些原始(已过时)系统生成的小说示例。要阅读这些小说,你可以下载文件并在https://www.fviewer.com/view-epub上查看,或将其安装到Kindle等设备上。
工作原理
首先要求AI根据给定的提示生成一系列潜在情节。然后它会选择最吸引人的情节,对其进行改进,并提取一个标题。之后,它会生成一个包含指定章节数的详细故事情节,然后尝试改进这个情节。接着,AI会根据情节并考虑前几章的内容,单独撰写每一章。最后,生成设计封面艺术的提示,并创建封面。最终,所有内容被整合在一起,小说被编译成EPUB文件。
使用方法
你可以在Google Colab上运行这个项目的最新版本,或在本地Jupyter笔记本中运行(使用gpt_author_v2.ipynb
以获得最佳效果)!
在Google Colab中,只需打开笔记本,添加你的API密钥,然后按顺序运行单元格即可。
如果你使用本地Jupyter笔记本,你需要安装必要的依赖项。你可以在终端中运行以下命令来完成安装:
pip install openai ebooklib requests
在笔记本的最后一个单元格中,你可以自定义小说的提示和章节数。例如:
prompt = "氛围类似于珀西·杰克逊或哈利·波特,但情节完全不同。设定在现代。加入一些技术元素。"
num_chapters = 20
writing_style = "清晰易懂,类似于青少年小说。描述性强,有时措辞冗长。"
novel, title, chapters, chapter_titles = write_fantasy_novel(prompt, num_chapters, writing_style)
这将根据给定的提示生成一本20章的小说。注意 -- 少于7章的提示可能会导致问题。
贡献
欢迎贡献、提出问题和功能请求!
一些初步想法:
- 修改它以仅使用GPT-3.5-Turbo、GPT-3.5-Turbo-16k或Claude Instant工作(可能需要对早期章节进行某种程度的压缩/摘要,以避免在生成后续章节时用完令牌)。
- 改进生成第一章的系统 -- 第一章写得越好,整本小说的质量就越高。
- 改进提示,因为它们是很快写出来的。
- 改进流程中的每一步,增加更多检查、改进生成等。
- 在生成改进之前,让模型调用识别潜在的改进点以添加到提示中,这可能会显著提高性能。
- 修改它以超越奇幻类型,允许用户生成其他类型的小说。
- 修复导致某些章节提前结束的问题。
许可证
本项目采用MIT许可。
联系方式
Matt Shumer - @mattshumer_