Skip to content

Reverse Invocation Tool

Note: ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

ツールの逆呼び出しとは、プラグインがFlexAIプラットフォーム内の他のツールタイププラグインを呼び出すことを意味します。逆呼び出しの基本概念に馴染みがない場合は、まずFlexAIサービスの逆呼び出しをお読みください。

以下のシナリオを考えてみてください:

  • ツールタイププラグインが機能を実装したが、結果が期待通りではなく、データの後処理が必要な場合。
  • タスクにウェブスクレイパーが必要で、スクレイピングサービスを柔軟に選択したい場合。
  • 複数のツールの結果を集約する必要があるが、ワークフローアプリケーションでの処理が難しい場合。

これらの場合、プラグイン内で他の既存のツールを呼び出す必要があります。これらのツールは、マーケットプレイスから、自作のWorkflow as Tool、またはカスタムツールである可能性があります。

これらの要件は、プラグインのself.session.toolフィールドを呼び出すことで満たすことができます。

インストール済みツールの呼び出し

プラグインが現在のワークスペースにインストールされているさまざまなツール(他のツールタイププラグインを含む)を呼び出すことができます。

エントリーポイント

    self.session.tool

インターフェース

    def invoke_builtin_tool(
        self, provider: str, tool_name: str, parameters: dict[str, Any]
    ) -> Generator[ToolInvokeMessage, None, None]:
        pass

ここで、providerはプラグインIDとツールプロバイダー名を組み合わせたもので、langgenius/google/googleのような形式です。tool_nameは具体的なツール名で、parametersはツールに渡す引数です。

Workflow as Toolの呼び出し

Workflow as Toolの詳細については、ツールプラグインドキュメントを参照してください。

エントリーポイント

    self.session.tool

インターフェース

    def invoke_workflow_tool(
        self, provider: str, tool_name: str, parameters: dict[str, Any]
    ) -> Generator[ToolInvokeMessage, None, None]:
        pass

この場合、providerはこのツールのIDで、tool_nameはツールの作成時に指定されます。

カスタムツールの呼び出し

エントリーポイント

    self.session.tool

インターフェース

    def invoke_api_tool(
        self, provider: str, tool_name: str, parameters: dict[str, Any]
    ) -> Generator[ToolInvokeMessage, None, None]:
        pass

ここで、providerはこのツールのIDで、tool_nameはOpenAPI仕様のoperation_idです。存在しない場合は、FlexAIによって自動生成されたtool_nameであり、ツール管理ページで確認できます。

関連リソース

{/ Contributing Section DO NOT edit this section! It will be automatically generated by the script. /}


Edit this page | Report an issue