Forráskód Böngészése

fix: remote image not display in answer node (#6867)

非法操作 8 hónapja
szülő
commit
29e3c3061c

+ 2 - 0
api/core/tools/provider/builtin/duckduckgo/tools/ddgo_img.py

@@ -2,6 +2,7 @@ from typing import Any
 
 from duckduckgo_search import DDGS
 
+from core.file.file_obj import FileTransferMethod
 from core.tools.entities.tool_entities import ToolInvokeMessage
 from core.tools.tool.builtin_tool import BuiltinTool
 
@@ -21,6 +22,7 @@ class DuckDuckGoImageSearchTool(BuiltinTool):
         response = DDGS().images(**query_dict)
         result = []
         for res in response:
+            res['transfer_method'] = FileTransferMethod.REMOTE_URL
             msg = ToolInvokeMessage(type=ToolInvokeMessage.MessageType.IMAGE_LINK,
                                     message=res.get('image'),
                                     save_as='',

+ 2 - 1
api/core/workflow/nodes/tool/tool_node.py

@@ -174,13 +174,14 @@ class ToolNode(BaseNode):
                 ext = path.splitext(url)[1]
                 mimetype = response.meta.get('mime_type', 'image/jpeg')
                 filename = response.save_as or url.split('/')[-1]
+                transfer_method = response.meta.get('transfer_method', FileTransferMethod.TOOL_FILE)
 
                 # get tool file id
                 tool_file_id = url.split('/')[-1].split('.')[0]
                 result.append(FileVar(
                     tenant_id=self.tenant_id,
                     type=FileType.IMAGE,
-                    transfer_method=FileTransferMethod.TOOL_FILE,
+                    transfer_method=transfer_method,
                     url=url,
                     related_id=tool_file_id,
                     filename=filename,