使用mshumer/gpt-author项目快速生成完整小说电子书的技术解析
【免费下载链接】gpt-author 项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-author
项目概述
mshumer/gpt-author是一个利用现代AI技术快速生成完整小说的工具链项目。该项目整合了OpenAI的GPT系列模型和Stability AI的图像生成能力,能够在几分钟内完成从创意构思到电子书打包的全流程。
核心功能架构
1. 创意生成模块
该模块负责从零开始构建小说创意,采用多阶段优化策略:
- 初始创意生成:使用GPT-4模型生成10个不同的小说情节构思
- 情节筛选优化:通过GPT-4评估并融合最佳创意元素
- 情节精炼:对选定情节进行专业级优化
def generate_plots(prompt):
# 使用GPT-4生成10个不同情节
response = openai.ChatCompletion.create(
model="gpt-4-0613",
messages=[
{"role": "system", "content": "You are a creative assistant..."},
{"role": "user", "content": f"Generate 10 fantasy novel plots..."}
]
)
return response['choices'][0]['message']['content'].split('\n')
2. 小说结构规划模块
该模块将选定情节扩展为完整的小说结构:
- 自动划分章节数量
- 为每个章节生成标题和概要
- 采用两轮优化策略确保结构合理性
def generate_storyline(prompt, num_chapters):
# 生成包含章节标题和概要的完整结构
json_format = """[{"Chapter CHAPTER_NUMBER..."""
response = openai.ChatCompletion.create(
model="gpt-4-0613",
messages=[
{"role": "system", "content": "You are a world-class..."},
{"role": "user", "content": f'Write a fantastic storyline...'}
]
)
return improved_response['choices'][0]['message']['content']
3. 章节内容生成模块
采用渐进式写作策略:
- 首章使用GPT-4生成初稿,再由GPT-4-32k进行扩展优化
- 后续章节基于前文上下文连贯生成
- 自动处理长文本溢出问题,智能切换模型
def write_chapter(previous_chapters, plot, chapter_title):
try:
response = openai.ChatCompletion.create(
model="gpt-4-0613",
messages=[
{"role": "system", "content": "You are a world-class..."},
{"role": "user", "content": f"Plot: {plot}, Previous..."}
]
)
return response['choices'][0]['message']['content']
except:
# 处理长文本情况自动切换至32k模型
response = openai.ChatCompletion.create(
model="gpt-4-32k-0613",
messages=[...]
)
return response['choices'][0]['message']['content']
4. 电子书打包模块
将生成内容打包为标准EPUB格式电子书:
- 自动生成封面图像
- 结构化章节内容
- 添加专业排版样式
- 生成完整元数据
def create_epub(title, author, chapters, cover_image_path='cover.png'):
book = epub.EpubBook()
# 设置元数据
book.set_identifier('id123456')
book.set_title(title)
book.set_language('en')
book.add_author(author)
# 添加封面
with open(cover_image_path, 'rb') as cover_file:
book.set_cover('cover.png', cover_file.read())
# 创建章节
for i, chapter_dict in enumerate(chapters):
epub_chapter = epub.EpubHtml(...)
book.add_item(epub_chapter)
# 最终打包
epub.write_epub(f'{title}.epub', book)
使用成本优化策略
项目实现了精细的成本计算功能,帮助用户了解每个步骤的API调用成本:
def print_step_costs(response, model):
input = response['usage']['prompt_tokens']
output = response['usage']['completion_tokens']
# 根据不同模型设置单价
if model == "gpt-4" or model == "gpt-4-0613":
input_per_token = 0.00003
output_per_token = 0.00006
elif model == "gpt-3.5-turbo-16k":
input_per_token = 0.000003
output_per_token = 0.000004
# ...其他模型价格判断
total_cost = int(input)*input_per_token + int(output)*output_per_token
print('step cost:', total_cost)
实际应用指南
准备工作
- 获取OpenAI API密钥
- 获取Stability AI API密钥
- 安装必要依赖:
openai和EbookLib库
生成流程
- 初始化设置:配置API密钥
- 输入创意提示:提供小说的大致方向
- 设置参数:指定章节数量和写作风格
- 执行生成:运行完整流程
- 获取结果:自动生成EPUB格式电子书
参数调优建议
- 对于短篇小说(5-10章),使用GPT-4-0613即可
- 对于长篇小说(10+章),建议使用GPT-4-32k处理复杂上下文
- 写作风格描述越具体,生成内容风格越统一
- 封面提示词建议保持简洁(1-2句话)
技术亮点
- 多模型协同:智能切换不同能力的GPT模型完成特定任务
- 渐进式优化:每个环节都采用"初稿+优化"的两阶段策略
- 上下文感知:写作时自动考虑前文内容保持连贯性
- 容错机制:自动处理长文本溢出等异常情况
- 成本透明:实时显示每个步骤的API调用成本
扩展应用场景
- 教育领域:快速生成教学用范例文本
- 内容创作:为博主提供创意灵感
- 游戏开发:生成游戏背景故事和任务剧情
- 个人写作:克服写作瓶颈期的工具
该项目展示了现代AI技术在创意写作领域的强大应用潜力,通过精心设计的流程将多个AI能力有机结合,实现了从零到完整作品的自动化生产。
【免费下载链接】gpt-author 项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-author
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



