39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
async def summarize_debate(session):
|
|
"""
|
|
Generate a summary of the debate session
|
|
"""
|
|
if not session.rounds:
|
|
return "No rounds were completed in this debate."
|
|
|
|
# Extract key points from each side
|
|
pro_points = []
|
|
con_points = []
|
|
|
|
for round_data in session.rounds:
|
|
if round_data.stance.value == "pro":
|
|
pro_points.append(round_data.content)
|
|
else:
|
|
con_points.append(round_data.content)
|
|
|
|
# Create a summary
|
|
summary_parts = [
|
|
f"辩论主题: {session.topic}",
|
|
"",
|
|
"正方主要观点:",
|
|
]
|
|
|
|
for i, point in enumerate(pro_points, 1):
|
|
summary_parts.append(f"{i}. {point[:100]}...") # Truncate for brevity
|
|
|
|
summary_parts.append("")
|
|
summary_parts.append("反方主要观点:")
|
|
|
|
for i, point in enumerate(con_points, 1):
|
|
summary_parts.append(f"{i}. {point[:100]}...") # Truncate for brevity
|
|
|
|
summary_parts.append("")
|
|
summary_parts.append("总结: 本次辩论完成了 {} 轮,双方就 '{}' 主题进行了充分的讨论。".format(
|
|
len(session.rounds), session.topic
|
|
))
|
|
|
|
return "\n".join(summary_parts) |