feat: add tell me more button for promotion emails with AI-generated details
This commit is contained in:
@@ -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个完全不同的建议回复。
|
||||
|
||||
以下是一些已经生成过的回复,请生成全新的回复,不要与已有回复重复。
|
||||
|
||||
Reference in New Issue
Block a user