from typing import Any class CaseProfileBuilder: @staticmethod def build_profile(elements: dict[str, Any]) -> dict[str, Any]: cause = elements.get("case_cause", {}) facts = elements.get("facts", {}) claims = elements.get("claims", {}) laws = elements.get("laws", []) profile = { "legal_dimension": { "dispute_focus": cause.get("type", "未识别"), "laws_count": len(laws), "laws": laws, }, "fact_dimension": { "fact_clarity_score": 70 if facts else 30, "evidence_completeness_score": 65, "key_facts": facts, }, "risk_dimension": { "claim_support_probability": 0.62 if claims else 0.35, "conflict_escalation_level": "中" if facts else "高", }, "tags": [ cause.get("type", "劳动争议"), "工资争议" if "工资" in str(cause) else "综合争议", "证据待补强" if len(laws) < 2 else "法条较充分", ], } return profile