@@ -155,14 +155,36 @@ def _download_with_progress(url: str, dest: Path, desc: str) -> None:
155155 tmp .rename (dest )
156156
157157
158+ _MODEL_ALIASES = {
159+ "smollm2" : "SmolLM2-1.7B" ,
160+ "smollm2:1.7b" : "SmolLM2-1.7B" ,
161+ "smollm2:135m" : "SmolLM2-135M" ,
162+ "qwen3.5" : "Qwen3.5-0.8B" ,
163+ "qwen3.5:0.8b" : "Qwen3.5-0.8B" ,
164+ "llama3.2" : "Llama-3.2-1B" ,
165+ "llama3.2:1b" : "Llama-3.2-1B" ,
166+ "phi3.5" : "Phi-3.5-mini" ,
167+ "phi3.5:mini" : "Phi-3.5-mini" ,
168+ "phi-3.5" : "Phi-3.5-mini" ,
169+ "phi-3.5-mini" : "Phi-3.5-mini" ,
170+ }
171+
172+
173+ def _resolve_model_name (name : str ) -> str :
174+ """Resolve alias or case-insensitive name to canonical registry key."""
175+ if name in _MODEL_REGISTRY :
176+ return name
177+ return _MODEL_ALIASES .get (name .lower (), name )
178+
179+
158180def download (name : str ) -> str :
159181 """Download a model from HuggingFace Hub and return its local path.
160182
161183 Parameters
162184 ----------
163185 name : str
164- Model name from the registry. Currently available:
165- ``"SmolLM2-135M "`` (~135 MB, good for testing) .
186+ Model name or alias. Examples: ``"Phi-3.5-mini"``, ``"phi3.5:mini"``,
187+ ``"smollm2 "``, ``"llama3.2:1b"`` .
166188
167189 Returns
168190 -------
@@ -171,9 +193,10 @@ def download(name: str) -> str:
171193
172194 Examples
173195 --------
174- >>> path = quantcpp.download("SmolLM2-135M ")
196+ >>> path = quantcpp.download("phi3.5:mini ")
175197 >>> m = quantcpp.Model(path)
176198 """
199+ name = _resolve_model_name (name )
177200 if name not in _MODEL_REGISTRY :
178201 avail = ", " .join (sorted (_MODEL_REGISTRY ))
179202 raise ValueError (
0 commit comments