はじめに
Difyは大規模言語モデル(LLM)を活用したAIアプリケーションを簡単に作ることができるプラットフォームです。SaaSとしても提供されていますが、OSSとしても提供されていて、Docker環境で簡単にデプロイすることができます。
自前でデプロイすることで、次のようなメリットがあります。
- プライバシー保護:データが外部に送信されるリスクを低減します。
- 制限の解除・コスト削減:SaaSの無料版では保存できるアプリ数が10個までのほか、ナレッジ容量や管理者の数など制限がありますが、OSS版は無制限です。
SaaSだと多少の無料クレジットが使えたりしますので、お試しにはSaaSがいいかと思いますが、本格的な使用には自前版がよさそうです。今回インストールしたDifyのバージョンは0.8.3でした。
前回の記事
参照ページ
今回デプロイする環境
今回は、自前のPanasonicのノートPCにデプロイします。
OS 名 Microsoft Windows 11 Pro
プロセッサ 12th Gen Intel(R) Core(TM) i5-1245U、1600 Mhz
インストール済みの物理メモリ (RAM) 16.0 GB
SSDサイズ 222.24 GB
必要な知識・前提条件
Windowsの方であれば、コマンドプロンプトを開く必要があります。
LLMをAPIで使うことになるので、APIの利用登録は必要になります。OpenAIやGoogle, Anthropicはもちろん、さまざまなプロバイダーが利用できます。多くの場合、最初は無料で試せるクレジットが利用できるかと思います。
他は特にありませんが、GitやDockerやウェブの仕組みについて知識があるとなおいいでしょう。
事前準備
Docker や Git をあらかじめ使えるようにしておきます。
以下サイトから、環境にあったものをインストールしてください。
記載はWindows11環境の場合になります。
Docker
https://docs.docker.com/desktop/install/windows-install/#wsl-2-backend
[Docker Desktop for Windows - x86_64]を選択し、すべて標準でインストール
Dockerは500MB近くあります。
Git
https://git-scm.com/
[Downloads]->[Download for Windows]->[64-bit Git for Windows Setup]を選択し、すべて標準でインストール
Difyのデプロイ
Difyの公式にある通り、簡単にデプロイできました。
コマンドプロンプトでインストール先に移動します。
(Windowsの場合、エクスプローラーでインストール先のフォルダを開き、アドレスバーに「cmd」と入力すると移動済みのコマンドプロンプトが開きます)
git clone https://github.com/langgenius/dify.git
cd dify/docker
copy .env.example .env
docker compose up -d
git clone でプログラムをダウンロードし、環境設定ファイル.envをコピーして作成、システムを起動という流れです。
動作を確認
しばらく待ってインストールが完了したら、ブラウザで接続してみてください。
http://localhost/
管理者アカウントを作成したら、AIエージェントをさっそく作ってみましょう。
LLMのAPIKEYを設定する
何はなくともLLMを利用するのですからAPIKEYの設定は必須です。
クラウド版だと試用のOpenAIクレジットがもらえてAPIKEY設定なしでも動きますが、OSS版はそうしたおまけはなしです。
右上のアカウント名のところをクリックして、[設定]->[モデルプロバイダー]を選択します。
例えば、[OpenAI]を選択したら、[API Key]を入力して保存すると、OpenAIの各モデルが使えるようになります。APIがまだない方は、Get your API Key from OpenAI のリンクから取得しましょう。
GoogleのGeminiは学習データを提供することで無料で利用できそうですね。
まずはチャットボットを試す
- 設定画面を閉じてホーム画面を開いたら、[最初から作成]をクリックし、適当な名前を付けて[作成する]を押下します。(今回は[チャットボット][基本]のままにします)
- 次の画面で、モデルとプロンプトを設定します。OpenAIの場合、[GPT-4o mini]が性能もよくコストパフォーマンスがいいので、お試しにはまずはこちらをお勧めします。
- 手順のところにプロンプトを書くことで、ChatGPTのGPTsが実現できます。今回はプロンプトの話ではないので空欄のままにしておきます。ネット検索でいろいろ調べてみてください。
参考:プロンプトのこんな記事も書きました→【Dify】チャットボットのプロンプトでアプリっぽいものを作る(カフェのオーダーアプリ) - 右側の「デバッグとプレビュー」画面下に入力欄があるので、さっそく試してみましょう。
- 右上の[公開する]->[更新]->[アプリを実行]で、アプリ画面が開きます。
まとめ
OpneAIのGPTsの場合、ChatGPTの有料ユーザー間でしか共有できませんでしたが、Difyなら一般向けサービスを作ることも可能です。今回は基本のチャットボットでしたが、チャットフローやワークフローで業務に組み込んだ使い方ができるようになります。また、チャットボットでも社内情報をナレッジとして読み込むことで、社内情報をもとに回答してくれるサポートデスクとしても使えるようになります。
今回の環境では、サービスを起動すると、メモリの使用率が高い旨の通知が出るようになりました。使用率81%ですね。本格的に利用するには16GBメモリでは足りないようです。
以上、ご参考になさってください。