INNER CODE UNIT · Python
_persist_prediction
cmu-sei/GHOSTS · experimental/grms/grms/main.py:174
async def _persist_prediction(prediction: SavedPrediction) -> None:
"""Persist a prediction (with optional score) to SQLite."""
data = {
"id": str(prediction.id),
"created_at": prediction.created_at.isoformat(),
"historical_date": prediction.historical_date,
"label": prediction.label,
"prediction_type": prediction.prediction_type,
"event_json": prediction.event.model_dump_json(),
"leader_id": str(prediction.leader_id) if prediction.leader_id else None,
"leader_name": prediction.leader_name,
"country": prediction.country,
"llm_model": prediction.llm_model,
"leader_response_json": prediction.leader_response.model_dump_json() if prediction.leader_response else None,
"population_response_json": prediction.population_response.model_dump_json() if prediction.population_response else None,
"cascade_responses_json": json.dumps([r.model_dump(mode="json") for r in prediction.cascade_responses]),
"known_outcome_json": prediction.known_outcome.model_dump_json() if prediction.known_outcome else None,
}