MCPcopy Create free account
hub / github.com/Ishabdullah/Codey-v2 / ModelLoader

Class ModelLoader

core/loader_v2.py:296–385  ·  view source on GitHub ↗

Manages model loading via llama-server. Single-model: always loads the primary 7B Qwen2.5-Coder model.

Source from the content-addressed store, hash-verified

294
295
296class ModelLoader:
297 """
298 Manages model loading via llama-server.
299
300 Single-model: always loads the primary 7B Qwen2.5-Coder model.
301 """
302
303 def __init__(self):
304 self._loaded: bool = False
305 self._server: Optional[LlamaServer] = None
306 self._loaded_at: float = 0
307 self._load_failures: int = 0
308
309 def load_primary(self) -> bool:
310 """Load the primary (7B) model."""
311 try:
312 info(f"Loading model: {MODEL_PATH.name}")
313
314 # Check if model file exists
315 if not MODEL_PATH.exists():
316 error(f"Model file not found: {MODEL_PATH}")
317 self._load_failures += 1
318 return False
319
320 # Check if llama-server binary exists
321 llama_bin = Path(LLAMA_SERVER_BIN)
322 if not llama_bin.exists():
323 error(f"llama-server not found: {LLAMA_SERVER_BIN}")
324 self._load_failures += 1
325 return False
326
327 # Start server
328 self._server = LlamaServer(MODEL_PATH)
329 if not self._server.start():
330 self._load_failures += 1
331 return False
332
333 self._loaded = True
334 self._loaded_at = time.time()
335 success(f"Loaded model ({MODEL_PATH.name})")
336 return True
337
338 except Exception as e:
339 error(f"Failed to load model: {e}")
340 self._load_failures += 1
341 return False
342
343 def unload(self):
344 """Unload (stop) the current model server."""
345 if self._server:
346 info("Stopping model server...")
347 self._server.stop()
348 self._server = None
349 self._loaded = False
350
351 def ensure_model(self, model_type: str = "primary") -> bool:
352 """Ensure the model is loaded and running."""
353 if self._loaded and self._server and self._server.is_running():

Callers 1

get_loaderFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected