このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
概要#
ツールは結果をメッセージと変数として返します。このページでは、メッセージインターフェース、変数の作成、出力スキーマの定義について説明します。
データ構造#
メッセージの戻り値#
Dify はテキスト、リンク、画像、ファイル blob、JSON など複数のメッセージタイプをサポートしており、それぞれ専用のインターフェースを通じて返されます。
デフォルトでは、ワークフロー内のツールの出力には files、text、json の 3 つの固定変数が含まれます。以下のメソッドでこれらの変数を設定します。
create_image_message などのメソッドで画像を返すこともできますが、ツールはカスタム出力変数もサポートしており、ワークフロー内で特定のデータをより参照しやすくなります。
メッセージタイプ#
ファイル BLOB を扱う際は、ファイルが正しく処理されるように、meta 辞書に常に mime_type を指定してください。例:{"mime_type": "image/png"}。
変数#
create_stream_variable_message は現在、文字列データのみをサポートしています。複雑なデータ型はタイプライター効果でストリーミングできません。
カスタム出力変数#
Workflow アプリケーションでツールの出力変数を参照するには、ツールのマニフェストで JSON Schema を使用して、ツールが出力する可能性のある変数を宣言します。
出力スキーマの定義#
出力スキーマを定義するだけでは不十分です。実装コードで create_variable_message() を使用して各変数を返す必要があります。そうしないと、ワークフローはその変数に対して None を受け取ります。
実装例#
複雑なワークフローの場合、複数の出力変数を定義してすべてを返すことができます。これにより、ワークフロー設計者がツールを使用する際の柔軟性が向上します。
例#
完全なツール実装#
ツールを設計する際は、直接出力(ユーザーが見るもの)と変数出力(他のワークフローノードが使用できるもの)の両方を考慮してください。この分離により、ツールの使用方法に柔軟性が生まれます。