Shinichiro Yamamoto

山本 慎一郎

ローカル環境でDifyを動かすのイメージ画像

ローカル環境でDifyを動かす

今回は備忘録もかねて、Dify+OpenAI(有料API)をローカル環境で構築する手順をご紹介します。

Difyの環境構築と起動

Difyを起動するまでは、こちらのサイトを参考にさせていただきました。

DifyをPC(自端末)にインストール
https://zenn.dev/acntechjp/articles/79e4b4abfb2112

なお、参考サイトにも記載されていますが、私の環境でもポート番号80では起動できませんでした。
ですので、参考サイトに倣い、80番から8080番に変更して起動させました。

ポート番号を編集する図

Difyの初期設定

Difyを起動すると、次のような画面になります。

Difyを起動した後の図

ここでは、画面に表示されている通り、管理者アカウントの設定を行います。
今後もログインで使用するので、ちゃんとしたメールアドレスとパスワードを設定しましょう。

アカウントの初期設定が終わると、改めてログインするように求められます。
今しがた設定したログイン情報を使ってログインしましょう。

Difyにログインする画面の図

ログインするとダッシュボードが表示されます。
初期状態では何もアプリがありません。

Difyの初期ダッシュボードの図

初期設定を続けるために、適当なアプリを作成します。
画面左の「アプリを作成する」欄にある「最初から作成」を選び、「チャットボット」を作成してみましょう。
名前などは適当で大丈夫です。

アプリを作成する図

作成が終わると、下図のような画面になります。
画面右側にも表示されている通り、まだ「LLM」、つまり、生成AIの設定ができていないので、このままでは何もできません。

作成したアプリの初期画面の図

画面右側に表示されている、青色の「設定へ移動」ボタンを押します。
すると、利用可能なAIがズラリと表示されます。

AIの設定欄を開いた図

この画面で、各AIのパネルにマウスカーソルを載せると、設定用のボタンが表示されます。
その中にある「モデルを追加」というボタンを押します。

モデルを追加ボタンを押す図

すると、何やら色々な設定を入力する欄が表示されます。
ここに、利用するAIのAPIに関する設定を入力していきます。

モデルの設定を入力する画面の図

小さくて見づらいので拡大します。

モデルの設定欄の拡大図

必要な情報は以下の3つ~5つ(OpenAIなら4つ)です。

項目名 説明
Model Type 使いたいモデル(AI)の種類です。
ChatGPTなどの生成AIなら「LLM」を選びます。
Model Name 使いたいモデル(AI)の名前です。
例えば、ChatGPTであれば、「gpt-o4」などになります。
API Key AIを呼び出す際に使用するキーです。
この後の手順で紹介するように、Difyではなく、各AI側で発行してもらう必要があります。
Organization API Keyを使用する際に、付加情報として利用される組織IDです。
ChatGPTなどの場合には、アカウントに付与されている組織IDを指定することになります。
API Base API Keyを使用する際に、ベースディレクトリとして利用されるURLです。
AIによっては、APIを利用する際にはここにアクセスしてほしいというURLを公開しています。
指定がある場合には、それをこの欄に入力します。
ChatGPTの場合は不要です。

必要な情報は分かりました。
AI側のサイトに行って、情報を集めてきましょう。

設定データの取得

今回は、ChatGPTのAPIキーを取得します。
なお、説明に使用しているアカウントでは、予めChatGPTの有料プランを契約済みですので、ご注意ください。

まず、OpenAIのダッシュボードにアクセスします。

OpenAI ダッシュボード
https://platform.openai.com/account/usage

ログインしていれば、下記のような画面になるはずです。

OpenAIのダッシュボードの図

この状態から、左上の「Default Project」と表示されている部分をクリックして「Manage Projects」を選択します。

Default Projectが表示されている位置の図

すると、左側のメニューが Project 単位から Organization 単位に切り替わります。
その中に、「Billing」という項目があるはずですので、そちらをクリックします。

Organization メニューの図

画像は既に Billing の設定を行った後ですが、初期状態も似たような画面です。
画面内にある「Add payment details」をクリックすることで、課金方法(クレジットカード情報)を登録することができます。
これを登録し、クレジットを購入することで、外部からOpenAIのAPIを呼び出せるようになります。
(画像では、$10のクレジットがありますが、初期状態では「Free」などと表示されており、クレジットがありません)

Billing 設定画面の図

課金情報の登録が済んだら、必要な情報、具体的には、組織IDとAPIキーを取得しに行きましょう。

まず、組織IDは、アカウントを登録したときに無料で発行されています。
Organization メニューにある「General」画面で確認できます。

General 設定画面の図

次に、APIキーは、同じく Organization メニューの「API Keys」画面で取得できます。
(画面内右上にある緑の「Create new secret key」のボタン)

API Keys 設定画面の図

これで必要な情報はそろいました。
Difyの設定画面に戻りましょう。

DifyのAI設定

先ほどの設定入力画面に戻り、集めてきた情報を入力します。

先ほどの設定画面の図

ここで、「保存」ボタンを押しても、右上にエラーが表示されて設定できない場合があります。
私が確認したのは、次のようなケースです。ご参考ください。

  • insufficient quota というエラー
    OpenAIでの課金設定が完了していません。
    クレジットカードの登録だけでなく、クレジットの購入も必要なのでご注意ください。
  • Model Name が not found といわれる
    Model Name が誤っています。
    各AIの公式サイトのモデル名を確認し、大文字小文字の違いなどにも注意して入力して下さい。
    (参考:OpenAI社のモデル名一覧)
    https://openai.com/ja-JP/api/pricing/

保存に成功すると、モデルのパネルが画面上部に移動します。
その中に、「セットアップ」というボタンがありますのでクリックします。
すると、先ほどと似たような入力欄が表示されますので、同じ情報を入力します。

モデルのセットアップ画面の図

以上の設定が完了すると、ポップアップ上部にある「システムモデルの設定」という欄も設定できるようになります。
今回はChatGPTのAPIを登録したので、gpt-3.5-turboなどが選択可能になっています。
各アプリでも個別に設定できますが、せっかくなのでこちらも設定しておくとよいと思います。

システムモデルの設定欄の図

作成したアプリでも、画面右側にあった『LLMの設定ができていない』という表示が消えて、設定を変更できるようになっています。
せっかくなので、gpt-3.5-turbo ぐらいの性能に設定しておきましょう。

アプリのモデルの設定欄の図

ここまでの設定ができれば、Difyから API を使って ChatGPT を利用することができます。
試しに、右側のデバッグ画面のコメント欄に「こんにちは」と入力して実行したところ、よく見る挨拶文が返ってきました。

こんにちはと打ったの図

おわりに

以上が、ローカル環境でDifyを使うための、最初のステップとなります。
今回は、AIとして有料の OpenAI を使用しましたが、無料の API などもあるようなので、コストをかけたくない方はそちらを模索してみるとよいかもしれません。
ご参考になれば幸いです。

お問い合わせ→