mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 03:32:23 +08:00
refactor: load tools cache
This commit is contained in:
parent
fb4ee813c7
commit
2cb640de15
18
api/controllers/files/plugin_files.py
Normal file
18
api/controllers/files/plugin_files.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
from flask_restful import Resource, reqparse
|
||||
|
||||
from controllers.files import api
|
||||
|
||||
|
||||
class PluginFilePreviewApi(Resource):
|
||||
def get(self, file_id: str, file_type: str):
|
||||
parser = reqparse.RequestParser()
|
||||
|
||||
parser.add_argument("timestamp", type=str, required=True, location="args")
|
||||
parser.add_argument("nonce", type=str, required=True, location="args")
|
||||
parser.add_argument("sign", type=str, required=True, location="args")
|
||||
parser.add_argument("as_attachment", type=bool, required=False, default=False, location="args")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
api.add_resource(PluginFilePreviewApi, "/files/<path:file_id>/<path:file_type>/plugin-file-preview")
|
|
@ -45,15 +45,9 @@ class BuiltinToolProviderController(ToolProviderController):
|
|||
),
|
||||
)
|
||||
|
||||
def _get_builtin_tools(self) -> list[BuiltinTool]:
|
||||
"""
|
||||
returns a list of tools that the provider can provide
|
||||
|
||||
:return: list of tools
|
||||
"""
|
||||
if self.tools:
|
||||
return self.tools
|
||||
self._load_tools()
|
||||
|
||||
def _load_tools(self):
|
||||
provider = self.entity.identity.name
|
||||
tool_path = path.join(path.dirname(path.realpath(__file__)), "providers", provider, "tools")
|
||||
# get all the yaml files in the tool path
|
||||
|
@ -86,7 +80,14 @@ class BuiltinToolProviderController(ToolProviderController):
|
|||
)
|
||||
|
||||
self.tools = tools
|
||||
return tools
|
||||
|
||||
def _get_builtin_tools(self) -> list[BuiltinTool]:
|
||||
"""
|
||||
returns a list of tools that the provider can provide
|
||||
|
||||
:return: list of tools
|
||||
"""
|
||||
return self.tools
|
||||
|
||||
def get_credentials_schema(self) -> list[ProviderConfig]:
|
||||
"""
|
||||
|
|
|
@ -18,7 +18,6 @@ class PluginTool(Tool):
|
|||
self.tenant_id = tenant_id
|
||||
self.runtime_parameters = None
|
||||
|
||||
@property
|
||||
def tool_provider_type(self) -> ToolProviderType:
|
||||
return ToolProviderType.PLUGIN
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user