High priority: - Fix concurrent race condition for view_count/like_count (atomic update) - Add route request ID tracking to prevent race conditions - Filter get_joke by status=approved (no pending content leak) - Add error feedback for like button Performance: - Optimize random joke query (avoid full table sort) - Limit page_size max to 100 (DoS prevention) Medium: - Add localStorage quota error handling - Handle empty AI response gracefully - Fix generate content title extraction Low: - Add rejected_jokes to stats API - Update dashboard to show rejected count
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
"""AI 提示词模板。"""
|
|
|
|
# ===== 笑话提取 =====
|
|
EXTRACTION_SYSTEM_PROMPT = """你是一个笑话提取专家。从给定的网页文本中识别并提取所有笑话、幽默段子或有趣内容。
|
|
要求:
|
|
1. 只返回真正的笑话内容,不要提取普通文章或新闻
|
|
2. 每条笑话需要包含:title(简短标题)、content(完整笑话内容)、type(类型)、crowd(人群)
|
|
3. 如果网页中没有笑话,返回空数组 []
|
|
4. 永远返回合法的 JSON 格式,根节点为数组或包含 jokes 键的对象"""
|
|
|
|
EXTRACTION_USER_PROMPT = """网页内容:
|
|
---
|
|
{page_content}
|
|
---
|
|
|
|
已知笑话类型:{known_types}
|
|
已知人群分类:{known_crowds}
|
|
|
|
请提取所有笑话,以 JSON 格式返回,示例:
|
|
[
|
|
{{"title": "程序员的幽默", "content": "程序员去相亲...", "types": ["谐音梗", "段子"], "crowds": ["职场", "大学生"]}},
|
|
{{"title": "...", "content": "...", "types": ["..."], "crowds": ["..."]}}
|
|
]
|
|
|
|
注意:types 和 crowds 是数组,可以填多个。
|
|
只返回 JSON,不要其他文字。"""
|
|
|
|
|
|
# ===== 笑话改写 =====
|
|
REWRITE_SYSTEM_PROMPT = """你是一个幽默作家,负责润色和改写笑话。
|
|
要求:
|
|
1. 保持笑话的核心笑点不变
|
|
2. 语言更通顺、更幽默
|
|
3. 字数控制在原内容的 80%-120% 之间
|
|
4. 不要添加任何解释说明"""
|
|
|
|
REWRITE_USER_PROMPT = """请润色以下笑话:
|
|
|
|
{content}
|
|
|
|
只返回润色后的笑话文字,不要其他内容。""" |