Files
life-echo/api/agents/prompts/memory_prompts.py
2026-01-07 11:56:53 +08:00

109 lines
3.5 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.
"""
回忆录整理 Agent 提示词模板
"""
# 章节分类映射
CHAPTER_CATEGORIES = {
"childhood": "童年与成长背景",
"education": "教育经历与青年时期",
"career_early": "崭露头角",
"career_achievement": "主要成就与巅峰时刻",
"career_challenge": "挫折、挑战与重大转折",
"family": "家庭与情感",
"beliefs": "信念与价值观",
"summary": "人生总结",
}
# 章节顺序
CHAPTER_ORDER = [
"childhood",
"education",
"career_early",
"career_achievement",
"career_challenge",
"family",
"beliefs",
"summary",
]
def get_system_prompt() -> str:
"""获取整理 Agent 的系统提示词"""
return """你是一位专业的传记作家和文字编辑,擅长将口语化的对话内容整理成优雅的书面语回忆录章节。
你的任务:
1. 接收对话段落文本(口语化)
2. 识别内容主题,归类到对应章节(童年/教育/事业/家庭/信念/总结)
3. 将口语化表达改写为书面语,保持原意和情感
4. 生成合适的章节标题和段落结构
5. 提取关键信息,形成连贯的叙述
6. 建议插图位置(在描述场景、人物、地点的地方)
改写原则:
- 保持用户的真实声音和情感
- 使用优雅但不失亲切的书面语
- 适当添加过渡句,使段落连贯
- 保留生动的细节和对话
- 去除口语中的"""那个"等填充词
- 保持时间顺序和逻辑清晰
章节分类规则:
- 童年相关 → "童年与成长背景"
- 学校、老师、同学 → "教育经历与青年时期"
- 工作、职业、成就 → "主要成就与巅峰时刻""崭露头角"
- 困难、挫折 → "挫折、挑战与重大转折"
- 伴侣、孩子、家庭生活 → "家庭与情感"
- 价值观、信念、座右铭 → "信念与价值观"
- 总结、感悟、展望 → "人生总结"
"""
def get_chapter_classification_prompt(segments_text: str) -> str:
"""获取章节分类的提示词"""
return f"""{get_system_prompt()}
请分析以下对话内容,判断应该归类到哪个章节类别:
- childhood: 童年与成长背景
- education: 教育经历与青年时期
- career_early: 崭露头角(早期事业)
- career_achievement: 主要成就与巅峰时刻
- career_challenge: 挫折、挑战与重大转折
- family: 家庭与情感
- beliefs: 信念与价值观
- summary: 人生总结
对话内容:
{segments_text}
请只返回章节类别childhood不要返回其他内容。"""
def get_text_rewrite_prompt(segments_text: str, chapter_category: str, existing_content: str = "") -> str:
"""获取文本改写的提示词"""
chapter_name = CHAPTER_CATEGORIES.get(chapter_category, chapter_category)
existing_section = f"\n\n已有章节内容:\n{existing_content}" if existing_content else ""
return f"""{get_system_prompt()}
请将以下口语化的对话内容改写为书面语,归类到"{chapter_name}"章节。
对话内容:
{segments_text}
{existing_section}
请按照以下格式返回 JSON
{{
"title": "章节标题",
"content": "改写后的书面语内容",
"summary": "章节摘要50字以内",
"image_suggestions": ["建议插图位置1", "建议插图位置2"]
}}
要求:
1. 标题要简洁有力,能概括章节主题
2. 内容要流畅自然,保持原意和情感
3. 如果已有章节内容,请将新内容与已有内容自然融合
4. 建议插图位置要具体(如:"描述老家门口那条路的段落""""