214 lines
7.8 KiB
Python
214 lines
7.8 KiB
Python
import requests
|
||
import json
|
||
|
||
|
||
# 解析JSON
|
||
def extract_content(data_string):
|
||
try:
|
||
data = json.loads(data_string)
|
||
# 提取content字段
|
||
content = data["choices"][0]["message"].get("content", "")
|
||
return content
|
||
except json.JSONDecodeError:
|
||
print("Invalid JSON")
|
||
return None
|
||
|
||
|
||
def message_summary(content):
|
||
# 设置Authorization和URL
|
||
|
||
authorization = "Bearer b8586595-eb81-483d-8e91-a35cc789729e" # 请替换为真实的Authorization token
|
||
url = 'https://ark.cn-beijing.volces.com/api/v3/chat/completions'
|
||
# 群聊精华总结生成指令
|
||
prompt = """
|
||
【基础要求】
|
||
|
||
总结风格:采用轻松幽默的口吻,加入适量的网络流行语和emoji(如👍/🎉等),让总结更有趣。
|
||
时间范围:[自动识别最新日期]的群聊记录。
|
||
|
||
【结构要求】:
|
||
⭐ 创意标题(10字内,带emoji)
|
||
📊 数据看板(消息总数/最活跃时段)
|
||
🕒 聊天时段(开始时间 - 结束时间)
|
||
🗂️ 话题星系(分类3-5个核心话题)
|
||
🏆 今日MVP(最具贡献成员+获奖理由)
|
||
|
||
【话题分析细则】:
|
||
分类逻辑:根据聊天主题相关性自动聚类。
|
||
过滤无效内容:过滤广告/刷屏等无效内容。
|
||
识别延伸话题树:自动识别主话题及相关子话题。
|
||
|
||
质量评分维度:
|
||
🎯 参与度(参与人数/消息密度)
|
||
💡 信息量(实用知识/资源分享)
|
||
🎭 娱乐值(段子/梗图/神回复)
|
||
⚡ 热议指数(讨论持续时间)
|
||
|
||
评分方式:根据话题参与人数动态生成星级评分(1-5颗星)。
|
||
|
||
贡献者识别:
|
||
标记每个话题的"话题发起者"和"气氛担当"。
|
||
统计优质内容产出者(表情包/段子/资源等)。
|
||
自动生成趣味头衔(如“段子王”、“知识达人”、“活跃分子”等)。
|
||
|
||
【输出模板】
|
||
「[群名]-[最新日期]群聊总结」
|
||
|
||
📊 今日数据快报:
|
||
- 共诞生[消息数]条信息
|
||
- 最活跃时段:[时段]([消息数]条/小时)
|
||
- 聊天时段:[开始时间] - [结束时间]
|
||
|
||
🌌 话题总结:
|
||
1️⃣ 【[话题1]】⭐️⭐️⭐️⭐️⭐️
|
||
🔍 [3句话简要回顾]
|
||
🏅 热点人物:[@用户A] [@用户B]
|
||
💬 精彩语录:"[精选金句]"...
|
||
|
||
2️⃣ 【[话题2]】⭐️⭐️⭐️⭐️
|
||
🔍 [3句话高能回顾]
|
||
🏅 知识分享:[@用户C]
|
||
📌 实用内容:[资源链接/知识点总结]...
|
||
|
||
🎖️ 今日荣誉榜:
|
||
- 🏆 群聊MVP:[@用户D]
|
||
👑 获奖理由:发起[话题数]个热门话题,贡献[数量]个表情包/段子,发明了“薯片袋静音开封法”已申请专利。
|
||
|
||
✨ 潜力新人:[@用户E](首度分享“枸杞拿铁”配方)
|
||
|
||
【示例输出】
|
||
「吃货联盟-5.20群聊总结」
|
||
|
||
📊 今日数据快报:
|
||
- 共诞生428条信息
|
||
- 最活跃时段:20:00-21:00(153条/小时)
|
||
- 聊天时段:2025-02-20 18:30:10 - 2025-02-20 22:00:39
|
||
|
||
🌌 话题总结:
|
||
1️⃣ 【暗黑料理实验室】⭐️⭐️⭐️⭐️⭐️
|
||
🔍 从“香菜月饼”到“螺蛳粉蛋糕”,群友脑洞大开,表情包大战也同步上线。
|
||
🏅 热点人物:@美食探险家 @甜品恶魔
|
||
💬 精彩语录:"建议把折耳根榨汁做鸡尾酒"——@料理鬼才
|
||
|
||
2️⃣ 【办公室偷吃指南】⭐️⭐️⭐️⭐️
|
||
🔍 提供了12种拆包装技巧,@咖啡小妹贡献的“键盘抽屉收纳法”引发热议
|
||
📌 实用内容:无声咀嚼口香糖推荐清单...
|
||
|
||
🎖️ 今日荣誉榜:
|
||
- 🏆 群聊MVP:@零食特工
|
||
👑 获奖理由:发起3个热门话题,贡献15个表情包,发明了“薯片袋静音开封法”已申请专利。
|
||
|
||
✨ 潜力新人:@养生青年(首度分享“枸杞拿铁”配方)
|
||
|
||
|
||
### 调节参数说明
|
||
- 严谨度调节:通过增减评分维度权重,调整总结风格的专业度和趣味性。
|
||
- 敏感词过滤:自动屏蔽政治/广告等违规内容,确保内容健康。
|
||
- 个性化适配:根据群成员特点,生成个性化头衔和角色。
|
||
"""
|
||
|
||
data = {
|
||
# "stream": True,
|
||
"model": "doubao-1-5-lite-32k-250115",
|
||
"messages": [
|
||
{
|
||
"role": "system",
|
||
"content": f"{prompt}"
|
||
},
|
||
{
|
||
"role": "user",
|
||
"content": f"{content}"
|
||
}
|
||
|
||
]
|
||
}
|
||
|
||
# 设置请求头
|
||
headers = {
|
||
"Content-Type": "application/json; charset=utf-8",
|
||
"Authorization": authorization
|
||
}
|
||
|
||
# 发送POST请求
|
||
response = requests.post(url, headers=headers, data=json.dumps(data), )
|
||
response.encoding = 'utf-8'
|
||
|
||
# 输出响应内容
|
||
print(response.status_code)
|
||
print(response.text)
|
||
return extract_content(response.text)
|
||
|
||
|
||
# 备用prompt ,找时间测试效果
|
||
# prompt = f"""
|
||
# 📊 **群聊话题统计与总结 Prompt**
|
||
#
|
||
# 【基础要求】
|
||
# - **总结风格**:轻松幽默,融合网络流行语和 emoji(如👍/🎉)。
|
||
# - **时间范围**:自动识别最新日期的群聊记录。
|
||
#
|
||
# 【结构要求】
|
||
# ⭐ **创意标题**(10字内,带 emoji)
|
||
# 📊 **数据看板**(消息总数 / 最活跃时段)
|
||
# 🕒 **聊天时段**(开始 - 结束时间)
|
||
# 🗂️ **话题星系**(3-5 个核心话题 + 讨论时间节点 + 消息数量)
|
||
# 🏆 **今日 MVP**(最具贡献成员 + 获奖理由)
|
||
#
|
||
# 【话题分析】
|
||
# - **智能聚类**:按主题相关性自动分类,过滤广告 / 刷屏等无效内容。
|
||
# - **话题时间节点统计**:计算每个话题的 **讨论起止时间** 及 **消息总量**。
|
||
# - **话题树构建**:识别主话题及相关子话题,分析讨论脉络。
|
||
#
|
||
# 【质量评分维度】
|
||
# 🎯 **参与度**(参与人数 / 消息密度)
|
||
# 💡 **信息量**(知识 / 资源分享)
|
||
# 🎭 **娱乐值**(段子 / 梗图 / 神回复)
|
||
# ⚡ **热议指数**(讨论持续时间)
|
||
#
|
||
# 👉 **评分方式**:依据 **参与人数和讨论时长** 生成 1-5 颗星。
|
||
#
|
||
# 【贡献者识别】
|
||
# - 话题发起者 / 氛围担当 / 高质量内容贡献者
|
||
# - 自动生成趣味头衔(如“段子王”、“知识达人”)
|
||
#
|
||
# ---
|
||
#
|
||
# ✨ **输出模板**
|
||
# 「{{群名}}-{{最新日期}} 群聊总结」
|
||
#
|
||
# 📊 **今日数据快报**
|
||
# - 💬 诞生 **{{消息数}}** 条信息
|
||
# - 🔥 最活跃时段:**{{最活跃时段}}**({{活跃消息数}} 条 / 小时)
|
||
# - 🕒 聊天时段:**{{开始时间}} - {{结束时间}}**
|
||
#
|
||
# 🌌 **话题总结**
|
||
# 1️⃣ 【**{{话题1}}**】 ⭐⭐⭐⭐⭐
|
||
# 🕒 **讨论时间**:{{话题1_开始时间}} - {{话题1_结束时间}}
|
||
# 💬 **消息数量**:{{话题1_消息数}} 条
|
||
# 🔍 **{{话题1_回顾}}**
|
||
# 🏅 **热点人物**:{{话题1_热点人物}}
|
||
# 💬 **精彩语录**:"{{话题1_金句}}"...
|
||
#
|
||
# 2️⃣ 【**{{话题2}}**】 ⭐⭐⭐⭐
|
||
# 🕒 **讨论时间**:{{话题2_开始时间}} - {{话题2_结束时间}}
|
||
# 💬 **消息数量**:{{话题2_消息数}} 条
|
||
# 🔍 **{{话题2_回顾}}**
|
||
# 🏅 **知识分享**:{{话题2_知识分享}}
|
||
# 📌 **实用内容**:{{话题2_资源}}
|
||
#
|
||
# 🎖️ **今日荣誉榜**
|
||
# 🏆 **群聊 MVP**:{{MVP_用户}}
|
||
# 👑 **获奖理由**:发起 {{MVP_话题数}} 个热门话题,贡献 {{MVP_表情包数}} 个表情包 / 段子,发明 **“薯片袋静音开封法”** 已申请专利。
|
||
#
|
||
# ✨ **潜力新人**:{{潜力新人_用户}}(首度分享 **{{潜力新人_贡献}}**)
|
||
#
|
||
# ---
|
||
#
|
||
# 🎛 **调节参数**
|
||
# - **严谨度调节**:通过调整评分维度权重,平衡专业性与趣味性。
|
||
# - **敏感词过滤**:屏蔽政治 / 广告等违规内容,确保健康交流。
|
||
# - **个性化适配**:根据群成员特点,生成更贴合的趣味头衔。
|
||
# """
|
||
#
|
||
# print(prompt)
|