diff --git a/backend/app/api/characters.py b/backend/app/api/characters.py index 26826d1..a47287d 100644 --- a/backend/app/api/characters.py +++ b/backend/app/api/characters.py @@ -420,7 +420,7 @@ async def generate_character( """ # 获取自定义提示词模板 - template = await PromptService.get_template("SINGLE_CHARACTER", user_id, db) + template = await PromptService.get_template("SINGLE_CHARACTER_GENERATION", user_id, db) # 格式化提示词 prompt = PromptService.format_prompt( template, @@ -829,7 +829,7 @@ async def generate_character_stream( yield await SSEResponse.send_progress("构建AI提示词...", 20) # 获取自定义提示词模板 - template = await PromptService.get_template("SINGLE_CHARACTER", user_id, db) + template = await PromptService.get_template("SINGLE_CHARACTER_GENERATION", user_id, db) # 格式化提示词 prompt = PromptService.format_prompt( template, diff --git a/backend/app/api/organizations.py b/backend/app/api/organizations.py index 05ed465..20d9745 100644 --- a/backend/app/api/organizations.py +++ b/backend/app/api/organizations.py @@ -497,7 +497,7 @@ async def generate_organization( """ # 获取自定义提示词模板 - template = await PromptService.get_template("SINGLE_ORGANIZATION", user_id, db) + template = await PromptService.get_template("SINGLE_ORGANIZATION_GENERATION", user_id, db) # 格式化提示词 prompt = PromptService.format_prompt( template, @@ -693,7 +693,7 @@ async def generate_organization_stream( yield await SSEResponse.send_progress("构建AI提示词...", 20) # 获取自定义提示词模板 - template = await PromptService.get_template("SINGLE_ORGANIZATION", user_id, db) + template = await PromptService.get_template("SINGLE_ORGANIZATION_GENERATION", user_id, db) # 格式化提示词 prompt = PromptService.format_prompt( template, diff --git a/backend/app/api/polish.py b/backend/app/api/polish.py index 4f9906f..6710baf 100644 --- a/backend/app/api/polish.py +++ b/backend/app/api/polish.py @@ -37,7 +37,7 @@ async def polish_text( user_id = getattr(http_request.state, 'user_id', None) # 获取自定义提示词模板 - template = await PromptService.get_template("DENOISING", user_id, db) + template = await PromptService.get_template("AI_DENOISING", user_id, db) # 格式化提示词 prompt = PromptService.format_prompt( template, @@ -111,7 +111,7 @@ async def polish_batch( logger.info(f"处理第 {idx+1}/{len(texts)} 个文本") # 获取自定义提示词模板 - template = await PromptService.get_template("DENOISING", user_id, db) + template = await PromptService.get_template("AI_DENOISING", user_id, db) # 格式化提示词 prompt = PromptService.format_prompt(template, original_text=text) diff --git a/backend/app/api/wizard_stream.py b/backend/app/api/wizard_stream.py index 7125f3f..42a785f 100644 --- a/backend/app/api/wizard_stream.py +++ b/backend/app/api/wizard_stream.py @@ -458,7 +458,7 @@ async def characters_generator( batch_requirements += "\n主要是配角(supporting)和反派(antagonist)" # 获取自定义提示词模板 - template = await PromptService.get_template("CHARACTERS_BATCH", user_id, db) + template = await PromptService.get_template("CHARACTERS_BATCH_GENERATION", user_id, db) # 构建基础提示词 base_prompt = PromptService.format_prompt( template, diff --git a/backend/app/services/chapter_regenerator.py b/backend/app/services/chapter_regenerator.py index db6ca69..59a7714 100644 --- a/backend/app/services/chapter_regenerator.py +++ b/backend/app/services/chapter_regenerator.py @@ -178,7 +178,7 @@ class ChapterRegenerator: ) -> str: """构建完整的重新生成提示词""" # 获取自定义提示词模板 - template = await PromptService.get_template("CHAPTER_REGENERATION", user_id, db) + template = await PromptService.get_template("CHAPTER_REGENERATION_SYSTEM", user_id, db) # 格式化提示词 return PromptService.format_prompt( template, diff --git a/backend/app/services/prompt_service.py b/backend/app/services/prompt_service.py index a77041f..387c734 100644 --- a/backend/app/services/prompt_service.py +++ b/backend/app/services/prompt_service.py @@ -2081,7 +2081,26 @@ class PromptService: # 2. 降级到系统默认模板 logger.info(f"⚪ 使用系统默认提示词: user_id={user_id}, template_key={template_key} (未找到自定义模板)") - return getattr(cls, template_key, None) + + # 特殊处理灵感模式的提示词(存储在INSPIRATION_PROMPTS字典中) + if template_key.startswith("INSPIRATION_"): + # 提取步骤名称(如 INSPIRATION_TITLE -> title) + step = template_key.replace("INSPIRATION_", "").lower() + inspiration_prompt = cls.INSPIRATION_PROMPTS.get(step) + if inspiration_prompt: + # 返回JSON格式的提示词 + return json.dumps(inspiration_prompt, ensure_ascii=False) + # 如果是INSPIRATION_QUICK_COMPLETE + if template_key == "INSPIRATION_QUICK_COMPLETE": + return cls.INSPIRATION_QUICK_COMPLETE + + # 其他模板直接从类属性获取 + template_content = getattr(cls, template_key, None) + + if template_content is None: + logger.warning(f"⚠️ 未找到系统默认模板: {template_key}") + + return template_content @classmethod def get_all_system_templates(cls) -> list: