Files
beige/backend/app/services/ai_engine/fission_prompt.py
yangqianqian cefdbaabdc feat(M7): 第11环裂变引擎端到端打通
- fission_service: 1源任务扇出N套子任务(回填source_fission_id,复用主管道),MAX_FANOUT=5红线
- fission_prompt: 三档参考度(high/mid/low)占位规则,真实措辞待北哥定义
- tasks.py: worker识别裂变子任务→注入对应档位规则进文案上下文(关键缺口修复)
- api/v1/fission: POST触发 + GET进度聚合, main.py注册路由
- 实测: fission_id=2扇出task70/71,worker注入日志level=high,进度端点聚合正确

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 15:05:27 +08:00

44 lines
2.0 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.
"""
app/services/ai_engine/fission_prompt.py — 第11环裂变 三档参考度 prompt
裂变=1爆款→N套完整笔记包。参考度档位控制"新套子贴原爆款多紧"
high=贴原爆款结构+卖点(最像) / mid=保卖点换叙事角度 / low=只借选题方向(最自由)
🔴 占位规则(倩倩姐2026-06-16:先移植打通再请北哥定档位)。
档位真实措辞待北哥定义后替换 _LEVEL_RULES,引擎链路不动。
"""
# 三档占位规则:注入文案引擎 flywheel_context约束"参考原爆款多少"
_LEVEL_RULES = {
"high": (
"【裂变参考度=高】请紧贴下面这篇原爆款的正文结构、开头钩子、卖点排布与情绪语气,"
"近乎仿写——只替换表达措辞做到不查重,骨架与卖点角度都保留。"
),
"mid": (
"【裂变参考度=中】请保留下面这篇原爆款的核心卖点,但换一个全新的叙事角度/切入场景重写,"
"结构可调整,让读者看不出是同一套路。"
),
"low": (
"【裂变参考度=低】请只借鉴下面这篇原爆款的选题方向与目标人群,"
"文案结构、卖点呈现、叙事全部自由发挥,做出明显差异化的新笔记。"
),
}
def build_fission_context(source_note: dict, reference_level: str) -> str:
"""
返回注入 text_variants(flywheel_context=) 的档位规则字符串。
source_note: {title, content, ...} 原爆款笔记内容。
reference_level: high/mid/low非法值回落 mid。
"""
rule = _LEVEL_RULES.get(reference_level, _LEVEL_RULES["mid"])
title = (source_note or {}).get("title", "")
content = (source_note or {}).get("content", "")
src = f"原爆款标题:{title}\n原爆款正文:{content}".strip()
return f"{rule}\n\n--- 原爆款参考 ---\n{src}"
def valid_level(level: str | None) -> str:
"""校验档位,非法回落 mid。"""
return level if level in _LEVEL_RULES else "mid"