Files
dify-plugin-sdks/python/examples/basic_math/main.py
T
Yeuoly eb4b0f2a3b init
2024-07-10 17:56:01 +08:00

35 lines
1.1 KiB
Python

# cwd: examples/basic_math
# lib: dify-plugin
# import sys
from collections.abc import AsyncGenerator
import sys
sys.path.append('../..')
from dify_plugin.core.runtime.entities.tool import ToolInvokeMessage
from dify_plugin import ToolProvider, Plugin
from dify_plugin.tool.entities import ToolProviderConfiguration
from dify_plugin.tool.tool import Tool
from dify_plugin.tool.entities import ToolConfiguration
plugin = Plugin()
@plugin.register_tool_provider
class BasicMath(ToolProvider):
@classmethod
def configuration(cls) -> ToolProviderConfiguration:
return ToolProviderConfiguration(name='basic_math')
@plugin.register_tool(BasicMath)
class Add(Tool):
@classmethod
def configuration(cls) -> ToolConfiguration:
return ToolConfiguration(name='add')
async def _invoke(self, user_id: str, tool_parameter: dict) -> AsyncGenerator[ToolInvokeMessage, None]:
result = tool_parameter['a'] + tool_parameter['b']
yield self.create_text_message(f'The result is {result}')
if __name__ == '__main__':
plugin.run()