From 15dc8ec31f89848400e985da6cac0ba0f8b961e7 Mon Sep 17 00:00:00 2001 From: Aidan Do Date: Mon, 12 May 2025 19:48:05 -0700 Subject: [PATCH 1/4] . --- learn/vlm-finetuning/.gitignore | 1 + .../finetuning-on-bedrock.ipynb | 1407 +++++++++++++++++ 2 files changed, 1408 insertions(+) create mode 100644 learn/vlm-finetuning/.gitignore create mode 100644 learn/vlm-finetuning/finetuning-on-bedrock.ipynb diff --git a/learn/vlm-finetuning/.gitignore b/learn/vlm-finetuning/.gitignore new file mode 100644 index 0000000..8420f2d --- /dev/null +++ b/learn/vlm-finetuning/.gitignore @@ -0,0 +1 @@ +qwen2p5-vl-7b-instruct/ \ No newline at end of file diff --git a/learn/vlm-finetuning/finetuning-on-bedrock.ipynb b/learn/vlm-finetuning/finetuning-on-bedrock.ipynb new file mode 100644 index 0000000..9238c8e --- /dev/null +++ b/learn/vlm-finetuning/finetuning-on-bedrock.ipynb @@ -0,0 +1,1407 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to Finetune a VLM on Bedrock and deploy on Fireworks\n", + "\n", + "This guide will use Qwen 2.5 VL 7B, but you can use this guide with any other model.\n", + "\n", + "### Pre-requisites\n", + "- [aws-cli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)\n", + "- Python" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting boto3\n", + " Using cached boto3-1.38.14-py3-none-any.whl.metadata (6.6 kB)\n", + "Collecting huggingface-hub[cli]\n", + " Using cached huggingface_hub-0.31.1-py3-none-any.whl.metadata (13 kB)\n", + "Collecting botocore<1.39.0,>=1.38.14 (from boto3)\n", + " Using cached botocore-1.38.14-py3-none-any.whl.metadata (5.7 kB)\n", + "Collecting jmespath<2.0.0,>=0.7.1 (from boto3)\n", + " Using cached jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\n", + "Collecting s3transfer<0.13.0,>=0.12.0 (from boto3)\n", + " Using cached s3transfer-0.12.0-py3-none-any.whl.metadata (1.7 kB)\n", + "Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from botocore<1.39.0,>=1.38.14->boto3) (2.9.0.post0)\n", + "Collecting urllib3!=2.2.0,<3,>=1.25.4 (from botocore<1.39.0,>=1.38.14->boto3)\n", + " Using cached urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)\n", + "Requirement already satisfied: six>=1.5 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.39.0,>=1.38.14->boto3) (1.17.0)\n", + "Collecting filelock (from huggingface-hub[cli])\n", + " Using cached filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting fsspec>=2023.5.0 (from huggingface-hub[cli])\n", + " Using cached fsspec-2025.3.2-py3-none-any.whl.metadata (11 kB)\n", + "Requirement already satisfied: packaging>=20.9 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from huggingface-hub[cli]) (25.0)\n", + "Collecting pyyaml>=5.1 (from huggingface-hub[cli])\n", + " Using cached PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl.metadata (2.1 kB)\n", + "Collecting requests (from huggingface-hub[cli])\n", + " Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", + "Collecting tqdm>=4.42.1 (from huggingface-hub[cli])\n", + " Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from huggingface-hub[cli]) (4.13.2)\n", + "Collecting hf-xet<2.0.0,>=1.1.0 (from huggingface-hub[cli])\n", + " Downloading hf_xet-1.1.1-cp37-abi3-macosx_11_0_arm64.whl.metadata (494 bytes)\n", + "Collecting InquirerPy==0.3.4 (from huggingface-hub[cli])\n", + " Using cached InquirerPy-0.3.4-py3-none-any.whl.metadata (8.1 kB)\n", + "Collecting pfzy<0.4.0,>=0.3.1 (from InquirerPy==0.3.4->huggingface-hub[cli])\n", + " Using cached pfzy-0.3.4-py3-none-any.whl.metadata (4.9 kB)\n", + "Requirement already satisfied: prompt-toolkit<4.0.0,>=3.0.1 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from InquirerPy==0.3.4->huggingface-hub[cli]) (3.0.51)\n", + "Requirement already satisfied: wcwidth in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from prompt-toolkit<4.0.0,>=3.0.1->InquirerPy==0.3.4->huggingface-hub[cli]) (0.2.13)\n", + "Collecting charset-normalizer<4,>=2 (from requests->huggingface-hub[cli])\n", + " Using cached charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl.metadata (35 kB)\n", + "Collecting idna<4,>=2.5 (from requests->huggingface-hub[cli])\n", + " Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)\n", + "Collecting certifi>=2017.4.17 (from requests->huggingface-hub[cli])\n", + " Using cached certifi-2025.4.26-py3-none-any.whl.metadata (2.5 kB)\n", + "Using cached boto3-1.38.14-py3-none-any.whl (139 kB)\n", + "Using cached botocore-1.38.14-py3-none-any.whl (13.6 MB)\n", + "Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)\n", + "Using cached s3transfer-0.12.0-py3-none-any.whl (84 kB)\n", + "Using cached urllib3-2.4.0-py3-none-any.whl (128 kB)\n", + "Using cached huggingface_hub-0.31.1-py3-none-any.whl (484 kB)\n", + "Using cached InquirerPy-0.3.4-py3-none-any.whl (67 kB)\n", + "Downloading hf_xet-1.1.1-cp37-abi3-macosx_11_0_arm64.whl (5.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m27.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hUsing cached pfzy-0.3.4-py3-none-any.whl (8.5 kB)\n", + "Using cached fsspec-2025.3.2-py3-none-any.whl (194 kB)\n", + "Using cached PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl (171 kB)\n", + "Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)\n", + "Using cached filelock-3.18.0-py3-none-any.whl (16 kB)\n", + "Using cached requests-2.32.3-py3-none-any.whl (64 kB)\n", + "Using cached charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl (201 kB)\n", + "Using cached idna-3.10-py3-none-any.whl (70 kB)\n", + "Using cached certifi-2025.4.26-py3-none-any.whl (159 kB)\n", + "Installing collected packages: urllib3, tqdm, pyyaml, pfzy, jmespath, idna, hf-xet, fsspec, filelock, charset-normalizer, certifi, requests, InquirerPy, botocore, s3transfer, huggingface-hub, boto3\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17/17\u001b[0m [boto3]m16/17\u001b[0m [boto3]re]\n", + "\u001b[1A\u001b[2KSuccessfully installed InquirerPy-0.3.4 boto3-1.38.14 botocore-1.38.14 certifi-2025.4.26 charset-normalizer-3.4.2 filelock-3.18.0 fsspec-2025.3.2 hf-xet-1.1.1 huggingface-hub-0.31.1 idna-3.10 jmespath-1.0.1 pfzy-0.3.4 pyyaml-6.0.2 requests-2.32.3 s3transfer-0.12.0 tqdm-4.67.1 urllib3-2.4.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "%pip install boto3 \"huggingface-hub[cli]\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BUCKET_NAME fw-bedrock-finetuning-023979239971\n", + "HF_MODEL_NAME Qwen/Qwen2.5-VL-7B-Instruct\n", + "MODEL_NAME qwen2p5-vl-7b-instruct\n" + ] + } + ], + "source": [ + "import boto3\n", + "\n", + "account_id = boto3.client('sts').get_caller_identity()['Account']\n", + "\n", + "BUCKET_NAME=f\"fw-bedrock-finetuning-{account_id}\"\n", + "HF_MODEL_NAME=\"Qwen/Qwen2.5-VL-7B-Instruct\"\n", + "MODEL_NAME=HF_MODEL_NAME.lower().replace(\".\", \"p\").split(\"/\")[-1]\n", + "\n", + "print(\"BUCKET_NAME\", BUCKET_NAME)\n", + "print(\"HF_MODEL_NAME\", HF_MODEL_NAME)\n", + "print(\"MODEL_NAME\", MODEL_NAME)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Created bucket: fw-bedrock-finetuning-023979239971\n" + ] + } + ], + "source": [ + "s3 = boto3.client('s3')\n", + "\n", + "try:\n", + " s3.create_bucket(Bucket=BUCKET_NAME)\n", + " print(f\"Created bucket: {BUCKET_NAME}\")\n", + "except s3.exceptions.BucketAlreadyExists:\n", + " print(f\"Bucket {BUCKET_NAME} already exists\")\n", + "except s3.exceptions.BucketAlreadyOwnedByYou:\n", + " print(f\"Bucket {BUCKET_NAME} already owned by you\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fetching 16 files: 0%| | 0/16 [00:00 Date: Mon, 12 May 2025 21:08:26 -0700 Subject: [PATCH 2/4] . --- .../finetuning-on-bedrock.ipynb | 87 +++++++++- learn/vlm-finetuning/other.ipynb | 160 ++++++++++++++++++ 2 files changed, 240 insertions(+), 7 deletions(-) create mode 100644 learn/vlm-finetuning/other.ipynb diff --git a/learn/vlm-finetuning/finetuning-on-bedrock.ipynb b/learn/vlm-finetuning/finetuning-on-bedrock.ipynb index 9238c8e..17ca069 100644 --- a/learn/vlm-finetuning/finetuning-on-bedrock.ipynb +++ b/learn/vlm-finetuning/finetuning-on-bedrock.ipynb @@ -1304,7 +1304,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -1350,7 +1350,16 @@ "upload: qwen2p5-vl-7b-instruct/.cache/huggingface/download/config.json.lock to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/.cache/huggingface/download/config.json.lock\n", "upload: qwen2p5-vl-7b-instruct/.cache/huggingface/download/chat_template.json.metadata to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/.cache/huggingface/download/chat_template.json.metadata\n", "upload: qwen2p5-vl-7b-instruct/merges.txt to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/merges.txt\n", - "Completed 961.6 MiB/15.5 GiB (4.6 MiB/s) with 10 file(s) remaining\r" + "upload: qwen2p5-vl-7b-instruct/model-00001-of-00005.safetensors to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/model-00001-of-00005.safetensors\n", + "upload: qwen2p5-vl-7b-instruct/model-00002-of-00005.safetensors to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/model-00002-of-00005.safetensors\n", + "upload: qwen2p5-vl-7b-instruct/model.safetensors.index.json to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/model.safetensors.index.json\n", + "upload: qwen2p5-vl-7b-instruct/preprocessor_config.json to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/preprocessor_config.json\n", + "upload: qwen2p5-vl-7b-instruct/tokenizer_config.json to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/tokenizer_config.json\n", + "upload: qwen2p5-vl-7b-instruct/vocab.json to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/vocab.json\n", + "upload: qwen2p5-vl-7b-instruct/tokenizer.json to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/tokenizer.json\n", + "upload: qwen2p5-vl-7b-instruct/model-00005-of-00005.safetensors to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/model-00005-of-00005.safetensors\n", + "upload failed: qwen2p5-vl-7b-instruct/model-00003-of-00005.safetensors to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/model-00003-of-00005.safetensors Could not connect to the endpoint URL: \"https://fw-bedrock-finetuning-023979239971.s3.us-east-1.amazonaws.com/base/qwen2p5-vl-7b-instruct/model-00003-of-00005.safetensors?uploadId=Lm9VoJrulOzY.avpm9LJ8kKG0ABYQbYp_SX0b_QoxZEFurivtLL5N133ziJjPcK0vSiJqXYMUyTPWNmWlqMn1KgxOItpMkrVkp0mtr7h5wnE_o6cQ94zxilMwRcUJN89Oc8shcqUqiyGZHiZQmEHgA--&partNumber=326\"\n", + "upload failed: qwen2p5-vl-7b-instruct/model-00004-of-00005.safetensors to s3://fw-bedrock-finetuning-023979239971/base/qwen2p5-vl-7b-instruct/model-00004-of-00005.safetensors Could not connect to the endpoint URL: \"https://fw-bedrock-finetuning-023979239971.s3.us-east-1.amazonaws.com/base/qwen2p5-vl-7b-instruct/model-00004-of-00005.safetensors?uploadId=jzFEEcyrmS4.Z4x43LiOuU5ft4wwvAR7S56Di2JaerL8X8nHGD1NEWocpA_JORrVfVI2X1_CN0RKzytGeriLxw0.032sWZVw6rtoqYR6kNlqbOlJoJMAg2Y2nIW8cGinJjv7eqQ7LOs84ClZSHW7Zg--&partNumber=293\"\n" ] } ], @@ -1365,21 +1374,85 @@ "metadata": {}, "outputs": [], "source": [ + "import json\n", + "\n", "bedrock = boto3.client(\"bedrock\")\n", + "iam = boto3.client(\"iam\")\n", "\n", - "# Create role for job to read S3\n", + "# Create finetuning role and policy\n", + "role = iam.create_role(\n", + " RoleName=f\"Bedrock-Finetuning-Role-{account_id}\",\n", + " AssumeRolePolicyDocument=json.dumps({\n", + " \"Version\": \"2012-10-17\",\n", + " \"Statement\": [\n", + " {\n", + " \"Effect\": \"Allow\",\n", + " \"Principal\": {\n", + " \"Service\": \"bedrock.amazonaws.com\"\n", + " },\n", + " \"Action\": \"sts:AssumeRole\"\n", + " }\n", + " ] \n", + " })\n", + ")['Role']\n", + "role_name = role['RoleName']\n", + "role_arn = role['Arn']\n", + "\n", + "policy_arn = iam.create_policy(\n", + " PolicyName=\"Bedrock-Finetuning-Role-Policy\",\n", + " PolicyDocument=json.dumps({\n", + " \"Version\": \"2012-10-17\",\n", + " \"Statement\": [\n", + " {\n", + " \"Effect\": \"Allow\",\n", + " \"Action\": [\n", + " \"s3:GetObject\",\n", + " \"s3:PutObject\",\n", + " \"s3:ListBucket\"\n", + " ],\n", + " \"Resource\": [\n", + " f\"arn:aws:s3:::{BUCKET_NAME}\",\n", + " f\"arn:aws:s3:::{BUCKET_NAME}/*\"\n", + " ]\n", + " }\n", + " ]\n", + " })\n", + ")['Policy']['Arn']\n", "\n", + "iam.attach_role_policy(\n", + " RoleName=role_name,\n", + " PolicyArn=policy_arn\n", + ")\n", "\n", + "# Create role for job to read S3\n", + "import datetime\n", + "timestamp = datetime.datetime.now().strftime('%Y%m%dT%H%M%S')\n", "response = bedrock.create_model_import_job(\n", - " jobName=MODEL_NAME,\n", - " importedModelName=MODEL_NAME,\n", - " roleArn=,\n", + " jobName=f\"{MODEL_NAME}-import-{timestamp}\",\n", + " importedModelName=f\"{MODEL_NAME}-{timestamp}\",\n", + " roleArn=role_arn,\n", " modelDataSource={\n", " \"s3DataSource\": {\n", " \"s3Uri\": f\"s3://{BUCKET_NAME}/base/{MODEL_NAME}\"\n", " }\n", " }\n", - ")" + ")\n", + "\n", + "response" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Wait until job complete. You can also view the console for status: https://console.aws.amazon.com/bedrock/home#/import-models\n", + "status = \"InProgress\"\n", + "while status != \"Completed\":\n", + " response = bedrock.get_model_import_job(jobIdentifier=response[\"jobArn\"])\n", + " print(response)\n", + " status = response[\"status\"]" ] } ], diff --git a/learn/vlm-finetuning/other.ipynb b/learn/vlm-finetuning/other.ipynb new file mode 100644 index 0000000..44b494e --- /dev/null +++ b/learn/vlm-finetuning/other.ipynb @@ -0,0 +1,160 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'ResponseMetadata': {'RequestId': '9538ccbf-9648-4fee-9720-9d6e6c3292cd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:16:46 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '9538ccbf-9648-4fee-9720-9d6e6c3292cd'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 16, 25, 169000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'c489e698-b037-42ba-9ebd-5eb7ac3b8d0e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:16:52 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'c489e698-b037-42ba-9ebd-5eb7ac3b8d0e'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 16, 25, 169000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '7c97c86f-936f-4807-a4ce-964a68c532f8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:16:57 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '7c97c86f-936f-4807-a4ce-964a68c532f8'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 16, 25, 169000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd63b4ae8-219e-4f99-bd9c-607ab845faee', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:02 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd63b4ae8-219e-4f99-bd9c-607ab845faee'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 16, 25, 169000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '582eda4c-5a1f-4415-ba65-20297ed489f4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:07 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '582eda4c-5a1f-4415-ba65-20297ed489f4'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 16, 25, 169000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd2e03e28-7b5c-4231-b3de-fae156705759', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:12 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd2e03e28-7b5c-4231-b3de-fae156705759'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 9, 154000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '66f40fe3-9727-4775-a7b3-93175c53bcc0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:18 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '66f40fe3-9727-4775-a7b3-93175c53bcc0'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 9, 154000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '3b044014-722c-41c1-b1bb-21ed9c340b3c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:23 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '3b044014-722c-41c1-b1bb-21ed9c340b3c'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 9, 154000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '0e7cdbb6-b0d7-4cfb-b618-b7ca57af4a13', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:28 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '0e7cdbb6-b0d7-4cfb-b618-b7ca57af4a13'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 9, 154000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'da8b87ef-1664-4ba8-bdb8-e3984c06d8ec', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:33 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'da8b87ef-1664-4ba8-bdb8-e3984c06d8ec'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 9, 154000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'b1a6095a-819c-4cd3-9fb9-1ab45626fa1c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:39 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'b1a6095a-819c-4cd3-9fb9-1ab45626fa1c'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '38763805-7203-416e-bd91-62e0bed5f9d5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:44 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '38763805-7203-416e-bd91-62e0bed5f9d5'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '90d62961-306c-4915-92b7-8b964593ab8d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:49 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '90d62961-306c-4915-92b7-8b964593ab8d'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '2d4de563-1288-4227-b130-f34258d7946e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:17:54 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '2d4de563-1288-4227-b130-f34258d7946e'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'b7fce7d4-43c0-491f-a077-b9c8c1891a08', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:00 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'b7fce7d4-43c0-491f-a077-b9c8c1891a08'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'aa5ca584-5e28-4a97-a300-7fb16b7312a7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:05 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'aa5ca584-5e28-4a97-a300-7fb16b7312a7'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '6b63350e-d1cd-4bd7-a932-5332ddb99795', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:10 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '6b63350e-d1cd-4bd7-a932-5332ddb99795'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a23570e1-44f7-42e2-b2eb-4821b9678614', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:16 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a23570e1-44f7-42e2-b2eb-4821b9678614'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a6aeee03-03b1-4522-a687-be25f5b5eb45', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:21 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a6aeee03-03b1-4522-a687-be25f5b5eb45'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '0f069559-bb70-4a93-b3df-e9a2d8d662df', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:26 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '0f069559-bb70-4a93-b3df-e9a2d8d662df'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '1e4ee644-fdcc-4d4b-ac15-ab07ef46720a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:32 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '1e4ee644-fdcc-4d4b-ac15-ab07ef46720a'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '2805d94f-055a-42b0-8ecd-83d3721519b7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:37 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '2805d94f-055a-42b0-8ecd-83d3721519b7'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 17, 36, 813000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'de88e94a-2b9f-4043-b0ae-9b48f31b8c22', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:42 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'de88e94a-2b9f-4043-b0ae-9b48f31b8c22'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '51591df5-7565-4231-a3ac-c3a6cdcc0258', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:47 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '51591df5-7565-4231-a3ac-c3a6cdcc0258'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'f7713474-af29-4b15-af76-988c762f036a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:53 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'f7713474-af29-4b15-af76-988c762f036a'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '9a8637ae-565b-458b-8599-c3d418364f33', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:18:58 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '9a8637ae-565b-458b-8599-c3d418364f33'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a9a4822a-7c58-4dd9-a411-adb161a1ba6f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:03 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a9a4822a-7c58-4dd9-a411-adb161a1ba6f'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd5fc4218-d79b-4694-b9c6-b35133a06c49', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:08 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd5fc4218-d79b-4694-b9c6-b35133a06c49'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'c6a968c4-27f5-451c-bf63-067bf633be66', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:14 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'c6a968c4-27f5-451c-bf63-067bf633be66'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '64d31e74-19dc-4ee0-8933-0a68ab659f5d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:19 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '64d31e74-19dc-4ee0-8933-0a68ab659f5d'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '1f9d4c84-76e8-4c27-8b66-8da056d5bb47', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:24 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '1f9d4c84-76e8-4c27-8b66-8da056d5bb47'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '9bf9a667-e00b-4229-a3ea-abab305fa59b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:30 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '9bf9a667-e00b-4229-a3ea-abab305fa59b'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a59a4a8d-8fb9-42c9-b00e-62a9dd7d5cec', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:35 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a59a4a8d-8fb9-42c9-b00e-62a9dd7d5cec'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 18, 37, 319000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '07960480-18b4-459e-afe6-d0c0d8c3ad90', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:40 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '07960480-18b4-459e-afe6-d0c0d8c3ad90'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'ca1f5aa0-9986-48ca-990c-3bb310322e03', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:45 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'ca1f5aa0-9986-48ca-990c-3bb310322e03'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a39809de-2b01-47ac-aba9-da5629cae38d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:51 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a39809de-2b01-47ac-aba9-da5629cae38d'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '7cc630e2-7182-4601-8036-857a7eda4e9c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:19:56 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '7cc630e2-7182-4601-8036-857a7eda4e9c'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'e1b86bd1-6c52-4181-b0de-ebf6f90496ae', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:01 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'e1b86bd1-6c52-4181-b0de-ebf6f90496ae'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '5a5f2f76-82af-4b6f-9fb7-e8ebe5c53fee', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:06 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '5a5f2f76-82af-4b6f-9fb7-e8ebe5c53fee'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'b23a9150-b390-465e-9794-88c4025c707a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:12 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'b23a9150-b390-465e-9794-88c4025c707a'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'fea5fdba-f00a-423c-a111-74e6aa2075fb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:17 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'fea5fdba-f00a-423c-a111-74e6aa2075fb'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '62141c18-a78c-4e0e-a0c9-1d114af5b667', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:22 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '62141c18-a78c-4e0e-a0c9-1d114af5b667'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '610f8926-b10c-40fa-b6ac-c118b78b13fd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:27 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '610f8926-b10c-40fa-b6ac-c118b78b13fd'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'f64b7ed6-73a9-407a-9286-5e05ccd07322', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:33 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'f64b7ed6-73a9-407a-9286-5e05ccd07322'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 19, 37, 799000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a6f1f516-98d8-4bac-93a5-c383d4d69513', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:38 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a6f1f516-98d8-4bac-93a5-c383d4d69513'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'b410cc66-1189-46e8-bd97-f4e840574f6f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:43 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'b410cc66-1189-46e8-bd97-f4e840574f6f'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'cc0bfd4a-ba21-4aa2-b651-cddd34f86fad', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:48 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'cc0bfd4a-ba21-4aa2-b651-cddd34f86fad'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd9927183-73b9-44c0-90f6-a0fcc7c75788', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:54 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd9927183-73b9-44c0-90f6-a0fcc7c75788'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'e8b0dda5-c0fa-4b86-8f68-8c14647eea8d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:20:59 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'e8b0dda5-c0fa-4b86-8f68-8c14647eea8d'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '5946a500-b6ec-446d-ac03-d76f2a245ca7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:04 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '5946a500-b6ec-446d-ac03-d76f2a245ca7'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '3f340858-b5f0-46e9-83e5-d2089aed123b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:10 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '3f340858-b5f0-46e9-83e5-d2089aed123b'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '0fc3b6dd-c841-49a1-a78e-2ac839991c42', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:15 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '0fc3b6dd-c841-49a1-a78e-2ac839991c42'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '71549ce8-73dd-4f31-9823-06954c9069ae', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:20 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '71549ce8-73dd-4f31-9823-06954c9069ae'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '4ab74747-0b34-4d81-a10e-d3491de1b92e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:25 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '4ab74747-0b34-4d81-a10e-d3491de1b92e'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'dbf6ee14-7f1e-4349-a3c4-972d446803f3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:30 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'dbf6ee14-7f1e-4349-a3c4-972d446803f3'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'e3ac3cef-ed74-498e-bb98-9ca580157ee4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:36 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'e3ac3cef-ed74-498e-bb98-9ca580157ee4'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 20, 38, 237000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '0f27f0d5-cc15-4495-a55d-f46dca493e78', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:41 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '0f27f0d5-cc15-4495-a55d-f46dca493e78'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'c091d380-ff83-474b-bda6-5cd21407b583', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:46 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'c091d380-ff83-474b-bda6-5cd21407b583'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd6ccb21e-1cce-4744-8ae8-6481ad825d2d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:51 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd6ccb21e-1cce-4744-8ae8-6481ad825d2d'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '596d9196-6c23-4afe-87d2-86dbc0ceaf32', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:21:57 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '596d9196-6c23-4afe-87d2-86dbc0ceaf32'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '8d74e1de-f559-4a77-b9bc-41243a913dba', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:02 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '8d74e1de-f559-4a77-b9bc-41243a913dba'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'f54dd58a-5111-49e5-badb-e0fb32771cd0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:07 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'f54dd58a-5111-49e5-badb-e0fb32771cd0'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'def12e3f-8526-4f6f-b950-5186d6b4a895', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:12 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'def12e3f-8526-4f6f-b950-5186d6b4a895'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a09bd099-a2bf-4338-a988-01c4e0a92167', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:17 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a09bd099-a2bf-4338-a988-01c4e0a92167'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'db51c048-1124-4924-b894-6a6395e4beac', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:23 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'db51c048-1124-4924-b894-6a6395e4beac'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'c4fd07f0-d971-43e3-a326-a9e007a010c4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:28 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'c4fd07f0-d971-43e3-a326-a9e007a010c4'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'e1ab03d4-a328-4d89-8f8e-e1f47224c562', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:33 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'e1ab03d4-a328-4d89-8f8e-e1f47224c562'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'bbf14fbe-c754-4f8b-b7cb-5804db0b836d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:38 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'bbf14fbe-c754-4f8b-b7cb-5804db0b836d'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'c9b90241-6a76-48d3-9a53-9232b7c22a21', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:43 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'c9b90241-6a76-48d3-9a53-9232b7c22a21'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '4b0e41e0-fe0e-4f64-ac5a-db3eadb01c4c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:49 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '4b0e41e0-fe0e-4f64-ac5a-db3eadb01c4c'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'fc9e7b4f-24d0-40d8-9363-ac58b7e343cd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:54 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'fc9e7b4f-24d0-40d8-9363-ac58b7e343cd'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a550a35c-b002-4e15-94f1-fb9dc64faeef', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:22:59 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a550a35c-b002-4e15-94f1-fb9dc64faeef'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'fad1c0c8-b30a-4119-8ee1-63b21f632937', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:05 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'fad1c0c8-b30a-4119-8ee1-63b21f632937'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd82ac475-1b60-489b-a380-8a8dbdbf46ed', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:10 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd82ac475-1b60-489b-a380-8a8dbdbf46ed'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '8c701923-fcd2-4b0d-bd36-25dfecfe82ba', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:16 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '8c701923-fcd2-4b0d-bd36-25dfecfe82ba'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'd810ed4e-5439-44f2-b5bb-698cbc41b81e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:21 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'd810ed4e-5439-44f2-b5bb-698cbc41b81e'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'a533057d-eda9-41ca-a477-2e684656c1d9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:26 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'a533057d-eda9-41ca-a477-2e684656c1d9'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'f20d6eb5-9796-4557-8f57-a90a03d30056', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:31 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'f20d6eb5-9796-4557-8f57-a90a03d30056'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'eff5b1c1-7ca8-468d-bdd0-982cb17d1157', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:37 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'eff5b1c1-7ca8-468d-bdd0-982cb17d1157'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '7e9ba25f-e11d-4a65-8789-8688e5230d97', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:42 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '7e9ba25f-e11d-4a65-8789-8688e5230d97'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'ca628bac-7811-42cd-affd-4b42bd75f332', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:47 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'ca628bac-7811-42cd-affd-4b42bd75f332'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '456d7ff4-cd9c-45ca-a094-540402bf5315', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:52 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '456d7ff4-cd9c-45ca-a094-540402bf5315'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '4964fc20-6340-4ed5-91fd-6292b8643154', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:23:58 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '4964fc20-6340-4ed5-91fd-6292b8643154'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '4401e3ca-001e-4b95-a7a0-b9e95adb77fd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:03 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '4401e3ca-001e-4b95-a7a0-b9e95adb77fd'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'ec29b209-b768-461e-9009-95b9fd18e411', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:08 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'ec29b209-b768-461e-9009-95b9fd18e411'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'df2de435-c837-4281-84bd-b84b4732860e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:14 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'df2de435-c837-4281-84bd-b84b4732860e'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '6e31ee75-1a4c-4379-9f0d-b8c13cb4c73a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:19 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '6e31ee75-1a4c-4379-9f0d-b8c13cb4c73a'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'e89357bd-5b53-41b1-99f1-a5e4952f2b14', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:24 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': 'e89357bd-5b53-41b1-99f1-a5e4952f2b14'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '32707a10-7fc6-40bd-a3cb-6cb099f61829', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:30 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '32707a10-7fc6-40bd-a3cb-6cb099f61829'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '27ff8b53-2dcb-4c99-a9fa-d570c87f94de', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:35 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '27ff8b53-2dcb-4c99-a9fa-d570c87f94de'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '5dcfa73f-a73c-4c9c-bd3b-510a7ea774df', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:40 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '5dcfa73f-a73c-4c9c-bd3b-510a7ea774df'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '5accaa16-8f99-4214-a8ce-51b733c6c6b2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:45 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '5accaa16-8f99-4214-a8ce-51b733c6c6b2'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '6828ff83-0bf8-4650-8bee-6784af744d0f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:50 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '6828ff83-0bf8-4650-8bee-6784af744d0f'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '2d116fe3-47a5-49aa-bb70-4181bc0081a3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:24:56 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '2d116fe3-47a5-49aa-bb70-4181bc0081a3'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '1e59b55c-45cf-4e1e-8099-4cdc31f10a10', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:25:01 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '1e59b55c-45cf-4e1e-8099-4cdc31f10a10'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '83fbedc0-4517-480f-926e-31a933e7feff', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:25:06 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '83fbedc0-4517-480f-926e-31a933e7feff'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '43d65ef3-56ab-4ef2-9f75-ee89a78ca64c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:25:12 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '43d65ef3-56ab-4ef2-9f75-ee89a78ca64c'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '039b0e59-47ca-4511-8cb5-f5e6c8a4f750', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:25:17 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '039b0e59-47ca-4511-8cb5-f5e6c8a4f750'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': '1db2aee7-e322-496b-8b08-8b99b6886c99', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:25:22 GMT', 'content-type': 'application/json', 'content-length': '573', 'connection': 'keep-alive', 'x-amzn-requestid': '1db2aee7-e322-496b-8b08-8b99b6886c99'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'InProgress', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 21, 38, 661000, tzinfo=tzutc())}\n", + "{'ResponseMetadata': {'RequestId': 'cf134f27-9dcd-441c-8e86-4d606def92ba', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 13 May 2025 03:25:27 GMT', 'content-type': 'application/json', 'content-length': '658', 'connection': 'keep-alive', 'x-amzn-requestid': 'cf134f27-9dcd-441c-8e86-4d606def92ba'}, 'RetryAttempts': 0}, 'jobArn': 'arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg', 'jobName': 'importJob-20250412T201448', 'importedModelName': 'qwen2p5-vl-7b-instruct-2', 'importedModelArn': 'arn:aws:bedrock:us-east-1:023979239971:imported-model/f3s0zrhc6km1', 'roleArn': 'arn:aws:iam::023979239971:role/service-role/executionRoleName-20250412T201448', 'modelDataSource': {'s3DataSource': {'s3Uri': 's3://fw-bedrock-models/base/qwen2.5-vl-7b-instruct/'}}, 'status': 'Completed', 'creationTime': datetime.datetime(2025, 5, 13, 3, 16, 13, 527000, tzinfo=tzutc()), 'lastModifiedTime': datetime.datetime(2025, 5, 13, 3, 25, 27, 215000, tzinfo=tzutc()), 'endTime': datetime.datetime(2025, 5, 13, 3, 25, 27, 60000, tzinfo=tzutc())}\n" + ] + } + ], + "source": [ + "import boto3\n", + "from time import sleep\n", + "\n", + "bedrock = boto3.client(\"bedrock\")\n", + "\n", + "# Wait until job complete.\n", + "# You can also view the console for status: https://console.aws.amazon.com/bedrock/home#/import-models\n", + "status = \"InProgress\"\n", + "while status != \"Completed\":\n", + " response = bedrock.get_model_import_job(jobIdentifier=\"arn:aws:bedrock:us-east-1:023979239971:model-import-job/uth83abz9uzg\")\n", + " print(response)\n", + " sleep(5)\n", + " status = response[\"status\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "bedrock-env-2", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.16" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From f757a47fafd1fe3daa03898123d1eb809287d3c8 Mon Sep 17 00:00:00 2001 From: Aidan Do Date: Mon, 12 May 2025 21:35:19 -0700 Subject: [PATCH 3/4] . --- learn/vlm-finetuning/.gitignore | 1 - .../finetuning-on-bedrock.ipynb | 1480 ----------------- learn/vlm-finetuning/other.ipynb | 160 -- .../qwen-2p5-vl-7b-finetune.ipynb | 136 ++ 4 files changed, 136 insertions(+), 1641 deletions(-) delete mode 100644 learn/vlm-finetuning/.gitignore delete mode 100644 learn/vlm-finetuning/finetuning-on-bedrock.ipynb delete mode 100644 learn/vlm-finetuning/other.ipynb create mode 100644 learn/vlm-finetuning/qwen-2p5-vl-7b-finetune.ipynb diff --git a/learn/vlm-finetuning/.gitignore b/learn/vlm-finetuning/.gitignore deleted file mode 100644 index 8420f2d..0000000 --- a/learn/vlm-finetuning/.gitignore +++ /dev/null @@ -1 +0,0 @@ -qwen2p5-vl-7b-instruct/ \ No newline at end of file diff --git a/learn/vlm-finetuning/finetuning-on-bedrock.ipynb b/learn/vlm-finetuning/finetuning-on-bedrock.ipynb deleted file mode 100644 index 17ca069..0000000 --- a/learn/vlm-finetuning/finetuning-on-bedrock.ipynb +++ /dev/null @@ -1,1480 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# How to Finetune a VLM on Bedrock and deploy on Fireworks\n", - "\n", - "This guide will use Qwen 2.5 VL 7B, but you can use this guide with any other model.\n", - "\n", - "### Pre-requisites\n", - "- [aws-cli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)\n", - "- Python" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Collecting boto3\n", - " Using cached boto3-1.38.14-py3-none-any.whl.metadata (6.6 kB)\n", - "Collecting huggingface-hub[cli]\n", - " Using cached huggingface_hub-0.31.1-py3-none-any.whl.metadata (13 kB)\n", - "Collecting botocore<1.39.0,>=1.38.14 (from boto3)\n", - " Using cached botocore-1.38.14-py3-none-any.whl.metadata (5.7 kB)\n", - "Collecting jmespath<2.0.0,>=0.7.1 (from boto3)\n", - " Using cached jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)\n", - "Collecting s3transfer<0.13.0,>=0.12.0 (from boto3)\n", - " Using cached s3transfer-0.12.0-py3-none-any.whl.metadata (1.7 kB)\n", - "Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from botocore<1.39.0,>=1.38.14->boto3) (2.9.0.post0)\n", - "Collecting urllib3!=2.2.0,<3,>=1.25.4 (from botocore<1.39.0,>=1.38.14->boto3)\n", - " Using cached urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)\n", - "Requirement already satisfied: six>=1.5 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.39.0,>=1.38.14->boto3) (1.17.0)\n", - "Collecting filelock (from huggingface-hub[cli])\n", - " Using cached filelock-3.18.0-py3-none-any.whl.metadata (2.9 kB)\n", - "Collecting fsspec>=2023.5.0 (from huggingface-hub[cli])\n", - " Using cached fsspec-2025.3.2-py3-none-any.whl.metadata (11 kB)\n", - "Requirement already satisfied: packaging>=20.9 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from huggingface-hub[cli]) (25.0)\n", - "Collecting pyyaml>=5.1 (from huggingface-hub[cli])\n", - " Using cached PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl.metadata (2.1 kB)\n", - "Collecting requests (from huggingface-hub[cli])\n", - " Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)\n", - "Collecting tqdm>=4.42.1 (from huggingface-hub[cli])\n", - " Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from huggingface-hub[cli]) (4.13.2)\n", - "Collecting hf-xet<2.0.0,>=1.1.0 (from huggingface-hub[cli])\n", - " Downloading hf_xet-1.1.1-cp37-abi3-macosx_11_0_arm64.whl.metadata (494 bytes)\n", - "Collecting InquirerPy==0.3.4 (from huggingface-hub[cli])\n", - " Using cached InquirerPy-0.3.4-py3-none-any.whl.metadata (8.1 kB)\n", - "Collecting pfzy<0.4.0,>=0.3.1 (from InquirerPy==0.3.4->huggingface-hub[cli])\n", - " Using cached pfzy-0.3.4-py3-none-any.whl.metadata (4.9 kB)\n", - "Requirement already satisfied: prompt-toolkit<4.0.0,>=3.0.1 in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from InquirerPy==0.3.4->huggingface-hub[cli]) (3.0.51)\n", - "Requirement already satisfied: wcwidth in /Users/aidando/miniconda3/envs/bedrock-env-2/lib/python3.10/site-packages (from prompt-toolkit<4.0.0,>=3.0.1->InquirerPy==0.3.4->huggingface-hub[cli]) (0.2.13)\n", - "Collecting charset-normalizer<4,>=2 (from requests->huggingface-hub[cli])\n", - " Using cached charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl.metadata (35 kB)\n", - "Collecting idna<4,>=2.5 (from requests->huggingface-hub[cli])\n", - " Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)\n", - "Collecting certifi>=2017.4.17 (from requests->huggingface-hub[cli])\n", - " Using cached certifi-2025.4.26-py3-none-any.whl.metadata (2.5 kB)\n", - "Using cached boto3-1.38.14-py3-none-any.whl (139 kB)\n", - "Using cached botocore-1.38.14-py3-none-any.whl (13.6 MB)\n", - "Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)\n", - "Using cached s3transfer-0.12.0-py3-none-any.whl (84 kB)\n", - "Using cached urllib3-2.4.0-py3-none-any.whl (128 kB)\n", - "Using cached huggingface_hub-0.31.1-py3-none-any.whl (484 kB)\n", - "Using cached InquirerPy-0.3.4-py3-none-any.whl (67 kB)\n", - "Downloading hf_xet-1.1.1-cp37-abi3-macosx_11_0_arm64.whl (5.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m27.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n", - "\u001b[?25hUsing cached pfzy-0.3.4-py3-none-any.whl (8.5 kB)\n", - "Using cached fsspec-2025.3.2-py3-none-any.whl (194 kB)\n", - "Using cached PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl (171 kB)\n", - "Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "Using cached filelock-3.18.0-py3-none-any.whl (16 kB)\n", - "Using cached requests-2.32.3-py3-none-any.whl (64 kB)\n", - "Using cached charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl (201 kB)\n", - "Using cached idna-3.10-py3-none-any.whl (70 kB)\n", - "Using cached certifi-2025.4.26-py3-none-any.whl (159 kB)\n", - "Installing collected packages: urllib3, tqdm, pyyaml, pfzy, jmespath, idna, hf-xet, fsspec, filelock, charset-normalizer, certifi, requests, InquirerPy, botocore, s3transfer, huggingface-hub, boto3\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17/17\u001b[0m [boto3]m16/17\u001b[0m [boto3]re]\n", - "\u001b[1A\u001b[2KSuccessfully installed InquirerPy-0.3.4 boto3-1.38.14 botocore-1.38.14 certifi-2025.4.26 charset-normalizer-3.4.2 filelock-3.18.0 fsspec-2025.3.2 hf-xet-1.1.1 huggingface-hub-0.31.1 idna-3.10 jmespath-1.0.1 pfzy-0.3.4 pyyaml-6.0.2 requests-2.32.3 s3transfer-0.12.0 tqdm-4.67.1 urllib3-2.4.0\n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } - ], - "source": [ - "%pip install boto3 \"huggingface-hub[cli]\"" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "BUCKET_NAME fw-bedrock-finetuning-023979239971\n", - "HF_MODEL_NAME Qwen/Qwen2.5-VL-7B-Instruct\n", - "MODEL_NAME qwen2p5-vl-7b-instruct\n" - ] - } - ], - "source": [ - "import boto3\n", - "\n", - "account_id = boto3.client('sts').get_caller_identity()['Account']\n", - "\n", - "BUCKET_NAME=f\"fw-bedrock-finetuning-{account_id}\"\n", - "HF_MODEL_NAME=\"Qwen/Qwen2.5-VL-7B-Instruct\"\n", - "MODEL_NAME=HF_MODEL_NAME.lower().replace(\".\", \"p\").split(\"/\")[-1]\n", - "\n", - "print(\"BUCKET_NAME\", BUCKET_NAME)\n", - "print(\"HF_MODEL_NAME\", HF_MODEL_NAME)\n", - "print(\"MODEL_NAME\", MODEL_NAME)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Created bucket: fw-bedrock-finetuning-023979239971\n" - ] - } - ], - "source": [ - "s3 = boto3.client('s3')\n", - "\n", - "try:\n", - " s3.create_bucket(Bucket=BUCKET_NAME)\n", - " print(f\"Created bucket: {BUCKET_NAME}\")\n", - "except s3.exceptions.BucketAlreadyExists:\n", - " print(f\"Bucket {BUCKET_NAME} already exists\")\n", - "except s3.exceptions.BucketAlreadyOwnedByYou:\n", - " print(f\"Bucket {BUCKET_NAME} already owned by you\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Fetching 16 files: 0%| | 0/16 [00:00=1.17 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (2.2.5)\n", + "Requirement already satisfied: pyarrow>=15.0.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (20.0.0)\n", + "Requirement already satisfied: dill<0.3.9,>=0.3.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (0.3.8)\n", + "Requirement already satisfied: pandas in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (2.2.3)\n", + "Requirement already satisfied: requests>=2.32.2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (2.32.3)\n", + "Requirement already satisfied: tqdm>=4.66.3 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (4.67.1)\n", + "Requirement already satisfied: xxhash in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (3.5.0)\n", + "Requirement already satisfied: multiprocess<0.70.17 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (0.70.16)\n", + "Requirement already satisfied: fsspec<=2025.3.0,>=2023.1.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (2025.3.0)\n", + "Requirement already satisfied: huggingface-hub>=0.24.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (0.31.1)\n", + "Requirement already satisfied: packaging in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (25.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (6.0.2)\n", + "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (3.11.18)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (1.3.2)\n", + "Requirement already satisfied: async-timeout<6.0,>=4.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (5.0.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (25.3.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (1.6.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (6.4.3)\n", + "Requirement already satisfied: propcache>=0.2.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (0.3.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (1.20.0)\n", + "Requirement already satisfied: typing-extensions>=4.1.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from multidict<7.0,>=4.5->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (4.13.2)\n", + "Requirement already satisfied: idna>=2.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from yarl<2.0,>=1.17.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (3.10)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from huggingface-hub>=0.24.0->datasets) (1.1.1)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from requests>=2.32.2->datasets) (3.4.2)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from requests>=2.32.2->datasets) (2.4.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from requests>=2.32.2->datasets) (2025.4.26)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from pandas->datasets) (2.9.0.post0)\n", + "Requirement already satisfied: pytz>=2020.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from pandas->datasets) (2025.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from pandas->datasets) (2025.2)\n", + "Requirement already satisfied: six>=1.5 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "%pip install datasets pillow" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'id': 15970,\n", + " 'gender': 'Men',\n", + " 'masterCategory': 'Apparel',\n", + " 'subCategory': 'Topwear',\n", + " 'articleType': 'Shirts',\n", + " 'baseColour': 'Navy Blue',\n", + " 'season': 'Fall',\n", + " 'year': 2011.0,\n", + " 'usage': 'Casual',\n", + " 'productDisplayName': 'Turtle Check Men Navy Blue Shirt',\n", + " 'image': }" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/jpeg": "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", + "image/png": "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fWtmZnbj6q2vX7/q6uo+evRIXFxcUFDw06dPv3//fv/+/bVr19jZ2SUkJPT0dbm4uC5evPjkyRMtTSV0N2LwcSYPVlZm8BgxaFqCg4NDSkpKTk6On5//7NmzzMzM7Ozs3Nzcjo6OYmJiampqMjIyXFxcYmJikpKS3NzcXFxcPDw8bGxsoqKiPDw8wsLCUlJSfHx8cnJy+vr6ampqFhYWvLy8oFEmXt7fv3+/efPmw4cPz549u3DhAoYLsQjgDGkGBgZWVsZ//xi+fv357ds3Xl5eLk5eFRUVRUVFFXW1z58/P336VF1d/fTp02JiIh8+fDh+/DgPD8+TJ0+ePn0qLy979erVFy9eXLp06cyZM48ePdLR0Tl//vzt2zeNjY1fvnz55MmT379/srOzv3//npWV9e69F05OTsLCwoKCgljciCGE09E/f/5mZQHlxU+fPt0FAxZmdnlFhV+/fv3////z589v377V0dG5deuWkZHBz58/mf4w8PDwSEhIfP78mY+PT0FBgZeXV05O7s3Ld6ysrKqqqq9evfr06QMbG9vjx4+vXbv25YvMu3fvXr58GRUVJSDIr62tfefOHSIdjTN5sLOzfv36nYGB4dGjR0pKSlJSUgoKCk+fPt27d++HDx/+/PljYmLy588fT0/PL1++hIaGSklJycjISElJiYiIQBIJuHXICPEANze3uLi4urq6rq6ukJCQk5OTubk5ExMTGxvb379/r1+/fv78+a9fv545c+bPH1DAwhvDv3+DepNwLkiOgQFnSP/48YuXF9Qe//379+XLl9+9e2dvp/eP4b+7u7uFhcXVq1dv3brFxMRkamrKysp8586do0ePKikpXbp06dmzZ7dv3z5//vzdu3eFhIRu37j748cPFRWV69evf/36+fnz5y9evJCSkmJnZ//////z589v3rz5/ft3bm5ueXn5p08f3rx5U0tbDd4q/gce4IM01yAuxtfKY2Zm/veP4devv+/evWNiYgLVJp8+ff3+7cePH0+fPhUWFpaQkHj06NG9e/fExUVlZGQ4ODjY2Ng4OTkhRYeysjInJ6exsfGPr7++fv0qJib2+/fvb9++3b179+zZsxwcHE+fPn737p2Ojo6dnd2Nm9eFhYXBufzkuXPnNLVUGRkZ//4FDVpDwhjedYK4G2dIs7Iyf3j/hZ+f5/3793///r158+b7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", + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Load dataset\n", + "from datasets import load_dataset\n", + "from IPython.display import display\n", + "\n", + "dataset = load_dataset(\"ashraq/fashion-product-images-small\")\n", + "\n", + "display(dataset[\"train\"][0])\n", + "dataset[\"train\"][0]['image']\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "finetune-env-2", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.16" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From bb3e4dd12fde79bb876f1033a05078297867f9d3 Mon Sep 17 00:00:00 2001 From: Aidan Do Date: Mon, 12 May 2025 22:04:12 -0700 Subject: [PATCH 4/4] . --- .../qwen-2p5-vl-7b-finetune.ipynb | 257 +++++++++++++++--- 1 file changed, 216 insertions(+), 41 deletions(-) diff --git a/learn/vlm-finetuning/qwen-2p5-vl-7b-finetune.ipynb b/learn/vlm-finetuning/qwen-2p5-vl-7b-finetune.ipynb index b7679bd..3a1846d 100644 --- a/learn/vlm-finetuning/qwen-2p5-vl-7b-finetune.ipynb +++ b/learn/vlm-finetuning/qwen-2p5-vl-7b-finetune.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# How to finetune Qwen 2.5 VL 7B and deploy to fireworks\n", + "# How to Finetune Qwen 2.5 VL 7B and deploy to fireworks\n", "\n", "### Pre-requisites\n", "- 1 H100 GPU\n", @@ -14,58 +14,43 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: datasets in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (3.6.0)\n", - "Requirement already satisfied: pillow in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (11.2.1)\n", - "Requirement already satisfied: filelock in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (3.18.0)\n", - "Requirement already satisfied: numpy>=1.17 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (2.2.5)\n", - "Requirement already satisfied: pyarrow>=15.0.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (20.0.0)\n", - "Requirement already satisfied: dill<0.3.9,>=0.3.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (0.3.8)\n", - "Requirement already satisfied: pandas in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (2.2.3)\n", - "Requirement already satisfied: requests>=2.32.2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (2.32.3)\n", - "Requirement already satisfied: tqdm>=4.66.3 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (4.67.1)\n", - "Requirement already satisfied: xxhash in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (3.5.0)\n", - "Requirement already satisfied: multiprocess<0.70.17 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (0.70.16)\n", - "Requirement already satisfied: fsspec<=2025.3.0,>=2023.1.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (2025.3.0)\n", - "Requirement already satisfied: huggingface-hub>=0.24.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (0.31.1)\n", - "Requirement already satisfied: packaging in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (25.0)\n", - "Requirement already satisfied: pyyaml>=5.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from datasets) (6.0.2)\n", - "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (3.11.18)\n", - "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (2.6.1)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (1.3.2)\n", - "Requirement already satisfied: async-timeout<6.0,>=4.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (5.0.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (25.3.0)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (1.6.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (6.4.3)\n", - "Requirement already satisfied: propcache>=0.2.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (0.3.1)\n", - "Requirement already satisfied: yarl<2.0,>=1.17.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (1.20.0)\n", - "Requirement already satisfied: typing-extensions>=4.1.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from multidict<7.0,>=4.5->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (4.13.2)\n", - "Requirement already satisfied: idna>=2.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from yarl<2.0,>=1.17.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.3.0,>=2023.1.0->datasets) (3.10)\n", - "Requirement already satisfied: hf-xet<2.0.0,>=1.1.0 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from huggingface-hub>=0.24.0->datasets) (1.1.1)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from requests>=2.32.2->datasets) (3.4.2)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from requests>=2.32.2->datasets) (2.4.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from requests>=2.32.2->datasets) (2025.4.26)\n", - "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from pandas->datasets) (2.9.0.post0)\n", - "Requirement already satisfied: pytz>=2020.1 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from pandas->datasets) (2025.2)\n", - "Requirement already satisfied: tzdata>=2022.7 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from pandas->datasets) (2025.2)\n", - "Requirement already satisfied: six>=1.5 in /Users/aidando/miniconda3/envs/finetune-env-2/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas->datasets) (1.17.0)\n", + "Collecting uv\n", + " Using cached uv-0.7.3-py3-none-macosx_11_0_arm64.whl.metadata (11 kB)\n", + "Using cached uv-0.7.3-py3-none-macosx_11_0_arm64.whl (15.6 MB)\n", + "Installing collected packages: uv\n", + "Successfully installed uv-0.7.3\n", + "Note: you may need to restart the kernel to use updated packages.\n", + "\u001b[2mUsing Python 3.10.16 environment at: /Users/aidando/miniconda3/envs/finetune-env-3\u001b[0m\n", + "\u001b[2mAudited \u001b[1m3 packages\u001b[0m \u001b[2min 41ms\u001b[0m\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ - "%pip install datasets pillow" + "# Install dependencies\n", + "%pip install uv\n", + "%uv pip install datasets pillow scikit-learn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example we'll fine-tune a model to classify apparel whether it's a shirt, pants, shoe, watches etc.\n", + "\n", + "We'll use the [Fashion Product Images (Small)](https://www.kaggle.com/datasets/paramaggarwal/fashion-product-images-small) dataset to do this. We'll use only 500 rows for the train set, 100 rows for the test set, and 100 rows for validation to demonstrate you don't need a huge amount of data to get results with fine-tuning." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -95,7 +80,7 @@ "" ] }, - "execution_count": 6, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -107,14 +92,204 @@ "\n", "dataset = load_dataset(\"ashraq/fashion-product-images-small\")\n", "\n", + "# Sample a random row\n", "display(dataset[\"train\"][0])\n", - "dataset[\"train\"][0]['image']\n" + "dataset[\"train\"][0]['image']" ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Original dataset size: 44072\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idgendermasterCategorysubCategoryarticleTypebaseColourseasonyearusageproductDisplayNameimage
236654712UnisexAccessoriesWatchesWatchesBlackWinter2016.0SportsADIDAS Unisex Cambridge Analogue Black Dial Watch<PIL.Image.Image image mode=RGB size=60x80 at ...
2554310495WomenApparelTopwearShirtsBlueFall2011.0CasualFlying Machine Women HS Blue Shirt<PIL.JpegImagePlugin.JpegImageFile image mode=...
3193449924WomenApparelSareeSareesGreenFall2012.0EthnicFabindia Green Maheshwari Maheshwari Zari Saree<PIL.Image.Image image mode=RGB size=60x80 at ...
4042242669WomenApparelTopwearKurtasBlackSummer2012.0EthnicAlma Women Black & White Kurta<PIL.JpegImagePlugin.JpegImageFile image mode=...
4066921304WomenAccessoriesEyewearSunglassesBrownWinter2016.0CasualCeline Dion Women Brown Frame Sunglasses<PIL.Image.Image image mode=RGB size=60x80 at ...
\n", + "
" + ], + "text/plain": [ + " id gender masterCategory subCategory articleType baseColour \\\n", + "23665 4712 Unisex Accessories Watches Watches Black \n", + "25543 10495 Women Apparel Topwear Shirts Blue \n", + "31934 49924 Women Apparel Saree Sarees Green \n", + "40422 42669 Women Apparel Topwear Kurtas Black \n", + "40669 21304 Women Accessories Eyewear Sunglasses Brown \n", + "\n", + " season year usage \\\n", + "23665 Winter 2016.0 Sports \n", + "25543 Fall 2011.0 Casual \n", + "31934 Fall 2012.0 Ethnic \n", + "40422 Summer 2012.0 Ethnic \n", + "40669 Winter 2016.0 Casual \n", + "\n", + " productDisplayName \\\n", + "23665 ADIDAS Unisex Cambridge Analogue Black Dial Watch \n", + "25543 Flying Machine Women HS Blue Shirt \n", + "31934 Fabindia Green Maheshwari Maheshwari Zari Saree \n", + "40422 Alma Women Black & White Kurta \n", + "40669 Celine Dion Women Brown Frame Sunglasses \n", + "\n", + " image \n", + "23665