使用mshumer/gpt-author项目快速生成完整小说电子书的技术解析

使用mshumer/gpt-author项目快速生成完整小说电子书的技术解析

【免费下载链接】gpt-author 【免费下载链接】gpt-author 项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-author

项目概述

mshumer/gpt-author是一个利用现代AI技术快速生成完整小说的工具链项目。该项目整合了OpenAI的GPT系列模型和Stability AI的图像生成能力,能够在几分钟内完成从创意构思到电子书打包的全流程。

核心功能架构

1. 创意生成模块

该模块负责从零开始构建小说创意,采用多阶段优化策略:

  1. 初始创意生成:使用GPT-4模型生成10个不同的小说情节构思
  2. 情节筛选优化:通过GPT-4评估并融合最佳创意元素
  3. 情节精炼:对选定情节进行专业级优化
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. 章节内容生成模块

采用渐进式写作策略:

  1. 首章使用GPT-4生成初稿,再由GPT-4-32k进行扩展优化
  2. 后续章节基于前文上下文连贯生成
  3. 自动处理长文本溢出问题,智能切换模型
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)

实际应用指南

准备工作

  1. 获取OpenAI API密钥
  2. 获取Stability AI API密钥
  3. 安装必要依赖:openaiEbookLib

生成流程

  1. 初始化设置:配置API密钥
  2. 输入创意提示:提供小说的大致方向
  3. 设置参数:指定章节数量和写作风格
  4. 执行生成:运行完整流程
  5. 获取结果:自动生成EPUB格式电子书

参数调优建议

  • 对于短篇小说(5-10章),使用GPT-4-0613即可
  • 对于长篇小说(10+章),建议使用GPT-4-32k处理复杂上下文
  • 写作风格描述越具体,生成内容风格越统一
  • 封面提示词建议保持简洁(1-2句话)

技术亮点

  1. 多模型协同:智能切换不同能力的GPT模型完成特定任务
  2. 渐进式优化:每个环节都采用"初稿+优化"的两阶段策略
  3. 上下文感知:写作时自动考虑前文内容保持连贯性
  4. 容错机制:自动处理长文本溢出等异常情况
  5. 成本透明:实时显示每个步骤的API调用成本

扩展应用场景

  1. 教育领域:快速生成教学用范例文本
  2. 内容创作:为博主提供创意灵感
  3. 游戏开发:生成游戏背景故事和任务剧情
  4. 个人写作:克服写作瓶颈期的工具

该项目展示了现代AI技术在创意写作领域的强大应用潜力,通过精心设计的流程将多个AI能力有机结合,实现了从零到完整作品的自动化生产。

【免费下载链接】gpt-author 【免费下载链接】gpt-author 项目地址: https://gitcode.com/GitHub_Trending/gp/gpt-author

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值