Update nygaardcodecommentclassification/api/models.py
Browse files
nygaardcodecommentclassification/api/models.py
CHANGED
|
@@ -181,21 +181,31 @@ class ModelRegistry:
|
|
| 181 |
except Exception as e:
|
| 182 |
logger.error("[%s] Error loading models: %s", lang.upper(), e)
|
| 183 |
|
| 184 |
-
|
| 185 |
-
"""Retrieve a loaded model entry by language and type.
|
| 186 |
-
|
| 187 |
-
Args:
|
| 188 |
-
language: The programming language code
|
| 189 |
-
model_type: The type of model
|
| 190 |
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 199 |
|
| 200 |
def clear(self) -> None:
|
| 201 |
"""Clear all models from the registry and free memory.
|
|
|
|
| 181 |
except Exception as e:
|
| 182 |
logger.error("[%s] Error loading models: %s", lang.upper(), e)
|
| 183 |
|
| 184 |
+
# In models.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 185 |
|
| 186 |
+
def get_model(self, language: str, model_type: str) -> Optional[Dict[str, Any]]:
|
| 187 |
+
"""Retrieve a loaded model entry by language and type."""
|
| 188 |
+
# 1. Prova accesso diretto (veloce)
|
| 189 |
+
if language in self._registry:
|
| 190 |
+
return self._registry[language].get(model_type)
|
| 191 |
+
|
| 192 |
+
# 2. Se fallisce, prova case-insensitive (più lento ma robusto)
|
| 193 |
+
# Normalizza tutto in minuscolo per il confronto
|
| 194 |
+
normalized_lang = language.lower()
|
| 195 |
+
for reg_lang in self._registry.keys():
|
| 196 |
+
if reg_lang.lower() == normalized_lang:
|
| 197 |
+
return self._registry[reg_lang].get(model_type)
|
| 198 |
+
|
| 199 |
+
# 3. DEBUG: Se non trova nulla, stampa cosa c'è nel registry
|
| 200 |
+
# Questo apparirà nei log di Hugging Face e ti dirà ESATTAMENTE quali chiavi sono caricate
|
| 201 |
+
logger.warning(
|
| 202 |
+
"Model lookup failed for lang='%s', type='%s'. Available langs in registry: %s",
|
| 203 |
+
language,
|
| 204 |
+
model_type,
|
| 205 |
+
list(self._registry.keys())
|
| 206 |
+
)
|
| 207 |
+
|
| 208 |
+
return None
|
| 209 |
|
| 210 |
def clear(self) -> None:
|
| 211 |
"""Clear all models from the registry and free memory.
|