AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

Difyとは?何ができる?使い方や料金体系、商用利用について徹底解説!

この記事のポイント

  • Dify.aiは、プログラミング初心者でも簡単にAIアプリを開発できるプラットフォームです。
  • 直感的なUI、豊富なAIモデル、外部ツール連携など、多彩な機能を備えています。
  • 無料プランから本格的な開発に対応する有料プランまで、幅広い料金体系を展開。
  • 条件付きで商用利用も可能。ただし注意点も。
  • Difyを使った様々なアプリケーション開発事例を紹介。

監修者プロフィール

坂本 将磨

Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。

Dify(Dify.AIは、プログラミングスキルが不要で、誰でも直感的にAIアプリを作成できる革新的なプラットフォームです。
開発者だけでなく、非エンジニアやビジネスユーザーも、ノーコードでチャットボットやコンテンツ生成ツールなどの高度なアプリを構築できます。

この記事では、Difyの特長や利用方法、料金プランなどを詳しく解説します。また、Difyを使った様々なアプリケーション開発事例も紹介し、AIアプリ開発の可能性を探ります。

プログラミングの壁を越えて、誰もがAIの力を活用できる時代の到来を感じさせるDifyの世界をご覧ください。

Difyとは

Difyは、AI開発の敷居を下げ、誰もが手軽に高度なAIアプリケーションを構築できるオープンソースのLLMアプリ開発プラットフォームです。
生成AIを活用したチャットボット、コンテンツ生成ツール、データ分析ツールなど、様々なアプリケーションの開発をサポートします。

直感的なインターフェースと豊富な機能を備えているため、開発者だけでなく非エンジニアやビジネスユーザーも、コーディング不要で高性能なAIアプリを構築できます。

Difyとは
(参考:Dify)


Difyの特徴

Difyは直感的なUIとナレッジ機能、包括的なモデルサポートにより、プログラミング初心者でも手軽にAIアプリを開発できるプラットフォームとなっています。

組織のニーズに合わせて自由にカスタマイズが可能な点も魅力的です。

直感的なノーコードUI

Difyの最大の特徴は、**直感的なユーザーインターフェース(UI)**を備えていることです。プログラミングの知識がなくても、ドラッグ&ドロップ操作でアプリケーションを構築できます。

パラメーターの設定も簡単に行えるため、初心者でも手軽にAIアプリの開発が可能です。

Dify:チャットボット構築例
チャットボット構築例。ノーコードで作成可能


豊富なモデルサポート

Difyは、OpenAI、Anthropic、Azure OpenAI、Llama2、Hugging Face、Replicateなど、さまざまなAIモデルプロバイダーをサポートしています。

目的に応じて最適なモデルを選択でき、さらにモデル間の連携も可能です。 柔軟なモデル活用ができるのが大きな利点です。

Difyで利用可能なAIモデル(プロパイダー)
Didyで利用可能なAIモデルの一覧 (参考:Dify)


RAGパイプランによるナレッジ機能

Difyには、RAG(Retrieval-Augmented Generation)パイプラインが搭載されています。

この機能を活用することで、組織内に蓄積された独自のドキュメントやデータをもとに回答するチャットボットアプリなどを作成できます。

Difyのナレッジ機能
Difyのナレッジ機能


カスタムツールやAPIの統合

Difyには、Google検索Slackなどの外部ツールをはじめ、Dell-EStable Diffusionといった画像生成AIを組み込める機能があります。
さらに、APIの統合を通じて独自のカスタムツールも作成できます。

外部ツールやAPIと連携させることで、より高度な機能を持つAIアプリ開発が可能になるでしょう。

Difyの外部ツール組み込み
多様な外部サービスを組み込み可能


豊富なテンプレートとコンポーネント

Difyには、さまざまなアプリケーションのテンプレートとコンポーネントが用意されています。

チャットボット、タスクリスト、カレンダーなど、よく使われる機能をテンプレートとして提供しているため、ゼロからの開発は不要です。
必要に応じてカスタマイズを加えるだけで、短期間でアプリを構築できます。

Difyのテンプレート例
Difyのテンプレート例


このように、Difyはノーコード/ローコードによるAI開発を実現するだけでなく、豊富なテンプレート、包括的なAIモデル連携、外部ツール統合など、高い拡張性と生産性を備えた特徴を持っています。


Difyの使い方

DifyはGitHubからリポジトリをクローンしてローカルで利用する方法と、ブラウザからSaaSとして利用する方法があります。
用途に合わせて好みの方法を選べます。

ブラウザでの利用方法

  1. Difyの公式サイトにアクセスします。

  2. 右上の「始める」ボタンからアカウントを作成します。
    Googleアカウント、もしくはGithubでの登録が求められるので、好きな方を使ってサインアップしてください
    Googleアカウント、もしくはGithubでの登録が求められるので、好きな方を使ってサインアップしてください

  3. ホーム画面が開きます。「アプリを作成する」の欄に表示されている「最初から作成する」、「テンプレートから作成」のうち、好きな方を選択します。
    今回は「最初から作成する」を選択しました
    今回は「最初から作成する」を選択しました

  4. 作成したいアプリのタイプ、名前とアイコン、説明を追加します。
    今回はアプリタイプをチャットボット、アイコンは初期設定のまま、名前を「chatbot-demo」、説明は空欄にしてあります
    今回はアプリタイプをチャットボット、アイコンは初期設定のまま、名前を「chatbot-demo」、説明は空欄にしてあります

  5. 必要事項を記入します。今回はチャットボットなので手順の欄にプロンプトとして献立を考えるよう入力しました。
    今回は日本語で入力しましたが、英語でも入力可能です今回は日本語で入力しましたが、英語でも入力可能です

  6. 「デバックとプレビュー」の欄でテスト実行できます。右下に質問文を入力し、送信します。
    無事夕食の献立案が出力されました
    無事夕食の献立案が出力されました

  7. 右上の「公開する」ボタン内にある「更新」から保存、公開できます。
    「アプリを実行」や「サイトに埋め込む」をクリックすると別ページへ飛びます
    「アプリを実行」や「サイトに埋め込む」をクリックすると別ページへ飛びます


ローカルでの利用方法

Difyはオープンソースソフトウェアなので、ローカル環境にもインストール可能です。
こちらの公式ドキュメントを参考に進めていきます。

  1. GitHubからDifyのリポジトリをクローンします。
    Githubがインストールされている環境の場合は、ターミナルで以下のコマンドを実行することでクローンできます。
   git clone https://github.com/langgenius/dify.git


  1. 以下のコマンドを使ってdify内にあるdockerディレクトリに移動し、Dockerを起動します。この操作には若干時間がかかります。
    cd dify/docker
    docker compose up -d


正しく出力された場合は、以下のように表示されます。

    [+] Running 34/4
     ✔ worker Pulled                                                         269.0s 
     ✔ api Pulled                                                            269.0s 
     ✔ nginx Pulled                                                           72.9s 
     ✔ web Pulled                                                            123.5s 
    [+] Running 9/9
     ✔ Container docker-web-1         Started                                 12.5s 
     ✔ Container docker-db-1          Started                                 12.6s 
     ✔ Container docker-weaviate-1    Started                                 12.6s 
     ✔ Container docker-ssrf_proxy-1  Start...                                12.7s 
     ✔ Container docker-sandbox-1     Started                                 12.4s 
     ✔ Container docker-redis-1       Started                                 12.6s 
     ✔ Container docker-worker-1      Started                                 11.8s 
     ✔ Container docker-api-1         Started                                 11.9s 
     ✔ Container docker-nginx-1       Started



3. 正しく実行されているかの確認のため、以下のコマンドを実行します。

    docker compose ps


  1. Difyをアップグレードします。以下のコマンドを使ってdify内のdockerディレクトリに移動し、実行します。
    cd dify/docker
    git pull origin main
    docker compose down
    docker compose pull
    docker compose up -d

以下のような表示が出たら実行完了です!

    [+] Running 11/11
     ✔ Network docker_default             Created                              0.1s 
     ✔ Network docker_ssrf_proxy_network  Created                              0.0s 
     ✔ Container docker-db-1              Started                              0.9s 
     ✔ Container docker-web-1             Started                              0.8s 
     ✔ Container docker-ssrf_proxy-1      S...                                 1.0s 
     ✔ Container docker-weaviate-1        Sta...                               0.9s 
     ✔ Container docker-sandbox-1         Star...                              0.7s 
     ✔ Container docker-redis-1           Starte...                            0.9s 
     ✔ Container docker-api-1             Started                              1.3s 
     ✔ Container docker-worker-1          Start...                             1.3s 
     ✔ Container docker-nginx-1           Starte...                            1.7s 



5. 最後に、ローカル環境を立ち上げるためのリンクにアクセスし、メールアドレスを使ってサインアップを行います。


  1. ホーム画面が開きます。あとはweb版と同じようなフローで利用できます。なお、ローカル環境ではDockerコンテナ内でワークフローが実行されます。

ローカル利用ではDockerの知識が必要ですが、クラウド環境に依存せずにDifyを利用でき、オンプレミスでの運用も可能になります。利用シーンに合わせて、SaaSかローカルインストールを選択できます。


Difyのワークフローを使ったチャットボットの作成方法

web版を使って、RAGを活用したチャットボットを作ってみます。

テンプレートを使って作成する

先述のように、Difyには多くのテンプレートが用意されています。
まずは、そのうちの一つである「Email Assistant Worklflow」を使ってメール執筆の手助けをするチャットボットを作ってみました。

  1. 「テンプレートから選択」をクリックし、使いたいテンプレートを選択します。
    数多くのテンプレートが用意されています
    数多くのテンプレートが用意されています

  2. 使いたいものを選択し、名前や説明を追記します。
    デフォルトではテンプレートの名前が入力されているため、今回はEmail Assinstant Workflow-demoとしました
    デフォルトではテンプレートの名前が入力されているため、今回はEmail Assinstant Workflow-demoとしました



3. アプリ作成画面が開きます。ここから必要事項を入力していきます。
今回は変更を加えていませんが、内容を変えることで簡単にカスタマイズが可能です
今回は変更を加えていませんが、内容を変えることで簡単にカスタマイズが可能です

  1. 右上の「実行」ボタンをクリックし、テスト実行を行います。
    今回はメールの内容をさらに完了するように指示しました
    今回はメールの内容をさらに完了するように指示しました

  2. 結果が表示されます。
    無事丁寧な文章が出力されました
    無事丁寧な文章が出力されました


完成後は「公開する」ボタンから「更新」をクリックして保存しておきましょう。

また、「公開する」ボタンの中にある「アプリを実行する」ボタンをクリックすると、新しいタブが開き、作成したアプリを実行可能です。
そのタブのURLをコピーすることでご自身のウェブサイトなど任意の場所に埋め込むことも可能になります。

「詳細」や「トレース」からどのように実行されたかや、どの程度トークンを使用したか、処理にかかった秒数などを確認できます。
どんな仕組みで動いているかの確認にも便利です
どんな仕組みで動いているかの確認にも便利です


このように直感的な操作でアプリの作成が可能なため、コーディングの経験や知識に自信がない方でも、web版を使うことで簡単に操作、実行することができます。


テンプレートを使わずにカスタマイズする

Difyではこれらのテンプレートを使わず、好きなように機能を組み合わせてアプリを作ることも可能です。
今回はデモとしてメールをよりフォーマルに、もしくはラフにするものを作成してみます。

  1. 全体像はこのようなものになりました。
    各ノードの解説は後述しますt
    各ノードの解説は後述します
    今回はほとんどノーコードで作成しています。

  2. ホーム画面から「最初から作成」を選択し、「ワークフロー」を選択し、名前をつけます。必要に応じて説明も追加します。
    今回はdemo-playとしました
    今回はdemo-playとしました

  3. 機能の追加をします
     ホーム画面が開き、さまざまな機能を追加できるようになります。
    今回は最初の「開始」ノードで以下の機能を追加します。

  • 開始のところでユーザーにどういったものを作りたいのか選択してもらう
  • 校正したいテキストを入力してもらう
  • メールの最後に入力するユーザーの名前を入れる


まずは開始を選択し、入力フィールドの+をクリック、機能を入力します。

Alt text
今回は選択式のため、「段落」を選択しました


また、テキストを入力する部分も作るため、さらに+をクリックし、追加していきます。
こちらはテキストのため「ショートテキスト」を選択しています
こちらはテキストのため「ショートテキスト」を選択しています


さらに、最後の署名用の名前欄を作りたいので「ショートテキスト」を使って名前記入欄を作ります。
こちらは最低文字数も記入してあります
こちらは最低文字数も記入してあります


  1. 「次のステップ」の中にある+をクリックし、次の機能を追加します。今回は二種類の選択肢を用意しているので、それらの判別のために「質問分類機」を使用しています。
    クラスにそれぞれの選択肢から分岐するように作成しています
    クラスにそれぞれの選択肢から分岐するように作成しています


  1. 以下、2と3の繰り返しで機能を足してアプリを作っていきます。今回は入力に対してLLM(大規模言語モデル)で出力を作成したいので、LLMを選択しています。

「System」欄にプロンプトを入力します。
今回はDifyのテンプレートの中にあったものを変数のみ入れ替えて使用しました
今回はDifyのテンプレートの中にあったものを変数のみ入れ替えて使用しました

  1. テンプレートを追加します。この機能を挟むことで、出力結果をまとめることができるようになります。
    今回は、LLMによるメールの生成結果と、署名用の名前を足したいので以下のように記入しました。
    エディタ欄に入力すると自動的に入力変数も補完してくれる場合もあります
    エディタ欄に入力すると自動的に入力変数も補完してくれる場合もあります


  1. 最後に必ず「終了」ブロックを組み込みます。テンプレート機能でまとめたものを出力するために、変数はoutputを入力しています。
    ここまでできたら完成です
    ここまでできたら完成です

これで完成です!

完成したものの動作テストを行う

実際に「実行」ボタンからテストランしてみました。

選択したスタイルは「formal」、入力内容は以下の通りです。
なお、名前は「Demo-name」としています。

Dear, Demo-player,

I hope this message finds you well.

I am writing to inquire about your availability for a meeting to discuss [briefly mention the purpose of the meeting]. I believe that a discussion on this topic would be beneficial and help us to [mention the expected outcome or benefit of the meeting].

Could you please let me know your availability over the next week? I am flexible and can adjust my schedule to accommodate your convenience. Specifically, I am available on the following dates and times:

[Date and Time Option 1]
[Date and Time Option 2]
[Date and Time Option 3]
If none of these times work for you, please suggest a few alternatives that fit your schedule.

Thank you very much for your time and consideration. I look forward to your response and hope we can find a mutually convenient time to meet.

Best regards,


このように出力されました。実際に機能していることがわかります!

Dear Demo-player,

I hope this message finds you well.

I am writing to inquire about your availability for a meeting to discuss [briefly mention the purpose of the meeting]. I believe that a discussion on this topic would be beneficial and help us to [mention the expected outcome or benefit of the meeting].

Could you please let me know your availability over the next week? I am flexible and can adjust my schedule to accommodate your convenience. Specifically, I am available on the following dates and times:

- [Date and Time Option 1]
- [Date and Time Option 2]
- [Date and Time Option 3]

If none of these times work for you, please suggest a few alternatives that fit your schedule.

Thank you very much for your time and consideration. I look forward to your response and hope we can find a mutually convenient time to meet.

Best regards,
Demo-name

「informal」で実行すると、以下のようになりました。概ねこちらの要望を正確に汲み取っていることがわかります。
かなりラフなメールが出力されました
かなりラフなメールが出力されました


このように、自分好みにカスタマイズして使いやすいアプリを作ることができます。
OpenAIにて提供されているGPTsに似ていますが、カスタマイズの容易さ拡張性の点ではDifyが優秀かもしれません。


Difyの料金体系

Difyの料金体系は、手軽に始められる無料プランから、本格的な開発に対応する有料プランまで、幅広く用意されています。

支払い方法は月払いと年払いの2種類が用意されており、年間プランの場合は2ヶ月分の割引が適用されます。

プラン サンドボックス (無料プラン) プロフェッショナル チームプラン エンタープライズプラン
料金 無料 月額59ドル (年額590ドル) 月額159ドル (年額1,590ドル) 要相談
クレジット GPTの無料トライアル200回まで 5,000回/月 10,000回/月 無制限の機能が用意されている
アプリの生成回数 10回 50回 無制限 無制限
チームメンバー 1人 3人 無制限 無制限
容量 5MB 200MB 1GB カスタム
ログの履歴 30日間 無制限 無制限 無制限
カスタムツール 利用不可 10種類 無制限 無制限
サポート コミュニティフォーラム メールサポート 優先メール&チャットサポート 専用のSlackチャンネル、電話、メールによるサポート

Difyの料金体系(月額)
Difyの料金体系表(月額)


Difyの商用利用について

Difyは商用利用が可能なオープンソースソフトウェア(OSS)ですが、一部条件があります。

Difyの商用利用(オープンソースライセンス)
Dify オープンソースライセンス規約 (引用:Dify)

商用利用が制限されるケース

  • マルチテナントSaaSサービスの提供
    Difyのソースコードを使って、複数の企業や組織が共有して利用するクラウドサービスを運営する場合。

    例えば、「Difyを使ったチャットボットプラットフォームを運営し、複数の企業に提供する場合」がこれにあたります。

  • ロゴや著作権情報の削除・変更
    Difyを使用する際に、Difyコンソールに表示されるロゴや著作権情報を削除したり、変更したりする場合。


上記に当てはまるサービスを提供する場合は、Difyのビジネスチーム(business@dify.ai)に問い合わせをし、商用ライセンスを取得する必要があります。

商用利用が可能なケース

  • Difyを社内のシステムやアプリケーションに組み込んで使用する。
  • Difyを利用して開発したアプリケーションを販売する。
  • Difyをカスタマイズして、特定の顧客向けにサービスを提供する。


これらの場合、Difyの商用利用は基本的に許可されています。
例えば、「受託開発企業A」が「クライアントB」のためにDifyを使って特定のアプリケーションを開発する場合です。

この場合、特別な許可は不要だと考えられます。
ただし、Difyのロゴや著作権情報を適切に表示する必要があります。


Difyでできること

Difyで作成できるアプリケーションは、チャットボットやテキストジェネレーター(物語やスピーチなど)、検索やキュレーションを自動化するエージェントなど、さまざまです。
AIの出力を活用したアプリケーションであれば、Difyで手軽に作れるでしょう。

ここでは、Xで話題のDifyを活用して作成されたアプリを紹介していきます。

最新ニュースを取り入れたチャットボットの作成

論文検索システム

ブラウジング中にWebページを要約

写真から料理名とカロリーを計算


まとめ

本記事では、オープンソースのLLMアプリ開発プラットフォームである「Dify」の概要と特徴について解説しました。

Difyは、直感的なノーコードUIや豊富なモデルサポート、ナレッジ機能、外部ツールとの統合など、多彩な機能を備えており、プログラミング初心者でも手軽にAIアプリを開発できるプラットフォームです。

無料プランから本格的な開発に対応する有料プランまで、幅広い料金体系が用意されており、用途に合わせて選択できます。また、商用利用も一定の条件の下で許可されています。

Difyは、AIアプリ開発の敷居を下げ、より多くの人々がAIの恩恵を享受できる世界の実現を目指しています。今後も、さらなる機能拡充と利便性の向上が期待されるプラットフォームです。

AI活用のノウハウ集「AI総合研究所」サービスご紹介資料

「AI総合研究所 サービス紹介資料」は、AI導入のノウハウがないというお客様にも使いやすい最先端のAI導入ノウハウを知れる資料です。

資料ダウンロード
監修者

坂本 将磨

Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。

関連記事

AI導入の最初の窓口。

お悩み・課題に合わせて活用方法をご案内いたします。
お気軽にお問合せください。

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!