fix: add additional parameters to exists tools

This commit is contained in:
Yeuoly 2024-12-18 23:54:48 +08:00
parent 05232d36f0
commit 342d4060ff
No known key found for this signature in database
GPG Key ID: A66E7E320FB19F61
5 changed files with 32 additions and 8 deletions

View File

@ -1,6 +1,6 @@
import io import io
from collections.abc import Generator from collections.abc import Generator
from typing import Any from typing import Any, Optional
from core.file.enums import FileType from core.file.enums import FileType
from core.file.file_manager import download from core.file.file_manager import download
@ -14,7 +14,14 @@ from services.model_provider_service import ModelProviderService
class ASRTool(BuiltinTool): class ASRTool(BuiltinTool):
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage, None, None]: def _invoke(
self,
user_id: str,
tool_parameters: dict[str, Any],
conversation_id: Optional[str] = None,
app_id: Optional[str] = None,
message_id: Optional[str] = None,
) -> Generator[ToolInvokeMessage, None, None]:
file = tool_parameters.get("audio_file") file = tool_parameters.get("audio_file")
if file.type != FileType.AUDIO: # type: ignore if file.type != FileType.AUDIO: # type: ignore
yield self.create_text_message("not a valid audio file") yield self.create_text_message("not a valid audio file")

View File

@ -1,6 +1,6 @@
import io import io
from collections.abc import Generator from collections.abc import Generator
from typing import Any from typing import Any, Optional
from core.model_manager import ModelManager from core.model_manager import ModelManager
from core.model_runtime.entities.model_entities import ModelPropertyKey, ModelType from core.model_runtime.entities.model_entities import ModelPropertyKey, ModelType
@ -12,7 +12,14 @@ from services.model_provider_service import ModelProviderService
class TTSTool(BuiltinTool): class TTSTool(BuiltinTool):
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage, None, None]: def _invoke(
self,
user_id: str,
tool_parameters: dict[str, Any],
conversation_id: Optional[str] = None,
app_id: Optional[str] = None,
message_id: Optional[str] = None,
) -> Generator[ToolInvokeMessage, None, None]:
provider, model = tool_parameters.get("model").split("#") # type: ignore provider, model = tool_parameters.get("model").split("#") # type: ignore
voice = tool_parameters.get(f"voice#{provider}#{model}") voice = tool_parameters.get(f"voice#{provider}#{model}")
model_manager = ModelManager() model_manager = ModelManager()

View File

@ -1,4 +1,4 @@
from typing import Any from typing import Any, Optional
from core.helper.code_executor.code_executor import CodeExecutor, CodeLanguage from core.helper.code_executor.code_executor import CodeExecutor, CodeLanguage
from core.tools.builtin_tool.tool import BuiltinTool from core.tools.builtin_tool.tool import BuiltinTool
@ -6,7 +6,14 @@ from core.tools.entities.tool_entities import ToolInvokeMessage
class SimpleCode(BuiltinTool): class SimpleCode(BuiltinTool):
def _invoke(self, user_id: str, tool_parameters: dict[str, Any]) -> ToolInvokeMessage | list[ToolInvokeMessage]: def _invoke(
self,
user_id: str,
tool_parameters: dict[str, Any],
conversation_id: Optional[str] = None,
app_id: Optional[str] = None,
message_id: Optional[str] = None,
) -> ToolInvokeMessage | list[ToolInvokeMessage]:
""" """
invoke simple code invoke simple code
""" """

View File

@ -1,5 +1,5 @@
from collections.abc import Generator from collections.abc import Generator
from typing import Any from typing import Any, Optional
from core.tools.builtin_tool.tool import BuiltinTool from core.tools.builtin_tool.tool import BuiltinTool
from core.tools.entities.tool_entities import ToolInvokeMessage from core.tools.entities.tool_entities import ToolInvokeMessage
@ -12,6 +12,9 @@ class WebscraperTool(BuiltinTool):
self, self,
user_id: str, user_id: str,
tool_parameters: dict[str, Any], tool_parameters: dict[str, Any],
conversation_id: Optional[str] = None,
app_id: Optional[str] = None,
message_id: Optional[str] = None,
) -> Generator[ToolInvokeMessage, None, None]: ) -> Generator[ToolInvokeMessage, None, None]:
""" """
invoke tools invoke tools

View File

@ -288,7 +288,7 @@ class ToolTransformService:
if isinstance(tool, ApiToolBundle): if isinstance(tool, ApiToolBundle):
return ToolApiEntity( return ToolApiEntity(
author=tool.author, author=tool.author,
name=tool.operation_id, name=tool.operation_id or "",
label=I18nObject(en_US=tool.operation_id, zh_Hans=tool.operation_id), label=I18nObject(en_US=tool.operation_id, zh_Hans=tool.operation_id),
description=I18nObject(en_US=tool.summary or "", zh_Hans=tool.summary or ""), description=I18nObject(en_US=tool.summary or "", zh_Hans=tool.summary or ""),
parameters=tool.parameters, parameters=tool.parameters,