From e154f4b76a26d8ce330ba27667e8745458bbf2e6 Mon Sep 17 00:00:00 2001 From: Mart Ratas Date: Wed, 24 Jun 2026 09:32:03 +0100 Subject: [PATCH 1/2] fix(medcat-trainer): Fix issue with metrics failing due to missing meta values --- medcat-trainer/webapp/api/api/metrics.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/medcat-trainer/webapp/api/api/metrics.py b/medcat-trainer/webapp/api/api/metrics.py index b6e17e44b..a64f147dc 100644 --- a/medcat-trainer/webapp/api/api/metrics.py +++ b/medcat-trainer/webapp/api/api/metrics.py @@ -337,7 +337,13 @@ def full_annotation_df(self) -> pd.DataFrame: continue meta_model = _meta_models[0] meta_results = self._eval(meta_model, self.mct_export) - meta_values = {v: k for k, v in meta_results['meta_values'].items()} + if 'meta_values' not in meta_results: + logger.warning( + "No meta_values found for task %s. Reverting to empty", + meta_model_task) + meta_values = {} + else: + meta_values = {v: k for k, v in meta_results['meta_values'].items()} pred_meta_values = [] counter = 0 for meta_value in meta_df[meta_model_task]: From 6d1e5ccfb42ddab301e948ca7caddabbdadbef81 Mon Sep 17 00:00:00 2001 From: Mart Ratas Date: Wed, 24 Jun 2026 10:22:46 +0100 Subject: [PATCH 2/2] Add more details to logged warning regarding no meta values --- medcat-trainer/webapp/api/api/metrics.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/medcat-trainer/webapp/api/api/metrics.py b/medcat-trainer/webapp/api/api/metrics.py index a64f147dc..b421e8381 100644 --- a/medcat-trainer/webapp/api/api/metrics.py +++ b/medcat-trainer/webapp/api/api/metrics.py @@ -339,8 +339,9 @@ def full_annotation_df(self) -> pd.DataFrame: meta_results = self._eval(meta_model, self.mct_export) if 'meta_values' not in meta_results: logger.warning( - "No meta_values found for task %s. Reverting to empty", - meta_model_task) + "No meta_values found for task %s. 'meta_values' no in results, " + "available keys: %s. Reverting to empty results.", + meta_model_task, list(meta_results.keys())) meta_values = {} else: meta_values = {v: k for k, v in meta_results['meta_values'].items()}