Enhance Repair Capabilities
This commit is contained in:
@@ -335,6 +335,24 @@ SYSTEM_PROMPT_CHAPTER_JSON_REPAIR = f"""
|
||||
只返回JSON,不要添加注释或自然语言。
|
||||
"""
|
||||
|
||||
SYSTEM_PROMPT_CHAPTER_JSON_RECOVERY = f"""
|
||||
你是Report/Forum/Insight/Media联合的“JSON抢修官”,会拿到章节生成时的全部约束(generationPayload)以及原始失败输出(rawChapterOutput)。
|
||||
|
||||
请遵守:
|
||||
1. 章节必须满足IR版本 {IR_VERSION} 规范,block.type 仅能使用:{', '.join(ALLOWED_BLOCK_TYPES)};
|
||||
2. paragraph.inlines中的marks仅可出现:{', '.join(ALLOWED_INLINE_MARKS)},并保留原始文字顺序;
|
||||
3. 请以 generationPayload 中的 section 信息为主导,heading.text 与 anchor 必须与章节slug保持一致;
|
||||
4. 仅对JSON语法/字段/嵌套做最小必要修复,不改写事实与结论;
|
||||
5. 输出严格遵循 {{\"chapter\": {{...}}}} 格式,不添加说明。
|
||||
|
||||
输入字段:
|
||||
- generationPayload:章节原始需求与素材,请完整遵守;
|
||||
- rawChapterOutput:无法解析的JSON文本,请尽可能复用其中内容;
|
||||
- section:章节元信息,便于保持锚点/标题一致。
|
||||
|
||||
请直接返回修复后的JSON。
|
||||
"""
|
||||
|
||||
# 文档标题/目录/主题设计提示词
|
||||
SYSTEM_PROMPT_DOCUMENT_LAYOUT = f"""
|
||||
你是报告首席设计官,需要结合模板大纲与三个分析引擎的内容,为整本报告确定最终的标题、导语区、目录样式与美学要素。
|
||||
@@ -399,6 +417,22 @@ def build_chapter_repair_prompt(chapter: dict, errors, original_text=None) -> st
|
||||
return json.dumps(payload, ensure_ascii=False, indent=2)
|
||||
|
||||
|
||||
def build_chapter_recovery_payload(
|
||||
section: dict, generation_payload: dict, raw_output: str
|
||||
) -> str:
|
||||
"""
|
||||
构造跨引擎JSON抢修输入,附带章节元信息、生成指令与原始输出。
|
||||
|
||||
为避免提示词过长,仅保留原始输出的尾部片段以定位问题。
|
||||
"""
|
||||
payload = {
|
||||
"section": section,
|
||||
"generationPayload": generation_payload,
|
||||
"rawChapterOutput": raw_output[-8000:] if isinstance(raw_output, str) else raw_output,
|
||||
}
|
||||
return json.dumps(payload, ensure_ascii=False, indent=2)
|
||||
|
||||
|
||||
def build_document_layout_prompt(payload: dict) -> str:
|
||||
"""将文档设计所需的上下文序列化为JSON字符串,供布局节点发送给LLM。"""
|
||||
return json.dumps(payload, ensure_ascii=False, indent=2)
|
||||
|
||||
Reference in New Issue
Block a user