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

概要

ツールは結果をメッセージと変数として返します。このページでは、メッセージインターフェース、変数の作成、出力スキーマの定義について説明します。

メッセージタイプ

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

変数

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

出力スキーマ

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

データ構造

メッセージの戻り値

Dify はテキスト、リンク、画像、ファイル blob、JSON など複数のメッセージタイプをサポートしており、それぞれ専用のインターフェースを通じて返されます。 デフォルトでは、ワークフロー内のツールの出力には filestextjson の 3 つの固定変数が含まれます。以下のメソッドでこれらの変数を設定します。
create_image_message などのメソッドで画像を返すこともできますが、ツールはカスタム出力変数もサポートしており、ワークフロー内で特定のデータをより参照しやすくなります。

メッセージタイプ

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

変数

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

カスタム出力変数

Workflow アプリケーションでツールの出力変数を参照するには、ツールのマニフェストで JSON Schema を使用して、ツールが出力する可能性のある変数を宣言します。

出力スキーマの定義

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

実装例

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

完全なツール実装

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