Spaces:
Runtime error
Runtime error
| #!/usr/bin/env python3 | |
| """ | |
| Download script for DeepCoder model | |
| Downloads and caches the model for faster container startup | |
| """ | |
| import os | |
| import logging | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| from huggingface_hub import snapshot_download | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger(__name__) | |
| MODEL_NAME = os.getenv("MODEL_NAME", "ai/deepcoder-preview") | |
| CACHE_DIR = os.getenv("HUGGINGFACE_HUB_CACHE", "/app/cache") | |
| def download_model(): | |
| """Download the model and tokenizer""" | |
| try: | |
| logger.info(f"Downloading model: {MODEL_NAME}") | |
| # Download model files | |
| snapshot_download( | |
| repo_id=MODEL_NAME, | |
| cache_dir=CACHE_DIR, | |
| resume_download=True | |
| ) | |
| # Verify by loading tokenizer | |
| tokenizer = AutoTokenizer.from_pretrained( | |
| MODEL_NAME, | |
| cache_dir=CACHE_DIR, | |
| trust_remote_code=True | |
| ) | |
| logger.info("Model downloaded successfully") | |
| logger.info(f"Vocab size: {tokenizer.vocab_size}") | |
| logger.info(f"Cache directory: {CACHE_DIR}") | |
| return True | |
| except Exception as e: | |
| logger.error(f"Error downloading model: {str(e)}") | |
| return False | |
| if __name__ == "__main__": | |
| success = download_model() | |
| if not success: | |
| exit(1) | |
| logger.info("Download complete!") | |