NarratoAI/app/services/prompts/exceptions.py
linyq dbbb06eda8 feat(prompts): 引入新的提示词管理系统以优化解说文案生成
更新generate_narration_script.py、short_drama_explanation.py和step1_subtitle_analyzer_openai.py文件,集成新的提示词管理系统,提升解说文案和短剧分析的生成效率与准确性。通过使用PromptManager简化提示词构建过程,增强系统的灵活性和可维护性。
2025-07-07 17:13:54 +08:00

80 lines
2.2 KiB
Python

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project: NarratoAI
@File : exceptions.py
@Author : AI Assistant
@Date : 2025/1/7
@Description: 提示词管理模块异常定义
"""
class PromptError(Exception):
"""提示词模块基础异常类"""
pass
class PromptNotFoundError(PromptError):
"""提示词未找到异常"""
def __init__(self, category: str, name: str, version: str = None):
self.category = category
self.name = name
self.version = version
if version:
message = f"提示词未找到: {category}.{name} (版本: {version})"
else:
message = f"提示词未找到: {category}.{name}"
super().__init__(message)
class PromptValidationError(PromptError):
"""提示词验证异常"""
def __init__(self, message: str, validation_errors: list = None):
self.validation_errors = validation_errors or []
super().__init__(message)
class TemplateRenderError(PromptError):
"""模板渲染异常"""
def __init__(self, template_name: str, error_message: str, missing_params: list = None):
self.template_name = template_name
self.error_message = error_message
self.missing_params = missing_params or []
message = f"模板渲染失败 '{template_name}': {error_message}"
if missing_params:
message += f" (缺少参数: {', '.join(missing_params)})"
super().__init__(message)
class PromptRegistrationError(PromptError):
"""提示词注册异常"""
def __init__(self, category: str, name: str, reason: str):
self.category = category
self.name = name
self.reason = reason
message = f"提示词注册失败 {category}.{name}: {reason}"
super().__init__(message)
class PromptVersionError(PromptError):
"""提示词版本异常"""
def __init__(self, category: str, name: str, version: str, reason: str):
self.category = category
self.name = name
self.version = version
self.reason = reason
message = f"提示词版本错误 {category}.{name} v{version}: {reason}"
super().__init__(message)