Skip to main content
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
ナレッジパイプラインでは、ナレッジベースノードは2種類のマルチモーダルデータ形式の入力をサポートしています:multimodal-Parent-Childmultimodal-General マルチモーダルデータ処理用のツールプラグインを開発する際、プラグインの出力するマルチモーダルデータ(テキスト、画像、音声、動画など)がナレッジベースノードで正しく認識・ベクトル化されるためには、以下の設定が必要です:
  • ツールコード内で、APIを呼び出してファイルオブジェクト files をアップロード・構築します。
  • ツールプロバイダーのYAMLファイルで、output_schemamultimodal-Parent-Child または multimodal-General として宣言します。

ファイルオブジェクトのアップロードと構築

マルチモーダルデータ(画像など)を処理する際は、まずDifyのツールセッションインターフェースを通じてファイルをアップロードし、ファイルのメタデータを取得する必要があります。 以下にDify公式プラグインDify Extractorを例として、ファイルのアップロードとファイルオブジェクトの構築方法を示します。
アップロードインターフェースは、ファイルの基本情報を含む UploadFileResponse オブジェクトを返します:
その構造に基づき、ファイル情報(namesizeextensionmime_type など)をマルチモーダル出力構造の files フィールドにマッピングできます。

マルチモーダル出力構造の宣言

マルチモーダルデータの構造は、Dify公式が提供するJSON Schemaによって定義されています。 ナレッジベースノードがプラグインのマルチモーダル出力タイプを認識できるようにするためには、プラグインプロバイダーのYAMLファイルで output_schemaresult フィールドを対応する公式Schema URLに指定する必要があります。
multimodal-Parent-Child の例として、完全なYAMLファイルの設定は以下の通りです: