Spaces:
Running
Running
| # This script is intended to be run in a Docker container with the Hugging Face token mounted as a secret. | |
| from huggingface_hub import snapshot_download | |
| from huggingface_hub.errors import HfHubHTTPError | |
| import os | |
| import sys | |
| import traceback | |
| def main(): | |
| token_path = '/run/secrets/huggingface_token' | |
| model_dir_path = os.environ.get('MODEL_DIR') | |
| repo_id_to_download = 'speakleash/Bielik-1.5B-v3.0-Instruct' | |
| print(f'--- Python SCRIPT DEBUG: Target model directory: {model_dir_path}') | |
| if not model_dir_path: | |
| print('--- Python SCRIPT CRITICAL ERROR: MODEL_DIR environment variable not set!') | |
| sys.exit(1) | |
| token_value = None | |
| try: | |
| with open(token_path, 'r') as f: | |
| token_value = f.read().strip() | |
| print(f'--- Python SCRIPT DEBUG: Token file {token_path} read successfully.') | |
| if token_value: | |
| masked_token = f"{token_value[:4]}****{token_value[-4:] if len(token_value) > 4 else '(token too short)'}" | |
| print(f'--- Python SCRIPT DEBUG: Token content (masked): {masked_token}') | |
| if not token_value.startswith('hf_'): | |
| print('--- Python SCRIPT WARNING: Token does not appear to start with hf_! Check token file content.') | |
| else: | |
| print('--- Python SCRIPT CRITICAL ERROR: Token file was empty or only whitespace!') | |
| sys.exit(1) | |
| except FileNotFoundError: | |
| print(f'--- Python SCRIPT CRITICAL ERROR: Token secret file {token_path} not found! Ensure --mount is correct.') | |
| sys.exit(1) | |
| except Exception as e: | |
| print(f'--- Python SCRIPT CRITICAL ERROR: Could not read token from {token_path}: {e}') | |
| traceback.print_exc() | |
| sys.exit(1) | |
| try: | |
| print(f'--- Python SCRIPT INFO: Calling snapshot_download for {repo_id_to_download}...') | |
| snapshot_download( | |
| repo_id=repo_id_to_download, | |
| local_dir=model_dir_path, | |
| token=token_value, | |
| local_dir_use_symlinks=False, | |
| resume_download=True | |
| # Removed ignore_patterns for now to ensure no interference | |
| ) | |
| print(f'--- Python SCRIPT INFO: snapshot_download completed for {repo_id_to_download}.') | |
| except HfHubHTTPError as http_e: | |
| print(f'--- Python SCRIPT ERROR: HfHubHTTPError during snapshot_download: {http_e}') | |
| if http_e.response is not None: | |
| print(f'--- Python SCRIPT ERROR: Response status: {http_e.response.status_code}') | |
| print(f'--- Python SCRIPT ERROR: Response headers: {http_e.response.headers}') | |
| try: | |
| response_content = http_e.response.content.decode() | |
| except UnicodeDecodeError: | |
| response_content = str(http_e.response.content) | |
| print(f'--- Python SCRIPT ERROR: Response content: {response_content}') | |
| if http_e.request_id: | |
| print(f'--- Python SCRIPT ERROR: Request ID: {http_e.request_id}') | |
| sys.exit(1) | |
| except Exception as e: | |
| print(f'--- Python SCRIPT ERROR: Other Exception during snapshot_download: {e}') | |
| traceback.print_exc() | |
| sys.exit(1) | |
| if __name__ == "__main__": | |
| main() |