Files
AI_NovelGenerator/prompt_definitions.py
T
2025-02-04 16:11:17 +08:00

144 lines
5.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# prompt_definitions.py
# -*- coding: utf-8 -*-
"""
集中存放所有提示词(Prompt),新版本更精确、更具创新性,结合部分雪花写作法等理论。
"""
# =============== 1. 整体设定 ===================
set_prompt = """\
请根据主题: {topic}、类型: {genre}、章数: {number_of_chapters}、每章字数: {word_number} 来设计小说的总体结构和世界观。
写作时请参考雪花写作法等创作理论,结合以下要点:
• 小说标题与大致篇幅(总字数范围)。
• 类型与基调(如:都市、魔幻、战争、轻松、暗黑等)。
• 主要写作风格(视角、叙述方式、语言风格等)。
• 世界观设定(背景时间、地理环境、社会结构、科技或魔法水平、重要历史等)。
• 整体故事框架(可提及常见叙事结构:三幕、英雄之旅等)。
• 主线与副线的初步构想,以及它们如何交织。
• 关键角色群像定位与主要冲突关系。
• 结局的可能方向(圆满、悲剧、开放式等)。
请以简洁、逻辑清晰的方式输出,保留足够细节以支撑后续创作。
"""
# =============== 2. 角色设定 ===================
character_prompt = """\
基于已生成的小说整体设定:
{novel_setting}
请进一步扩展角色设置,至少包含三名核心角色。对每位角色说明:
• 角色背景、外貌与主要性格特征。
• 内在冲突、目标与动机。
• 暗藏的秘密或潜在弱点(可与世界观或其他角色有关)。
• 与其他角色的关系或对立点,如何推动或阻碍情节发展。
请重点突出角色的多重面向,为后续情节埋下伏笔。
"""
# =============== 3. 暗线与伏笔 ===================
dark_lines_prompt = """\
在当前世界观与角色关系中:
{character_info}
请构思若干暗线、伏笔或隐藏冲突,结合雪花写作法“细节逐步扩展”的思路。要求:
• 每条暗线给出初始迹象、后续发展与可能的爆发条件。
• 与角色背景、世界观或关键事件相呼应。
• 保持合理的悬念设置,与现有设定不冲突。
• 为后续剧情保留足够展开空间,强调持续影响故事进程。
请避免一次性透漏全部细节,以逐步揭示的方式为后文做铺垫。
"""
# =============== 4. 最终设定整合 ===================
finalize_setting_prompt = """\
基于以下内容,请整合并输出终稿《小说设定》:
1. 整体设定:
{novel_setting_base}
2. 角色设定:
{character_setting}
3. 暗线与伏笔:
{dark_lines}
整合要求:
• 以整体视角整理世界观、角色与暗线,形成一个有机结合的故事框架。
• 注意角色动机与暗线如何与世界观互相呼应,并兼顾主线与副线节奏。
• 语言通顺、层次分明。直接输出文本,不使用Markdown格式。
"""
# =============== 5. 小说目录 ===================
novel_directory_prompt = """\
根据以下最终《小说设定》:
{final_novel_setting}
请列出共 {number_of_chapters} 章的目录,并保证每章的标题或简述能呼应主要冲突、角色成长及暗线埋设。
目录格式示例:
第1章 <标题> - <简要说明>
第2章 <标题> - <简要说明>
...
{number_of_chapters}<标题> - <简要说明>
每章可酌情加入一句简述,引导读者了解本章看点。直接输出文本,不使用Markdown。
"""
# =============== 6. 全局摘要更新 ===================
summary_prompt = """\
以下是新完成的章节文本:
{chapter_text}
这是当前的全局摘要(可为空):
{global_summary}
请根据本章新增内容,更新全局摘要。保留既有重要信息,同时融入新剧情要点,勿剧透未来。控制在不超过3000字的范围内,语言简练流畅。
"""
# =============== 7. 角色状态更新 ===================
update_character_state_prompt = """\
以下是新完成的章节文本:
{chapter_text}
这是当前的角色状态文档(可为空):
{old_state}
请更新角色状态,内容包括:
• 角色的物品、能力或心理状态变化。
• 角色间关系的最新进展或冲突。
• 是否触发或加深了某些暗线或关键事件。
• 任何新增角色或临时出场人物的基本信息。
请直接在已有文档基础上进行增删,语言尽量简洁、有条理。
"""
# =============== 8. 章节大纲设计 ===================
chapter_outline_prompt = """\
这是当前小说的重要信息:
- 小说设定:{novel_setting}
- 角色状态:{character_state}
- 全局摘要:{global_summary}
我们即将写第 {novel_number} 章,标题:{chapter_title},简述(若有):{chapter_brief}
请按照以下思路设计本章大纲:
1. 本章的主要冲突或情节目标,如何与标题呼应。
2. 出场角色及其动机,对剧情走向的推动或阻碍。
3. 暗线或伏笔如何有所进展或被揭示。
4. 本章结尾的悬念或转折,如何为下一章做铺垫。
请以简要分点方式输出,不要使用Markdown格式。
"""
# =============== 9. 章节正文写作 ===================
chapter_write_prompt = """\
以下信息供你参考:
1. 小说设定:{novel_setting}
2. 角色状态:{character_state}
3. 全局摘要:{global_summary}
4. 本章大纲:{chapter_outline}
请写出第 {novel_number} 章的正文,标题为“{chapter_title}”。需要:
• 字数不少于 {word_number} 字,与标题和简述相呼应。
• 保持连贯叙述,可增加环境、心理、对话等细节描写。
• 适度呼应前文暗线或角色矛盾,为后续发展留出悬念。
直接输出正文内容,不使用分章节小标题,章节末留一定悬念。
"""