AI小说创作配置:用Python脚本和提示词模板批量生成章节

想用AI批量写小说章节,关键不是找一个万能模型,而是把小说设定、章节大纲和写作要求整理成结构化的提示词模板,再用脚本循环调用模型接口。
下面从零开始,一步步完成配置。

先理清:你需要准备什么

在开始写脚本之前,先确认三样东西:

  • 一个可用的模型API:例如OpenAI、DeepSeek、通义千问等,注册后获取API Key。本文以兼容OpenAI接口的模型为例,其他模型只需替换API地址和模型名称。
  • Python 3.8及以上环境:Windows、macOS或Linux均可。用python --version检查版本。
  • 一本小说的基础设定:书名、主角、世界观、每章大纲。哪怕只有粗略的章节列表,也比没有强。

如果还没有API Key,先去对应平台的控制台创建,并确保账户有可用额度。不要把API Key直接写在脚本里提交到公开仓库,后面会讲如何用环境变量管理。

安装依赖并设置API密钥

打开终端,安装openai库和python-dotenv(用于读取环境变量):

pip install openai python-dotenv

在项目目录下新建.env文件,写入你的密钥和接口地址:

API_KEY=你的API密钥
BASE_URL=https://api.deepseek.com/v1
MODEL_NAME=deepseek-chat

注意:BASE_URL和MODEL_NAME要换成你实际使用的服务商提供的信息。
不同平台的地址和模型名不同,以控制台文档为准。

编写提示词模板和生成脚本

提示词模板决定生成质量。
建议把小说设定和章节要求分开,模板中留出变量占位。
新建prompt_template.txt:

你是一位小说写作助手。请根据以下设定和章节大纲,写出一章完整的小说内容。

【小说设定】
书名:{{book_title}}
主角:{{protagonist}}
世界观:{{world_setting}}

【本章大纲】
{{chapter_outline}}

【写作要求】
- 字数约{{word_count}}字
- 使用第三人称叙述
- 章节结尾留一个悬念
- 不要出现与设定矛盾的内容

再新建generate.py,读取模板和章节大纲,循环调用接口:

import os
import time
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()

client = OpenAI(
    api_key=os.getenv("API_KEY"),
    base_url=os.getenv("BASE_URL")
)

MODEL = os.getenv("MODEL_NAME")

with open("prompt_template.txt", "r", encoding="utf-8") as f:
    template = f.read()

chapters = [
    {"title": "第一章 开端", "outline": "主角在旧书店发现一本会说话的书。"},
    {"title": "第二章 试探", "outline": "主角尝试与书对话,得知一个秘密。"},
]

for ch in chapters:
    prompt = template.replace("{{book_title}}", "示例小说")
    prompt = prompt.replace("{{protagonist}}", "林默")
    prompt = prompt.replace("{{world_setting}}", "现代都市,存在隐藏的超自然力量")
    prompt = prompt.replace("{{chapter_outline}}", ch["outline"])
    prompt = prompt.replace("{{word_count}}", "800")

    response = client.chat.completions.create(
        model=MODEL,
        messages=[{"role": "user", "content": prompt}],
        temperature=0.7
    )
    content = response.choices[0].message.content

    filename = f"{ch['title']}.md"
    with open(filename, "w", encoding="utf-8") as f:
        f.write(content)
    print(f"已生成:{filename}")
    time.sleep(2)

运行脚本:

python generate.py

如果控制台依次输出“已生成:第一章 开端.md”等字样,说明调用成功。
打开生成的Markdown文件,检查内容是否符合设定和大纲。

避坑:几个容易出错的地方

  • API地址填错:BASE_URL通常以/v1结尾,但有些平台不同。报错404或Connection error时优先检查这一项。
  • 模型名称不对:模型名必须与服务商控制台一致。报错model not found时去控制台复制准确名称。
  • 额度不足或密钥失效:报错401或insufficient_quota时,检查密钥是否复制完整、账户是否有余额。
  • 生成内容偏离设定:适当降低temperature(如0.5),或在模板中增加“禁止事项”列表。
  • 脚本被中断:批量生成时加time.sleep(1~3)避免触发频率限制。如果仍然报429,把间隔调大。

验证生成效果

不要只看有没有输出文件,还要检查三件事:

  1. 章节内容是否覆盖了大纲要点:对照大纲逐条检查,缺漏的地方调整模板中的要求。
  2. 人物和设定是否一致:比如主角名字、世界观规则有没有前后矛盾。
  3. 字数是否接近要求:模型对字数控制不一定精确,可以在提示词中给出范围,或者生成后人工增删。

如果发现某一章质量明显偏低,单独修改该章的大纲描述,重新运行脚本生成该章即可,不必全部重跑。

整个配置流程并不复杂:准备好API和Python环境,把小说设定写成模板,用脚本循环调用并保存结果。
先跑通一章,确认效果后再批量生成,比一次性写完所有章节更稳妥。

分享到:
上一篇
AI剧本创作配置:用Python脚本和提示词模板自动生成剧本
下一篇
AI漫画创作配置:用ComfyUI和提示词模板批量出图
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意