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)