Dify: ノーコードでLLMアプリを作成してみる

Difyとは?
Difyは、プログラミングの知識がなくても、ノーコードでLLMアプリケーションを作成できる、オープンソースプラットフォームです。Backend as ServiceとLLMOpsの概念を融合しており、LLMアプリケーションを短時間で構築できます。インターフェースも直感的に操作可能で、アイデアを形にするまでの時間を大幅に短縮できます。
Difyは、公式ページにアクセスしてすぐに開発可能です。無料枠もあるので、とりあえず試すこともできます。また、GitHubにコードが公開されているので、個人環境をしてサービスを立ち上げることもできます。
- Difyのすごいところ
- 多様なAIモデルに対応: 数100種類のAI言語モデルから選択可能。チャットボットから高度な分析まで、幅広い用途に対応可能。
- カスタムチャットボットを簡単作成: ドラッグ&ドロップで、オリジナルのチャットボットを構築できる。
- 高性能RAGエンジン搭載: 複雑な質問にも的確に答えられる、高度な情報検索エンジンを構築できる。
- AIエージェントを自由に設計: 様々なツールを組み合わせ、オリジナルのAIエージェントを作成できる。
- 自由なワークフロー設計: 直感的なインターフェースで、複雑な処理も簡単に実装可能。
- オープンソースだから安心: 専門チームとコミュニティが開発し、安全性と柔軟性を両立。
- Difyでできること
- スタートアップ: 最小限のプロダクト(MVP)を迅速に開発し、投資や顧客獲得につなげることができる。
- 既存ビジネス: AIでサービスを強化し、顧客体験を向上可能。
- 大企業: 社内のAI活用を促進し、業務効率化を実現可能。
- AI愛好家: 最新のAI技術を気軽に試して、新しいアイデアを生み出すことができる。
- なぜDifyを選ぶべきか?
- 簡単操作: プログラミングの知識がなくても、直感的な操作でAIアプリを作成できる。
- 迅速開発: 短期間でAIアプリを開発し、ビジネスに貢献できる。
- 柔軟性: 様々なAIモデルやツールを組み合わせ、自由なAIアプリを開発できる。
- コスト削減: 高価な開発ツールや人材を必要とせず、コストを抑えてAI開発ができる。
- コミュニティ: 活発なコミュニティで、情報交換やサポートを受けることができる。
Difyを導入してみる
Difyは、公式ページにアクセスすることでサービスをすぐに利用できますが、ここではGitHubからコードをダンロードして、ローカル環境に導入する手順を紹介します。
まず、リポジトリからGitを使用してコードをクローンします。
$ git clone https://github.com/langgenius/dify
次に、Difyのディレクトリの中に入り、Dockerコンテナを起動します。
$ cd dify/docker
$ cp .env.example .env
$ docker-compose up -d
# コンテナを停止したい場合
$ docker-compose down
.envは環境変数の設定をするためのもので、詳しくは環境変数の説明を参照してください。
コンテナを起動できたら、http://localhost/installにアクセスすると、以下のように管理者設定画面が表示されます。ここに、必要な項目を入力して、セットアップボタンをクリックしてください。

セットアップが完了すると、サインページに自動的に遷移するので、先ほど登録したユーザー情報を入力して、サインインします。

以下のように、ダッシュボード画面が表示されたインストール成功です。以降は、http://localhost/appsにアクセスすることで、Difyを利用できます。

最後に、使用したいLLMプロバイダーのAPIキーを設定します。右上のユーザー名をクリックして、設定画面を表示すると、左側に一覧に「モデルプロバイダー」という項目があるので、これを選択します。

使用したいLLMプロバイダーを選択すると、APIキー入力のダイアログが表示されるので、ご自身のAPIキーを入力して、保存ボタンをクリックします(以下の画面は、GeminiのAPIキー設定の例です)。

Difyでアプリケーションを作ってみる
ここでは、アプリケーションの簡単な作り方を紹介します。まずは、左側の項目から「最初から作成」を選択します。ここでは、アプリケーションの名前と説明のみを入力して、「作成する」をクリックします。(波括弧2つで囲われたところは、変数として扱われます。)

すると、以下のような画面が表示されるので、必要な項目を入力したら、変数一覧の中にある歯車アイコンをクリックして、変数の設定を行います。

ここでは、変数abstract
は長めのテキストにしたいので、「段落」を選択して保存します。

上記の設定ができたら、右上の「公開する」から「更新」ボタンをクリックし、「アプリを実行」をクリックします。すると、以下のような画面が表示されるので、変数に必要な項目を入力をして、「Start Chat」をクリックします。

あとは、一般的なLLMチャットアプリのように、作成したアプリケーションを使用することができます。

以上のように、DifyはAI開発の敷居を大幅に下げ、誰でも簡単にAIアプリケーションを作成できます。アイデアをいち早く形にし、PoCを行なう上では、Difyは最高の選択肢の一つになりえます。Difyは、今回紹介した機能の他に、RAGの構築などもできるので、興味ある方は公式サイトのドキュメントを参照してみてください。