1.新增视觉能力 2.新增对上次图片 或 上传图片 引用图片做编辑能力.
This commit is contained in:
@@ -3,7 +3,7 @@ import logging
|
||||
from io import BytesIO
|
||||
import urllib3
|
||||
from PIL import Image
|
||||
from minio import Minio
|
||||
from minio import Minio, S3Error
|
||||
|
||||
from src.core.config import settings
|
||||
|
||||
@@ -72,10 +72,10 @@ def oss_upload_image_file(oss_client, bucket, object_name, file_path):
|
||||
|
||||
def get_presigned_url(oss_client, bucket, object_name):
|
||||
try:
|
||||
presigned_url = oss_client.presigned_get_object(
|
||||
presigned_url = oss_client.get_presigned_url(
|
||||
"GET",
|
||||
bucket_name=bucket,
|
||||
object_name=object_name,
|
||||
expires=3600
|
||||
)
|
||||
return presigned_url
|
||||
except Exception as e:
|
||||
@@ -83,18 +83,41 @@ def get_presigned_url(oss_client, bucket, object_name):
|
||||
return "object not found"
|
||||
|
||||
|
||||
def is_minio_file_exist(minio_client: Minio, bucket_name: str, object_name: str) -> bool:
|
||||
def is_minio_file_exist(oss_client: Minio, bucket_name: str, object_name: str) -> bool:
|
||||
try:
|
||||
# 核心判断:检查MinIO中指定bucket+object是否存在
|
||||
minio_client.stat_object(bucket_name, object_name)
|
||||
oss_client.stat_object(bucket_name, object_name)
|
||||
return True
|
||||
except Exception as e:
|
||||
return False
|
||||
|
||||
|
||||
def load_minio_file_to_state(oss_client, bucket: str, object_name: str, display_filename: str = None):
|
||||
try:
|
||||
# 下載 object 成 bytes
|
||||
response = oss_client.get_object(
|
||||
bucket_name=bucket,
|
||||
object_name=object_name,
|
||||
)
|
||||
data_bytes = response.read()
|
||||
response.close()
|
||||
response.release_conn()
|
||||
|
||||
# 決定在 agent 裡顯示的檔名(可覆寫,避免洩漏真實 object name)
|
||||
filename = display_filename or object_name.split("/")[-1]
|
||||
|
||||
# 回傳適合塞進 state["files"] 的格式
|
||||
return {filename: data_bytes}
|
||||
|
||||
except S3Error as err:
|
||||
raise ValueError(f"MinIO 下載失敗: {err}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
url = 'fida-test/furniture/sketches/9356e3d8-d56e-4478-adde-61b29119979b.png'
|
||||
url = 'fida-test/furniture/sketches/1b82b2db-8019-4796-b2cc-11fb24c7799d.png'
|
||||
read_type = "2"
|
||||
img = oss_get_image(oss_client=minio_client, bucket=url.split('/')[0], object_name=url[url.find('/') + 1:])
|
||||
img.show()
|
||||
img.save("result.png")
|
||||
# get_presigned_url(oss_client=minio_client, bucket="fida-test", object_name="furniture/sketches/07bf4cfe-4502-4821-b78f-7727bf409498.png")
|
||||
#
|
||||
Reference in New Issue
Block a user