chore: add create_json_message api for tools (#5440)

This commit is contained in:
非法操作
2024-06-24 15:46:16 +08:00
committed by GitHub
parent ba67206bb9
commit 1e28a8c033
7 changed files with 48 additions and 160 deletions

View File

@@ -207,30 +207,7 @@ class Tool(BaseModel, ABC):
result = [result]
return result
def _convert_tool_response_to_str(self, tool_response: list[ToolInvokeMessage]) -> str:
"""
Handle tool response
"""
result = ''
for response in tool_response:
if response.type == ToolInvokeMessage.MessageType.TEXT:
result += response.message
elif response.type == ToolInvokeMessage.MessageType.LINK:
result += f"result link: {response.message}. please tell user to check it. \n"
elif response.type == ToolInvokeMessage.MessageType.IMAGE_LINK or \
response.type == ToolInvokeMessage.MessageType.IMAGE:
result += "image has been created and sent to user already, you do not need to create it, just tell the user to check it now. \n"
elif response.type == ToolInvokeMessage.MessageType.BLOB:
if len(response.message) > 114:
result += str(response.message[:114]) + '...'
else:
result += str(response.message)
else:
result += f"tool response: {response.message}. \n"
return result
def _transform_tool_parameters_type(self, tool_parameters: dict[str, Any]) -> dict[str, Any]:
"""
Transform tool parameters type
@@ -355,3 +332,12 @@ class Tool(BaseModel, ABC):
message=blob, meta=meta,
save_as=save_as
)
def create_json_message(self, object: dict) -> ToolInvokeMessage:
"""
create a json message
"""
return ToolInvokeMessage(
type=ToolInvokeMessage.MessageType.JSON,
message=object
)