Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
33 lines
944 B
Python
33 lines
944 B
Python
# coding: utf-8
|
|
# Copyright (c) 2025 inclusionAI.
|
|
import base64
|
|
from io import BytesIO
|
|
|
|
|
|
def encode_image_from_url(image_url):
|
|
from aworld.utils.import_package import import_package
|
|
import_package("requests")
|
|
|
|
import requests
|
|
from PIL import Image
|
|
|
|
response = requests.get(image_url)
|
|
image = Image.open(BytesIO(response.content))
|
|
|
|
max_size = 1024
|
|
if max(image.size) > max_size:
|
|
ratio = max_size / max(image.size)
|
|
new_size = (int(image.size[0] * ratio), int(image.size[1] * ratio))
|
|
image = image.resize(new_size, Image.LANCZOS)
|
|
|
|
buffered = BytesIO()
|
|
image_format = image.format if image.format else 'JPEG'
|
|
image.save(buffered, format=image_format)
|
|
img_str = base64.b64encode(buffered.getvalue()).decode()
|
|
return img_str
|
|
|
|
|
|
def encode_image_from_file(image_path):
|
|
with open(image_path, "rb") as image_file:
|
|
return base64.b64encode(image_file.read()).decode()
|