@@ -541,11 +541,21 @@ def run_model_with_prompt(model_name, model, assessment):
541541 else :
542542 result ["position" ] = model_results_list [i - 1 ]["position" ] + 1
543543
544+ print (new_models )
545+ with open ("./model_results.json" , "r" ) as file :
546+ saved_results = orjson .loads (file .read ())
547+ print (saved_results ['added_on' ])
548+ # new models should have datetime added as today
549+ seven_days_ago = (datetime .date .today () - datetime .timedelta (days = 7 )).isoformat ()
550+ new_models = [model_name for model_name , date in saved_results .get ("added_on" , {}).items () if date > seven_days_ago ]
551+
544552 output = template .render (
545553 assessments_by_model = assessments_by_model ,
546554 model_providers = model_providers ,
547555 model_results = model_results_list ,
548556 assessments = assessments ,
557+ new_models = new_models ,
558+ model_dates = saved_results .get ("added_on" , {}),
549559 assessment_count = len (assessments ),
550560 tasks = assessment_categories ,
551561 task = "all" ,
@@ -622,6 +632,8 @@ def run_model_with_prompt(model_name, model, assessment):
622632 category_output = template .render (
623633 assessments_by_model = assessments_by_model ,
624634 model_providers = model_providers ,
635+ model_dates = saved_results .get ("added_on" , {}),
636+ new_models = new_models ,
625637 model_results = category_model_results_list ,
626638 assessments = category_assessments ,
627639 assessment_count = len (category_assessments ),
@@ -668,7 +680,7 @@ def run_model_with_prompt(model_name, model, assessment):
668680 for category , category_results in result_assessments_by_model_by_category [model_name ].items ():
669681 if category_results ["passed_percentage" ] == max_percentage :
670682 best_categories .append (category )
671- print ([ model_info_item [ "description" ] for model_info_item in model_info if model_info_item [ "model_name" ] == model_name ])
683+
672684 file .write (
673685 card_template .render (
674686 model_description = ([model_info_item ["description" ] for model_info_item in model_info if model_info_item ["model_name" ] == model_name ] + ["" ])[0 ],
@@ -709,6 +721,7 @@ def run_model_with_prompt(model_name, model, assessment):
709721 "assessment_count" : len (assessments ),
710722 "tasks" : assessment_categories ,
711723 "final_results" : final_results ,
724+ "added_on" : saved_results .get ("added_on" , {}) if saved_results else {},
712725 }
713726 # TypeError: Object of type bytes is not JSON serializable
714727 # delete bytes recursively
@@ -727,10 +740,15 @@ def delete_bytes(obj):
727740
728741 saved_results = delete_bytes (saved_results )
729742
730- if not saved_results .get ("added_on" ):
743+ with open ("model_results.json" , "r" ) as file :
744+ m_results = orjson .loads (file .read ())
745+
746+ if not m_results .get ("added_on" ):
731747 june_first = datetime .datetime (2025 , 6 , 1 ).isoformat ()
732748 saved_results ["added_on" ] = {model_name : june_first for model_name in assessments_by_model .keys ()}
733-
749+ else :
750+ saved_results ["added_on" ] = m_results .get ("added_on" , {})
751+
734752 # for model in new_models:
735753 # if model[0] not in saved_results["added_on"]:
736754 # saved_results["added_on"][model[0]] = datetime.now().isoformat()
0 commit comments