AutoRiskScoreEngine / agents /risk_agent.py
Bader Alabddan
Complete AutoRiskScoreEngine vertical
3f61ff7
raw
history blame contribute delete
939 Bytes
"""Risk Calculation Agent"""
from typing import Dict, Any
class RiskCalculationAgent:
def __init__(self):
self.name = "RiskCalculationAgent"
def process(self, policy_data: Dict[str, Any]) -> Dict[str, Any]:
loss_history = policy_data.get("loss_history", 0)
coverage_amount = policy_data.get("coverage_amount", 0)
risk_score = min((loss_history * 10) + (coverage_amount / 10000), 100)
if risk_score >= 70:
risk_band = "high"
elif risk_score >= 40:
risk_band = "medium"
else:
risk_band = "low"
return {
"risk_score": risk_score,
"risk_band": risk_band,
"justification": f"Based on loss history and coverage amount",
"confidence": 0.87
}
def get_trace(self) -> Dict[str, Any]:
return {"agent": self.name, "status": "completed"}