Spaces:
Runtime error
Runtime error
| import boto3 | |
| from pathlib import Path | |
| import tarfile | |
| import logging | |
| import os | |
| # Set up logging | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger(__name__) | |
| def create_model_tar(): | |
| model_path = Path("models/customer_support_gpt") # Path to your model folder | |
| tar_path = "model.tar.gz" # Path for the output tar.gz file | |
| # Create a tar.gz file containing all files in the model folder | |
| with tarfile.open(tar_path, "w:gz") as tar: | |
| for file_path in model_path.glob("*"): | |
| if file_path.is_file(): | |
| logger.info(f"Adding {file_path} to tar archive") | |
| tar.add(file_path, arcname=file_path.name) | |
| return tar_path | |
| def upload_to_s3(tar_path, bucket_name, s3_key): | |
| # Initialize S3 client | |
| s3 = boto3.client("s3") | |
| # Upload tar.gz file to S3 | |
| logger.info(f"Uploading {tar_path} to s3://{bucket_name}/{s3_key}") | |
| s3.upload_file(tar_path, bucket_name, s3_key) | |
| logger.info("Upload complete!") | |
| # Main code | |
| try: | |
| bucket_name = 'customer-support-gpt' # Your S3 bucket name | |
| s3_key = "models/model.tar.gz" # S3 key (path in bucket) | |
| # Create the tar.gz archive | |
| tar_path = create_model_tar() | |
| # Upload the tar.gz to S3 | |
| upload_to_s3(tar_path, bucket_name, s3_key) | |
| except Exception as e: | |
| logger.error(f"An error occurred: {str(e)}") | |
| raise | |
| finally: | |
| # Clean up the local tar file | |
| if os.path.exists(tar_path): | |
| os.remove(tar_path) | |
| logger.info(f"Deleted local file: {tar_path}") | |