vienoux's picture
Upload folder using huggingface_hub
f9adcbf verified
"""
Cache Statistics Endpoint
Provides real-time statistics about the model cache.
"""
from fastapi import APIRouter
from app.core.model_cache import model_cache
router = APIRouter(prefix="/cache", tags=["cache"])
@router.get("/stats")
async def get_cache_stats():
"""Get model cache statistics"""
return model_cache.get_stats()
@router.post("/clear")
async def clear_cache():
"""Clear all cached models"""
await model_cache.clear()
return {"message": "Cache cleared successfully"}
@router.post("/preload/{model_name}")
async def preload_model(model_name: str):
"""Preload a model into cache"""
from app.core.slm_registry import slm_registry
from app.engines.micro_slm import MicroSLMEngine
micro_slm_info = slm_registry.get_model(model_name)
if not micro_slm_info:
return {"error": f"Model {model_name} not found in registry"}
async def load_micro_slm():
engine = MicroSLMEngine(
name=model_name,
model_path=micro_slm_info.model_path
)
await engine.initialize()
return engine
await model_cache.preload(model_name, load_micro_slm)
return {"message": f"Model {model_name} preloaded successfully"}