修正删除文档不能同时删除图片的bug
This commit is contained in:
@@ -178,14 +178,24 @@ class SiliconFlowLLM:
|
||||
import asyncio
|
||||
import time
|
||||
|
||||
# 读取图片并编码为base64
|
||||
with open(image_path, "rb") as f:
|
||||
image_data = base64.b64encode(f.read()).decode("utf-8")
|
||||
|
||||
# 检测图片格式
|
||||
# 读取图片并编码为base64,不支持的格式先转为PNG
|
||||
ext = os.path.splitext(image_path)[1].lower()
|
||||
mime_map = {".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".gif": "image/gif", ".webp": "image/webp"}
|
||||
mime_type = mime_map.get(ext, "image/png")
|
||||
|
||||
if ext not in mime_map:
|
||||
from PIL import Image
|
||||
import io
|
||||
img = Image.open(image_path)
|
||||
if img.mode in ("CMYK", "P"):
|
||||
img = img.convert("RGB")
|
||||
buf = io.BytesIO()
|
||||
img.save(buf, format="PNG")
|
||||
image_data = base64.b64encode(buf.getvalue()).decode("utf-8")
|
||||
mime_type = "image/png"
|
||||
else:
|
||||
with open(image_path, "rb") as f:
|
||||
image_data = base64.b64encode(f.read()).decode("utf-8")
|
||||
mime_type = mime_map[ext]
|
||||
|
||||
prompt = IMAGE_DESCRIPTION_PROMPT.format(context_text=context_text[:600])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user