Difyのファイルアップロード徹底解説!音声ファイルから議事録を自動作成する方法
ビジネスシーンにおいて、PDF、音声データ、画像ファイルなど、様々な種類のファイルを扱う機会は多いですよね。これらのファイルをもっと効率的に活用したいと思ったことはありませんか?
例えば、
会議の音声データから議事録を作成する
論文などのPDFを要約する、重要な項目を抽出する
といった作業は、従来の方法では時間と手間がかかるものでした。
しかし、Difyのアップデートで追加されたファイルアップロード機能を使えば、これらの作業を効率化できます。
本記事では、Dify のファイルアップロード機能について、以下の内容を解説します。
アップロードできるファイルの種類と形式
具体的なアップロード方法
音声ファイルからの議事録作成自動化
複数のファイルの同時アップロードと処理
ファイルアップロード機能を使った応用例
ファイルアップロード機能の概要
Dify のファイルアップロード機能は、様々な種類のファイルをワークフローに組み込むことを可能にする、非常に強力な機能です。
対応ファイルタイプと形式
文書:TXT, MARKDOWN, PDF, HTML, XLSX, XLS, DOCX, CSV, EML, MSG, PPTX, PPT, XML, EPUB
画像:JPG, JPEG, PNG, GIF, WEBP, SVG
音声:MP3, M4A, WAV, WEBM, AMR
映像:MP4, MOV, MPEG, MPGA
その他:カスタム拡張子がサポートされます
幅広いファイル形式に対応しているため、ビジネスシーンで扱うほとんどのファイルを Dify で活用できるようになりました。
アップロード方法
Dify でファイルをアップロードするには、主に2つの方法があります。
開始ノードのファイル変数
開始ノードにファイル変数を設定することで、アプリ開始時にファイルをアップロードできます。この方法は、あらかじめ処理するファイルが決まっている場合に適しています。
開始ノードの設定画面で、「+」ボタンで新しい変数を追加します。
「Single File」または「File List」タイプの変数を追加することで、ファイルをアップロードできます。
「Single File」を選択した場合の説明をします。
「Support File Types」でアップロード可能にするファイル形式を選択できます。
Upload File TypesでLocal Upload(ローカルに保存しているファイルをアップロード)か、URL(URLでアプロード)か、Both(どちらも可)にするかを選ぶことができます。
「File List」を選択した場合は、上記に加え、Max number of uploadsからアップロードできるファイルの数を設定することが可能です。
アップロードされたファイルは、それぞれ sys.files 変数 (ChatFlow の追加機能の場合) もしくは開始ノードで設定した変数名で参照できます。
ChatFlowの追加機能
ChatFlowでは、チャット画面から直接ファイルをアップロードできます。この方法は、ユーザーとのインタラクティブなやり取りの中でファイルをアップロードする場合に便利です。
最大10個のファイルを同時にアップロードでき、サイズ上限は15MBです。
画面右上の「機能」をクリック。
File UploadをONにして、設定をクリック。
詳細を設定して完了。
※動画ファイルについて
Dify は動画ファイルのアップロードにも対応していますが、現時点では Dify 単体で動画の内容を解析する機能は提供されていません。
動画ファイルの内容を LLM で処理するには、外部のツールや API を利用して、動画からテキストや画像などの情報を抽出する必要があります。
本記事では、ドキュメントファイル、音声ファイルの扱い方について解説します。
ドキュメントエクストラクター
Difyでファイルをアップロードできるようになったのは便利ですが、LLM は、WordやPDFなどのドキュメントファイルを直接読み込むことができません。
LLMは、テキストデータを入力として処理するように設計されているためです。
そこで活躍するのが「ドキュメントエクストラクター」ノードです。このノードは、アップロードされたドキュメントファイルの内容を解析し、LLMが理解できるテキストデータに変換する役割を担います。
入力変数と出力変数
ドキュメントエクストラクターノードは、以下のような入力変数と出力変数を持っています。
入力変数
File:単一のファイル
Array[File]:複数のファイル
出力変数
text: 入力変数の種類に応じて、以下のいずれかの型になります。
string: 入力変数が File の場合
array[string]: 入力変数が Array[File] の場合
処理可能なファイル形式
ドキュメントエクストラクターノードは、以下のファイル形式に対応しています。
テキストファイル (.txt)
Markdownファイル (.md)
PDF (.pdf)
HTML (.html)
Wordファイル (.docx)
これらのファイル形式からテキストデータが抽出され、LLMノードで処理できるようになります。
実際の活用例:PDF論文の内容要約
まずは、開始ノードで論文のPDFファイルをアップロードできるようにDocumentを設定します。