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

概要

詳細なインターフェースドキュメントに入る前に、Difyプラグインのツール統合プロセスについて全般的な理解があることを確認してください。

メッセージタイプ

テキスト、リンク、画像、JSONなど、さまざまな種類のメッセージを返す

変数

ワークフロー統合のための変数を作成および操作する

出力スキーマ

ワークフロー参照用のカスタム出力変数を定義する

データ構造

メッセージの戻り値

Difyは textlinksimagesfile BLOBsJSON など、さまざまなメッセージタイプをサポートしています。これらのメッセージは専用のインターフェースを通じて返すことができます。
デフォルトでは、ワークフロー内のツールの出力には filestextjson の3つの固定変数が含まれます。以下のメソッドを使用して、これらの変数に適切なコンテンツを設定できます。
create_image_message などのメソッドを使用して画像を返すことができますが、ツールはカスタム出力変数もサポートしており、ワークフロー内で特定のデータを参照するのに便利です。

メッセージタイプ

string
必須
ダウンロードして表示される画像のURL
クリック可能なリンクとして表示されるURL
string
必須
表示されるテキストコンテンツ
bytes
必須
バイト形式の生ファイルデータ
dict
以下を含むファイルメタデータ:
  • mime_type:ファイルのMIMEタイプ(例:“image/png”)
  • ファイルに関連するその他のメタデータ
dict
必須
JSONとしてシリアライズされるPython辞書
ファイルBLOBを扱う際は、ファイルが正しく処理されるように、meta 辞書に常に mime_type を指定してください。例:{"mime_type": "image/png"}

変数

string
必須
作成または更新される変数の名前
Any/string
必須
変数に割り当てる値:
  • 標準変数の場合:任意のPythonデータ型
  • ストリーミング変数の場合:文字列データのみ
ストリーミング変数メソッド(create_stream_variable_message)は現在、文字列データのみをサポートしています。複雑なデータ型はタイプライター効果でストリーミングできません。

カスタム出力変数

ワークフローアプリケーションでツールの出力変数を参照するには、どの変数が出力される可能性があるかを定義する必要があります。これはツールのマニフェストで JSON Schema 形式を使用して行います。

出力スキーマの定義

object
必須
ツールの出力スキーマを定義するルートオブジェクト
string
必須
ツール出力スキーマでは “object” である必要があります
object
必須
すべての可能な出力変数の辞書
object
各出力変数の定義(型と説明を含む)
出力スキーマを定義しても、実装コードで create_variable_message() を使用して実際に変数を返す必要があります。そうしないと、ワークフローはその変数に対して None を受け取ります。

実装例

複雑なワークフローの場合、複数の出力変数を定義してすべてを返すことができます。これにより、ワークフロー設計者がツールを使用する際の柔軟性が向上します。

完全なツール実装

ツールを設計する際は、直接出力(ユーザーが見るもの)と変数出力(他のワークフローノードが使用できるもの)の両方を考慮してください。この分離により、ツールの使用方法に柔軟性が生まれます。

Edit this page | Report an issue