株式会社グローバルゲート公式ブログ

ノーコードでAIアプリを作れる「Dify」を使ってみた

こんにちは、株式会社グローバルゲートのモーリーです。 
 
数日前に食洗機が故障し、久しぶりに手で食器を洗っています。 
食器洗いがこんなに辛い作業だったとは…。 
 

さて、気を取り直して本日の記事ではDify(ディファイ)というツールについての説明と実際に使ってみた感想をご紹介します。 
 
Difyはプログラムを書くことなくアプリケーションが作れるビジュアルプログラミングツールで、AIを組み込んだアプリケーション作成に特化していることが特徴です。 
このようなノーコード・ローコードツールはScratchが有名ですが、DifyもScratchと同様に行いたい処理をつなぎ合わせることでアプリケーションを作成することができます。 

Difyの特徴とは?

1. ノーコードでAIアプリが作れるUI

Difyは直感的なUI上でアプリの入力形式やプロンプトの設計、出力のフォーマットなどを設定できるため、専門的なプログラミングの知識がなくても誰でも手軽にAIアプリを作成できます。 
 
たとえば、業務でよく使う定型的な問い合わせ対応やマニュアル応答といった処理を、社内の非エンジニアのメンバーが自ら構築することも可能です。こうした点から、DifyはIT部門だけでなく現場の部門でも導入しやすく、実際の業務改善にスムーズにつなげられるツールだといえます。 

2. 豊富なLLMと連携可能 

DifyはChatGPT、Claude、Azure OpenAI Service、Google Geminiなど、複数のLLM(言語モデル)に対応しています。こうした高度な言語モデルと簡単に接続できる仕組みが整っており、APIキーを登録するだけで利用が可能です。これにより、従来は開発のハードルが高かったAIチャットボットや文章生成機能も、専門知識なしに短時間で導入できるようになります。 

3. プラグインやワークフローの拡張 

DifyはAPI連携やワークフローによる機能拡張にも対応しています。たとえば社内の社内WikiやDBと連携させて、ドキュメント検索を行うRAGアプリ(Retrieval-Augmented Generation:検索によって取得した情報をもとに生成を行う手法)や、外部APIと連携した自動応答アシスタント、社内ツールと連動したレポート生成機能などが構築可能です。 

4. チームでの共同開発や管理がしやすい 

Difyはマルチユーザー対応で、アプリごとにアクセス権限の設定やバージョン管理ができるため、チームでの共同開発や運用がしやすいのも利点です。特に、複数部署が関わるPoC(Proof of Concept:実現可能かどうかを小規模に試して確認するテスト的な取り組み)開発や、フィードバックを反映しながら改善を重ねるプロジェクトに向いています。 

また、クラウド型だけでなく自社サーバーにインストールするセルフホスティング型での運用も可能で、情報漏洩のリスクを抑えた運用も可能です。

Difyはどんな用途に使える? 

ではDifyでどんなアプリケーションをつくったらいいでしょうか? 
以下のようなアプリケーションはDify向きで業務の効率化にもすぐに貢献するでしょう。 

・社内FAQやマニュアル自動応答ボット 
・社外向けチャットサポートAI 
・ドキュメント検索+要約機能のAI 
・商品説明文の自動生成ツール 
・既存業務システムと連携するAIアシスタント など 

これらの用途はいずれも従来であればエンジニアやシステム担当者の手を借りなければ構築が難しかったものですが、Difyを活用すれば専門的な技術やプログラミングの知識がなくても業務に必要なアプリケーションを自らの手で構築することが可能になります。 
 
たとえば、営業部門が商品説明の自動生成ツールを作成したり、カスタマーサポート部門がチャットボットを独自に設計・改善したりといった活用が見込めます。 
 
また、実験的なアプリケーションや小規模な業務アプリの立ち上げにも非常に適しており、アイデアを素早く形にして実業務で試しながら、現場のニーズに即した改善を重ねるというアジャイルな導入が可能です。 
Difyは現場主導で生成AIを取り入れたいと考える企業やチームにとって、非常に導入しやすく頼もしいツールであるといえるでしょう。 

Difyでアプリを作ってみる 

それでは、実際にDifyで何かアプリケーションを作ってみたいと思います。 
 
既に手元にある資料やデータをベースにチャットボットを作成できる点もDifyの強みですので、試しにソニー製ミラーレス一眼レフカメラα7R IVのマニュアルをナレッジとして読み込ませ、チャット形式で回答を得られるチャットボットを作成してみたいと思います。 

マニュアルは251ページあるので目的のページのたどり着くのも大変です…。 
チャット形式で答えが返ってくるのは非常に便利だと思います。

0.会員登録

まずは会員登録を行ってください。

メールアドレスで登録を行おうとしたらいつまでたってもメールが届かなかったのでGithubかGoogleアカウントのほうがいいと思います。

1.アプリの新規作成

まずはアプリの新規作成を行います。 
「最初から作成」→「チャットフロー」を選択します。 

すると次のようなフローチャートのような画面が表示されます。 
ここに新しいフローを追加し、線でつなぐことでアプリとして機能するようになります。 

2.ブロックの追加

まずはブロックを追加し、チャットボットとして機能するようにしておきます。 

外部資料を参照して答えを返すチャットボットの場合、 
開始→知識検索→LLM→終了 
の順番に実行するように設定します。 

ブロックを追加したあとは各ブロックを線でつなぎます。 
 この繋いだ順番で処理が実行されます。

3.ナレッジの追加 

知識検索ブロックにマニュアルPDFを参照する設定を行います。 

知識検索ブロックのナレッジベースにナレッジ(知識)を追加します。

初回は選択するナレッジがありませんので、「作成に進む」をクリックしてナレッジの作成を行います。

今回はPDFマニュアルを元にするため、「テキストファイルからインポート」を選択します。
Notionのデータを使ったりJina Reader、Firecrawl、WaterCrawlというWebサービス(このWebサービスについてははじめて聞きました)のデータをナレッジとして扱うこともできます。

アップロードが完了すると知識検索ブロックの知識として選択することができます。

ナレッジベースにアップロードしたPDFを選択し、検索変数はsys.query(開始時に入力した質問文)を設定しておきます。

3.LLMの設定

次にLLMブロックの設定を行います。
まずは使用するモデル(ChatGPT、Claudeなど)を選択します。

続いてプロンプトを入力します。
言うまでもなく最も重要な部分です。

コンテキスト
答えを返す際の元となる情報です。今回はマニュアルのPDFにあたります。

SYSTEM
基本となるプロンプトです。
前提条件や口調、出力フォーマットなどを指定します。

今回はα7R-IVについてのチャットボットであるため、該当機種に関する質問以外を受け付けないようなプロンプトを書いています。

このように前提条件をつけないとどんな質問であっても答えてしまいます。

USER
ユーザー向けプロンプトです。
入力内容によって変化がある内容を記載するといいでしょう。

3.回答の設定

最後に、得られた結果をどのように表示させるかの設定を回答ブロックで行います。
今回は単に結果をそのまま表示させるだけにしましたが、前後に定型文を追加したり指定のフォーマットに沿って出力するなどのカスタマイズも行えます。

できあがり!使ってみましょう

これでひとまずチャットボットが動くようになりました!
「プレビュー」をクリックすると実際に会話が行えます。いくつか質問をしてみましょう。

操作方法の質問

仕様についての質問

ふわっとした質問

これは素晴らしいですね!
マニュアルを元にしているので誤った答えを返す心配もありません(0ではないと思うので注意は必要)
答えの文章も非常に読みやすく、さらに口調のカスタマイズもプロンプトでできる柔軟性もあります。

α7Rivにまったく関係のない質問にはどう答えるのでしょうか?試してみましょう。

プロンプトが効いてきちんと拒否してくれました。

運営者が想定していない質問を投げ、チャットボットに不適切な回答をさせるというAIをターゲットにした攻撃が既に存在します。
Difyによるチャットボットも設定やプロンプトによっては攻撃対象となりますので、外部に公開をする場合は慎重な検証が必要でしょう。

まとめ:Difyは生成AI導入の第一歩に最適

AI導入において「まず試してみたい」「プロトタイプを素早く作りたい」というニーズは多いものの、開発環境の準備やLLMの扱いにハードルを感じるケースも少なくありません。 
 
Difyは、そうした課題をクリアし、現場主導でAI活用をスタートできるツールとして非常に有力な選択肢です。 
特に社内ドキュメントや顧客データベースが肥大化している企業にとっては、Difyのナレッジにアップロードするだけでも大幅な業務効率化が見込めるでしょう。 
 
 
当社でもDifyをはじめとした各種AIツールの活用について、積極的に取り組んでいきたいと思います。

【関連記事】

ご相談・お問い合わせ

当社サービスについてのお問い合わせは下記までご連絡下さい。

お電話でのお問い合わせ

06-6121-7581 / 03-6415-8161