|
|
|
|
@ -2,7 +2,6 @@ from typing import Any
|
|
|
|
|
|
|
|
|
|
from duckduckgo_search import DDGS
|
|
|
|
|
|
|
|
|
|
from core.file.models import FileTransferMethod
|
|
|
|
|
from core.tools.entities.tool_entities import ToolInvokeMessage
|
|
|
|
|
from core.tools.tool.builtin_tool import BuiltinTool
|
|
|
|
|
|
|
|
|
|
@ -20,11 +19,9 @@ class DuckDuckGoImageSearchTool(BuiltinTool):
|
|
|
|
|
"max_results": tool_parameters.get("max_results"),
|
|
|
|
|
}
|
|
|
|
|
response = DDGS().images(**query_dict)
|
|
|
|
|
result = []
|
|
|
|
|
markdown_result = "\n\n"
|
|
|
|
|
json_result = []
|
|
|
|
|
for res in response:
|
|
|
|
|
res["transfer_method"] = FileTransferMethod.REMOTE_URL
|
|
|
|
|
msg = ToolInvokeMessage(
|
|
|
|
|
type=ToolInvokeMessage.MessageType.IMAGE_LINK, message=res.get("image"), save_as="", meta=res
|
|
|
|
|
)
|
|
|
|
|
result.append(msg)
|
|
|
|
|
return result
|
|
|
|
|
markdown_result += f" or ''})"
|
|
|
|
|
json_result.append(self.create_json_message(res))
|
|
|
|
|
return [self.create_text_message(markdown_result)] + json_result
|
|
|
|
|
|