feat: add tell me more button for promotion emails with AI-generated details

This commit is contained in:
2026-07-11 22:17:10 +08:00
parent cf0f7d3956
commit 13b76c00ab
2 changed files with 55 additions and 2 deletions

View File

@@ -61,6 +61,28 @@ def summarize_email(ai_cfg: AIConfig, recipient: str, subject: str, sender: str,
return _call_deepseek(ai_cfg, payload)
PROMO_DETAIL_PROMPT = """你是一个邮件分析助手。用户想了解更多关于这封推广邮件的详情。
请根据邮件原文,输出 3-5 条关键信息,每条一句话,简洁明了。包括:优惠力度、适用条件、截止时间、核心卖点等用户做决策需要知道的信息。
只返回一个 JSON: {"details": ["信息1", "信息2", ...]}
只返回 JSON不要包含任何其他文字。"""
@retry()
def expand_promo_detail(ai_cfg: AIConfig, sender: str, subject: str, body: str) -> list[str]:
logger.info("AI 推广详情请求: sender=%s subject=%s", sender, subject)
content = f"发件人: {sender}\n主题: {subject}\n正文:\n{body[:4000]}"
payload = {
"model": ai_cfg.model,
"messages": [
{"role": "system", "content": PROMO_DETAIL_PROMPT},
{"role": "user", "content": content},
],
"response_format": {"type": "json_object"},
}
result = _call_deepseek(ai_cfg, payload)
return result.get("details", [])
MORE_REPLIES_PROMPT = """你是一个邮件回复助手。根据以下邮件内容生成3个完全不同的建议回复。
以下是一些已经生成过的回复,请生成全新的回复,不要与已有回复重复。