agent init

This commit is contained in:
penghanyuan
2026-01-21 22:31:03 +01:00
parent 426f23c777
commit 44bd478c1e
19 changed files with 1513 additions and 111 deletions

View File

@@ -95,14 +95,115 @@ def get_text_rewrite_prompt(segments_text: str, chapter_category: str, existing_
请按照以下格式返回 JSON
{{
"title": "章节标题",
"content": "改写后的书面语内容",
"summary": "章节摘要50字以内",
"image_suggestions": ["建议插图位置1", "建议插图位置2"]
"content": "改写后的书面语内容(包含图片占位符)",
"summary": "章节摘要50字以内"
}}
要求:
1. 标题要简洁有力,能概括章节主题
2. 内容要流畅自然,保持原意和情感
3. 如果已有章节内容,请将新内容与已有内容自然融合
4. 建议插图位置要具体(如:"描述老家门口那条路的段落""""
4. 在内容中适当位置插入图片占位符
## 图片占位符格式
在描述场景、人物、重要时刻的段落后,插入:
{{{{IMAGE:具体的图片描述}}}}
示例:
{{{{IMAGE:南方小镇的青石板路,两旁是白墙黑瓦的老房子}}}}
{{{{IMAGE:奶奶坐在院子里的藤椅上,手里摇着蒲扇}}}}
占位符单独占一行,描述要具体有画面感。"""
def get_state_extraction_prompt(user_message: str, current_stage: str, stage_slots: dict) -> str:
"""抽取结构化信息并判断阶段"""
slot_keys = list(stage_slots.keys())
return f"""{get_system_prompt()}
你需要从用户话语中抽取结构化信息,并判断是否需要更新阶段。
当前阶段:{current_stage}
当前阶段可填 slots{slot_keys}
用户话语:
{user_message}
请只返回 JSON格式如下
{{
"detected_stage": "childhood|education|career|family|belief",
"slots": {{
"slot_key": "snippet"
}},
"emotion": "neutral|warm|low|highlight",
"is_new_chapter": true
}}
要求:
1. slots 只填写确实提到的内容
2. snippet 保持用户原话风格50 字以内
3. 如果没有明确内容slots 为空对象
"""
def get_creative_title_prompt(stage: str, emotion: str, slots: dict) -> str:
"""生成有创意的章节标题"""
return f"""{get_system_prompt()}
请根据阶段和情绪生成 1 个有创意的章节标题。
阶段:{stage}
情绪:{emotion}
可用信息:{slots}
要求:
1. 标题 12-18 字以内
2. 情绪 + 人生阶段 + 意象
3. 示例风格:
- 《那个夏天,我第一次离开家》
- 《在陌生城市站稳脚跟》
- 《不是所有选择都被理解》
- 《慢下来,人生开始发声》
只输出标题文字,不要加引号或其他内容。
"""
def get_narrative_prompt(stage: str, slots: dict, new_content: str, existing_content: str = "") -> str:
"""将对话改写为叙述,并增量更新"""
existing_section = f"\n\n已有内容:\n{existing_content}" if existing_content else ""
return f"""{get_system_prompt()}
请将以下对话内容整理为第一人称叙述,并与已有内容自然融合。
阶段:{stage}
可用信息:{slots}
新的对话内容:
{new_content}
{existing_section}
要求:
1. 使用第一人称叙述
2. 保留少量原话(引用)
3. 增量追加,不重写全文
4. 语气自然,有情绪
5. 在适合配图的地方插入图片占位符
## 图片占位符格式
在描述场景、人物、重要时刻的段落后,插入图片占位符,格式为:
{{{{IMAGE:图片描述}}}}
示例:
- {{{{IMAGE:南方小镇的青石板路,两旁是白墙黑瓦的老房子}}}}
- {{{{IMAGE:奶奶坐在院子里的藤椅上,手里摇着蒲扇}}}}
- {{{{IMAGE:少年背着书包站在火车站台上,回望身后的小镇}}}}
- {{{{IMAGE:泛黄的大学录取通知书,压在一摞旧课本下}}}}
图片占位符要求:
- 描述要具体、有画面感,便于后续生成或匹配图片
- 每 200-300 字左右可以插入一个
- 单独占一行,不要嵌入段落中
- 不要使用括号或星号等其他格式
只输出最终叙述文本(包含图片占位符)。
"""