fix: image url message

This commit is contained in:
Yeuoly 2024-11-29 18:20:36 +08:00
parent 89af726985
commit fb44cd87e7
No known key found for this signature in database
GPG Key ID: A66E7E320FB19F61

View File

@ -25,7 +25,9 @@ class ToolFileMessageTransformer:
for message in messages: for message in messages:
if message.type in {ToolInvokeMessage.MessageType.TEXT, ToolInvokeMessage.MessageType.LINK}: if message.type in {ToolInvokeMessage.MessageType.TEXT, ToolInvokeMessage.MessageType.LINK}:
yield message yield message
elif message.type == ToolInvokeMessage.MessageType.IMAGE and isinstance(message.message, str): elif message.type == ToolInvokeMessage.MessageType.IMAGE and isinstance(
message.message, ToolInvokeMessage.TextMessage
):
# try to download image # try to download image
try: try:
if not conversation_id: if not conversation_id:
@ -49,11 +51,10 @@ class ToolFileMessageTransformer:
meta=message.meta.copy() if message.meta is not None else {}, meta=message.meta.copy() if message.meta is not None else {},
) )
except Exception as e: except Exception as e:
logger.exception(f"Failed to download image from {url}")
yield ToolInvokeMessage( yield ToolInvokeMessage(
type=ToolInvokeMessage.MessageType.TEXT, type=ToolInvokeMessage.MessageType.TEXT,
message=ToolInvokeMessage.TextMessage( message=ToolInvokeMessage.TextMessage(
text=f"Failed to download image: {message.message}, you can try to download it yourself." text=f"Failed to download image: {message.message.text}: {e}"
), ),
meta=message.meta.copy() if message.meta is not None else {}, meta=message.meta.copy() if message.meta is not None else {},
save_as=message.save_as, save_as=message.save_as,