|
@@ -1,8 +1,8 @@
|
|
|
# standard import
|
|
|
import base64
|
|
|
-import io
|
|
|
import json
|
|
|
import logging
|
|
|
+import mimetypes
|
|
|
from collections.abc import Generator
|
|
|
from typing import Optional, Union, cast
|
|
|
|
|
@@ -17,7 +17,6 @@ from botocore.exceptions import (
|
|
|
ServiceNotInRegionError,
|
|
|
UnknownServiceError,
|
|
|
)
|
|
|
-from PIL.Image import Image
|
|
|
|
|
|
# local import
|
|
|
from core.model_runtime.callbacks.base_callback import Callback
|
|
@@ -443,8 +442,9 @@ class BedrockLargeLanguageModel(LargeLanguageModel):
|
|
|
try:
|
|
|
url = message_content.data
|
|
|
image_content = requests.get(url).content
|
|
|
- with Image.open(io.BytesIO(image_content)) as img:
|
|
|
- mime_type = f"image/{img.format.lower()}"
|
|
|
+ if "?" in url:
|
|
|
+ url = url.split("?")[0]
|
|
|
+ mime_type, _ = mimetypes.guess_type(url)
|
|
|
base64_data = base64.b64encode(image_content).decode("utf-8")
|
|
|
except Exception as ex:
|
|
|
raise ValueError(f"Failed to fetch image data from url {message_content.data}, {ex}")
|