Browse Source

fix: DuckDuckGo image search tool error (#5606)

tags/0.6.12
非法操作 1 year ago
parent
commit
b8926ea267
No account linked to committer's email address

+ 4
- 4
api/core/agent/cot_agent_runner.py View File

) )


# publish files # publish files
for message_file, save_as in message_files:
for message_file_id, save_as in message_files:
if save_as: if save_as:
self.variables_pool.set_file( self.variables_pool.set_file(
tool_name=tool_call_name, value=message_file.id, name=save_as)
tool_name=tool_call_name, value=message_file_id, name=save_as)


# publish message file # publish message file
self.queue_manager.publish(QueueMessageFileEvent( self.queue_manager.publish(QueueMessageFileEvent(
message_file_id=message_file.id
message_file_id=message_file_id
), PublishFrom.APPLICATION_MANAGER) ), PublishFrom.APPLICATION_MANAGER)
# add message file ids # add message file ids
message_file_ids.append(message_file.id)
message_file_ids.append(message_file_id)


return tool_invoke_response, tool_invoke_meta return tool_invoke_response, tool_invoke_meta



+ 4
- 4
api/core/agent/fc_agent_runner.py View File

agent_tool_callback=self.agent_callback, agent_tool_callback=self.agent_callback,
) )
# publish files # publish files
for message_file, save_as in message_files:
for message_file_id, save_as in message_files:
if save_as: if save_as:
self.variables_pool.set_file(tool_name=tool_call_name, value=message_file.id, name=save_as)
self.variables_pool.set_file(tool_name=tool_call_name, value=message_file_id, name=save_as)


# publish message file # publish message file
self.queue_manager.publish(QueueMessageFileEvent( self.queue_manager.publish(QueueMessageFileEvent(
message_file_id=message_file.id
message_file_id=message_file_id
), PublishFrom.APPLICATION_MANAGER) ), PublishFrom.APPLICATION_MANAGER)
# add message file ids # add message file ids
message_file_ids.append(message_file.id)
message_file_ids.append(message_file_id)
tool_response = { tool_response = {
"tool_call_id": tool_call_id, "tool_call_id": tool_call_id,

+ 5
- 2
api/core/app/task_pipeline/message_cycle_manage.py View File

extension = '.bin' extension = '.bin'
else: else:
extension = '.bin' extension = '.bin'
# add sign url
url = ToolFileManager.sign_file(tool_file_id=tool_file_id, extension=extension)
# add sign url to local file
if message_file.url.startswith('http'):
url = message_file.url
else:
url = ToolFileManager.sign_file(tool_file_id=tool_file_id, extension=extension)


return MessageFileStreamResponse( return MessageFileStreamResponse(
task_id=self._application_generate_entity.task_id, task_id=self._application_generate_entity.task_id,

+ 1
- 0
api/core/file/file_obj.py View File

'type': self.type.value, 'type': self.type.value,
'transfer_method': self.transfer_method.value, 'transfer_method': self.transfer_method.value,
'url': self.preview_url, 'url': self.preview_url,
'remote_url': self.url,
'related_id': self.related_id, 'related_id': self.related_id,
'filename': self.filename, 'filename': self.filename,
'extension': self.extension, 'extension': self.extension,

+ 7
- 3
api/core/tools/provider/builtin/duckduckgo/tools/ddgo_img.py View File

"max_results": tool_parameters.get('max_results'), "max_results": tool_parameters.get('max_results'),
} }
response = DDGS().images(**query_dict) response = DDGS().images(**query_dict)
results = []
result = []
for res in response: for res in response:
results.append(self.create_image_message(image=res.get("image")))
return results
msg = ToolInvokeMessage(type=ToolInvokeMessage.MessageType.IMAGE_LINK,
message=res.get('image'),
save_as='',
meta=res)
result.append(msg)
return result

+ 3
- 3
api/core/tools/tool_engine.py View File

from copy import deepcopy from copy import deepcopy
from datetime import datetime, timezone from datetime import datetime, timezone
from mimetypes import guess_type from mimetypes import guess_type
from typing import Union
from typing import Any, Union


from yarl import URL from yarl import URL


agent_message: Message, agent_message: Message,
invoke_from: InvokeFrom, invoke_from: InvokeFrom,
user_id: str user_id: str
) -> list[tuple[MessageFile, bool]]:
) -> list[tuple[Any, str]]:
""" """
Create message file Create message file


db.session.refresh(message_file) db.session.refresh(message_file)


result.append(( result.append((
message_file,
message_file.id,
message.save_as message.save_as
)) ))



+ 1
- 0
api/core/workflow/nodes/tool/tool_node.py View File

tenant_id=self.tenant_id, tenant_id=self.tenant_id,
type=FileType.IMAGE, type=FileType.IMAGE,
transfer_method=FileTransferMethod.TOOL_FILE, transfer_method=FileTransferMethod.TOOL_FILE,
url=url,
related_id=tool_file_id, related_id=tool_file_id,
filename=filename, filename=filename,
extension=ext, extension=ext,

+ 1
- 0
web/app/components/base/image-gallery/index.tsx View File

src={src} src={src}
alt='' alt=''
onClick={() => setImagePreviewUrl(src)} onClick={() => setImagePreviewUrl(src)}
onError={e => e.currentTarget.remove()}
/> />
))} ))}
{ {

Loading…
Cancel
Save