自动小说生成工具(AI_NovelGenerator)

2个月前更新 110 00

AI_NovelGenerator 并非要取代作家,而是成为创作者手中的“智能笔”。它解决了传统 AI 写作中最棘手的问题——长程一致性与设定统一性,让创作者可以专注于创意本身,而非反复提醒 AI“这个角色已经死了”。如果你正在尝试用 AI 进行网文、剧本或互动故事创作,不妨试试这个工具,或许它能帮你把脑海中的宏大世界,真正落笔成章。

所在地:
中国
收录时间:
2025-10-04
自动小说生成工具(AI_NovelGenerator)自动小说生成工具(AI_NovelGenerator)

在 AI 创作日益普及的今天,从短文本到长篇内容,生成式模型正在改变内容生产的边界。

AI_NovelGenerator 就是一款专为中文写作者设计的全流程自动化小说生成系统,结合 LLM(大语言模型)与向量检索技术,帮助用户高效创作逻辑严谨、设定统一、剧情连贯的长篇故事。

自动小说生成工具(AI_NovelGenerator)

它不仅是一个“自动写文”工具,更是一套完整的AI 辅助写作工作流,覆盖世界观构建、角色设定、章节生成、状态追踪与一致性审校。

核心功能一览

模块功能说明
🎨 小说设定工坊自动生成世界观、人物设定、剧情主线与暗线伏笔
📖 智能章节生成分阶段生成大纲 → 草稿 → 定稿,保障叙事连贯性
🧠 状态追踪系统实时记录角色成长轨迹、情感变化与关键事件
🔍 语义检索引擎基于向量数据库维护长程上下文一致性
📚 知识库集成支持导入本地文档作为背景参考
✅ 自动审校机制检测剧情矛盾、时间错乱、人设崩塌等逻辑冲突
🖥️ 可视化工作台图形界面操作,无需编程即可完成全流程管理

该工具特别适合:

  • 网络小说创作者
  • 游戏剧本开发者
  • AI 写作研究者
  • 需要批量生成叙事内容的内容团队

技术架构概览

项目采用模块化设计,各组件职责清晰,便于扩展与调试:

AI_NovelGenerator/
├── main.py                      # 主入口,启动 GUI
├── config_manager.py            # 配置管理(API 密钥、模型参数)
├── prompt_definitions.py        # 所有提示词模板定义
├── utils.py                     # 工具函数(文件读写、日志等)
├── consistency_checker.py       # 剧情一致性检测模块
├── chapter_directory_parser.py  # 章节目录解析器
├── llm_adapters.py              # 统一封装 OpenAI / Ollama 等 LLM 接口
├── embedding_adapters.py        # 向量化接口适配层
├── novel_generator/             # 章节生成核心逻辑
├── ui/                          # PyQt5 构建的图形界面
└── vectorstore/                 # 本地向量数据库存储(可选)

所有生成过程均通过提示工程驱动,并结合外部记忆机制(vectorstore)实现跨章节信息同步。

环境准备

✅ 系统要求

  • Python 版本:3.9+(推荐使用 3.10–3.12
  • 包管理工具:pip
  • 外部依赖:
    • 若使用云端模型(如 GPT-4、DeepSeek),需提供有效 API Key
    • 若使用本地模型(如 Ollama),需提前安装并运行服务

💡 推荐环境配置

# 使用 conda 创建独立环境(可选但推荐)
conda create -n novelgen python=3.11
conda activate novelgen

安装步骤

1. 克隆项目

git clone https://github.com/YILING0013/AI_NovelGenerator
cd AI_NovelGenerator

2. 安装依赖

pip install -r requirements.txt

⚠️ Windows 用户注意:若遇到 C++ 编译错误,请安装 Visual Studio Build Tools,并在安装时勾选「C++ 桌面开发」组件。

3. (可选)打包为可执行文件

如需在无 Python 环境的电脑上运行,可使用 PyInstaller 打包:

pip install pyinstaller
pyinstaller main.spec

完成后将在 dist/ 目录生成 main.exe(Windows)或对应平台的可执行程序。

配置说明(config.json)

项目支持通过 config.json 文件预设参数,简化重复设置。

{
    "api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "base_url": "https://api.openai.com/v1",
    "interface_format": "OpenAI",
    "model_name": "gpt-4o-mini",
    "temperature": 0.7,
    "max_tokens": 4096,
    
    "embedding_api_key": "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "embedding_interface_format": "OpenAI",
    "embedding_url": "https://api.openai.com/v1",
    "embedding_model_name": "text-embedding-ada-002",
    "embedding_retrieval_k": 4,
    
    "topic": "星穹铁道主角星穿越到原神提瓦特大陆,拯救提瓦特大陆,并与其中的角色展开爱恨情仇的小说",
    "genre": "玄幻",
    "num_chapters": 120,
    "word_number": 4000,
    "filepath": "D:/AI_NovelGenerator/filepath"
}

参数详解

生成模型配置

字段说明
api_keyLLM 服务商的 API 密钥(OpenAI、DeepSeek 等)
base_urlAPI 地址(本地可用 http://localhost:11434/v1
model_name主模型名称(如 gpt-4oqwen-maxllama3
temperature创意度(0~1),越高越发散,建议 0.7–0.9
max_tokens单次响应最大 token 数量

Embedding 模型配置

字段说明
embedding_model_name向量模型名(如 nomic-embed-texttext-embedding-ada-002
embedding_url向量服务地址
embedding_retrieval_k每次检索返回最相似的 k 条上下文

小说参数配置

字段说明
topic故事核心主题
genre类型(科幻、玄幻、都市、悬疑等)
num_chapters总章节数
word_number每章目标字数(单位:汉字)
filepath输出文件保存路径

使用流程(GUI 操作指南)

启动主程序后,进入图形化界面,按以下五步完成小说创作:

Step 1:填写基础配置

在 GUI 中输入或确认以下信息:

  • API Key 和 Base URL
  • 模型名称(支持任意兼容 OpenAI 接口的模型)
  • Temperature(建议 0.7–0.8)
  • 主题(Topic)与类型(Genre)
  • 章节数、每章字数
  • 本地输出路径(建议新建专用文件夹)

点击「保存配置」以持久化设置。

Step 2:生成小说设定(Novel Setting)

点击「Step1. 生成设定」

系统将调用 LLM 生成:

  • 世界观架构(地理、势力、规则)
  • 主要角色档案(姓名、性格、动机)
  • 核心剧情蓝图(开端、发展、高潮、结局)
  • 雷点与禁忌设定(避免后续冲突)

输出文件:Novel_setting.txt
✅ 支持手动修改后再进入下一步

Step 3:生成章节目录(Directory)

点击「Step2. 生成目录」

系统根据 Novel_setting.txt 自动生成全书章节结构:

  • 每章标题
  • 简要剧情提示(prompt for generation)

输出文件:Novel_directory.txt
✅ 可编辑调整顺序或补充细节

Step 4:生成章节草稿

点击「Step3. 生成章节草稿」

输入目标章节号(如第 5 章),并可选择性填写:

  • 「本章指导」:添加特定剧情期望(如“本章必须出现反派登场”)

系统会自动执行以下流程:

  1. 读取前期设定文件
  2. 从 vectorstore 中检索相关上下文(角色状态、前情提要)
  3. 调用 LLM 生成本章大纲(outline_X.txt
  4. 基于大纲生成正文初稿(chapter_X.txt

左侧文本框将实时显示生成结果,支持查看与编辑。

Step 5:定稿当前章节

点击「Step4. 定稿当前章节」

系统将:

  • 更新全局摘要(global_summary.txt
  • 记录角色最新状态(character_state.txt
  • 将本章内容存入向量数据库(用于后续检索)
  • 更新剧情弧线与伏笔列表(plot_arcs.txt

✅ 至此,该章节正式纳入“已定稿”体系,成为后续章节的上下文依据。

(可选)一致性审校

点击「[可选] 一致性审校」

系统会对最新章节进行逻辑扫描,检测:

  • 角色行为是否违背其设定
  • 时间线是否错乱
  • 地点切换是否合理
  • 是否遗漏重要伏笔回收

发现问题将在日志区高亮提示,辅助人工修正。

向量检索配置提示

为了保证长篇小说的上下文一致性,本工具引入了基于向量的语义检索机制:

使用方式

  1. 在配置中指定 Embedding 模型和服务地址
  2. 第一次运行时自动生成 vectorstore/ 目录
  3. 每次“定稿”后,系统自动将章节内容编码并存入数据库

不同场景配置建议

场景配置方法
使用云端服务(OpenAI)设置 embedding_url=https://api.openai.com/v1 + 对应 API Key
使用本地 Ollama确保已启动服务:
ollama serve
下载模型:
ollama pull nomic-embed-text
设置 embedding_url=http://localhost:11434/v1
更换模型修改 embedding_model_name 并清空 vectorstore/ 目录(避免向量不匹配)

常见问题解答(FAQ)

❓ Q1: 报错 Expecting value: line 1 column 1 (char 0)

原因:API 请求未正常返回 JSON,可能收到 HTML 错误页或其他非预期响应。
解决

  • 检查 API Key 是否正确
  • 确认 base_url 格式无多余空格
  • 查看网络连接是否稳定

❓ Q2: 出现 HTTP/1.1 504 Gateway Timeout

原因:请求超时,常见于服务器响应慢或网络延迟高。
解决

  • 切换更稳定的 API 服务节点
  • 降低单章字数以减少生成耗时
  • 检查本地防火墙或代理设置

❓ Q3: 如何切换不同的 Embedding 提供商?

在 GUI 界面中直接修改以下字段:

  • Embedding API Key
  • Embedding URL
  • Embedding Model Name

例如:

  • OpenAI:text-embedding-ada-002
  • Ollama:nomic-embed-text
  • 百度千帆:bge-large-en

切换后建议删除 vectorstore/ 文件夹重新初始化。

设计理念与优势总结

优势说明
✅ 流程标准化五步法引导创作,降低使用门槛
✅ 上下文可控向量检索 + 状态文件双保险,防止“失忆式写作”
✅ 本地化支持可对接 Ollama、LocalAI 等本地模型,保护隐私
✅ 易于扩展模块解耦,可替换提示词、模型、向量化方案
✅ 开源透明全部代码公开,无隐藏数据收集行为

注意事项

  • 本工具生成内容为 AI 辅助产出,不代表最终作品质量,仍需人工润色与把关。
  • 长篇小说生成对算力要求较高,建议使用高性能模型(如 GPT-4、Claude 3)以获得最佳效果。
  • 若使用免费或低配模型,可能出现情节跳跃、逻辑断裂等问题,属正常现象。

数据统计

相关导航

暂无评论

none
暂无评论...