Explorar el Código

fix: add additional parameters to exists tools

Yeuoly hace 5 meses
padre
commit
342d4060ff

+ 9 - 2
api/core/tools/builtin_tool/providers/audio/tools/asr.py

@@ -1,6 +1,6 @@
 import io
 from collections.abc import Generator
-from typing import Any
+from typing import Any, Optional
 
 from core.file.enums import FileType
 from core.file.file_manager import download
@@ -14,7 +14,14 @@ from services.model_provider_service import ModelProviderService
 
 
 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")
         if file.type != FileType.AUDIO:  # type: ignore
             yield self.create_text_message("not a valid audio file")

+ 9 - 2
api/core/tools/builtin_tool/providers/audio/tools/tts.py

@@ -1,6 +1,6 @@
 import io
 from collections.abc import Generator
-from typing import Any
+from typing import Any, Optional
 
 from core.model_manager import ModelManager
 from core.model_runtime.entities.model_entities import ModelPropertyKey, ModelType
@@ -12,7 +12,14 @@ from services.model_provider_service import ModelProviderService
 
 
 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
         voice = tool_parameters.get(f"voice#{provider}#{model}")
         model_manager = ModelManager()

+ 9 - 2
api/core/tools/builtin_tool/providers/code/tools/simple_code.py

@@ -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.tools.builtin_tool.tool import BuiltinTool
@@ -6,7 +6,14 @@ from core.tools.entities.tool_entities import ToolInvokeMessage
 
 
 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
         """

+ 4 - 1
api/core/tools/builtin_tool/providers/webscraper/tools/webscraper.py

@@ -1,5 +1,5 @@
 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.entities.tool_entities import ToolInvokeMessage
@@ -12,6 +12,9 @@ class WebscraperTool(BuiltinTool):
         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]:
         """
         invoke tools

+ 1 - 1
api/services/tools/tools_transform_service.py

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