広告

ローカルでDifyとLM_Studio を連携させ、ローカルでチャットボットを作る。

AI

以前の記事で、LM Studioを利用して、ローカル環境でLLMを利用する方法
を紹介しました。
また前回、生成Aiアプリを比較的簡単に開発できる、Difyをローカルで起動
させてみました。
今回はこのDifyとLM Studioを連携させ、完全ローカル環境で生成Aiアプリを開発する環境設定を作ってみます。
筆者はDifyは超初心者なので、Difyでのアプリ開発に興味あるかたはネットをチェックしてみてください。
ここでは、DifyとローカルLLMと連携する方法を紹介します。

Difyで簡単なチャットボット作る

まずは、Difyで一番簡単なチャットボットを作成する流れを説明します。
前回までで、Difyをインストールして「http://localhost/install」でアカウント作成を行いました。
ログインすると、「最初から作成」でアプリが作成できるようになります。

とりあえずチャットボットを選択し、「アプリのアイコンと名前」と「説明」は任意で入力します
「作成する」で、次の画面へ進みます。

ここで、右上の設定から、使用したいモデルを選択する事で、このモデルと会話するチャットアプリが作れますが、事前に使用するLLMモデルの登録が必要です。
ここでは、事前にオンラインのgeminiモデルを登録しておいたので、geminiの複数モデルが選択できるようになっています。
違うモデルで何種類か作成し公開すれば、簡単に違うモデルと会話できるアプリが作成できます。
ただしこれは、ローカルではなくオンライン環境になります。
ここで、LM_Studioで動作させてさせている、ローカルLLMを登録すれば、ローカルLLMと会話できるようになります。

モデルを登録する

Difyはとても機能が多く非常に興味的なアプリなので、筆者ももう少し取り組んでみたいと思っていますが、まずはローカル環境でいろいろ試せる環境を作ります。

オンラインLLM gemini の登録

まずは、ローカルではないですが、Googleのgeminiを利用してみます。
利用するには、geminiプラグインのインストールが必要です。
プラグインは、右上のユーザー名から出てくるプルダウンで「設定」を選択すると、
左サイドに「設定」の項目が表示されます。
その下段のモデルプロバイダーで登録します

インストールしたいモデル(今回は、Gemini)を探してインストールします。
インストールは私の環境では結構時間がかかりました。
インストール中でも画面にあまり変化がないので完了したタイミングを見逃しがちですが、
右上のプラグインアイコンがこの状態は、インストール中です
完了するとこのアイコンになりますので、待ちます。
次に、インストール後Geminiを使用するには、API-KEYのセットアップが必要です。

APIキーが正常に設定されると、「右上のユーザ」⇒「設定」⇒「モデルプロバイダー」で設定済みのモデルとして表示されます。

ただし、私の環境では、正常に設定できたとメッセージがでたのに、ここに表示されていない事がありました、その場合、もう一度モデルプロバイダー一覧から再度インストールすると表示されました。
この場合、インストール時間は殆どかかりません。
これで、上の例のように、使用モデルとして選択できるようになります。

ローカルLLM LM Studio の登録

Geminiはオンラインクラウド上のLLMですが、いよいよローカルLLMと連携させます。

LM Studio をサーバーモードにする

DifyとLM Studioを連携するには、まず、LM Studioをサーバーモードで動作させます。
まず左サイドバーのDeveloperアイコンで、開発者モードに入り、

その横のスイッチで「Static Running」状態に設定すれば、サーバーモードで動作しています。
次に、Difyに提供する、モデルを「Select a model load」でダウンロード済みのモデルから選択します。
2個のモデルをロードしてみました。

この状態であれば、Difyでロードしたモデルを使用できるようになります。
ただし、LM Studioをクローズすると、モデルも使用できなくなってしまいます。
右下の歯車マークで設定画面に入り

「Enable Local LLM Service」にチェックすれば、クローズしてもサーバー状態を維持します。

DifyでLM Studio のモデルを利用する

この記事を書いている時に自分でも再作業をしていたら、「LM Studio」用のプラグインが公開されているのに気が付きました。
これから説明する「OpneAI-API-compatible」よりも、わかりやすそうです。
たぶん公開は最近だと思うので、不具合がないとも言えませんが、もし、こだわりがなければ、「LM Studio」プラグインの方が簡単だと思います

ここでは、書き始めていた「OpneAI-API-compatible」の説明を行います。
geminiの時と同様に、「モデルプロバイダー」の「設定」で対応しているプラグインをインストールします。
LM Studioが利用するには「OpneAI-API-compatible」をインストールします。

インストールが完了したら、「モデルを追加」で、モデル名と
LM Studio サーバーの「URL」+「/V1」を設定します。

モデル名とLM Studio のURL は、「LM Studio」の画面から、「コピー」アイコンで、クリップボードへコピーすれば、ペーストできます。
ただし、「API endpoint URL」は「URL」の後ろに「/V1」が必要です。
「/V1」がなくても、正常に保存できる場合がありますが、実際にチャットする時にエラーになりますので忘れないでください。
「LM Studio」に何種類がモデルがロードされている場合、ここでも複数設定しておくと、Dify側で複数のモデルを使分ける事ができます

LM Studio サーバーのモデル使用

ここまで完了すると、Dify側でのモデル選択で利用できるようになっています。
上記の「gemini」モデル一覧の下に、追加されているので、ここで選択する事でつかえるようになります。

LM Studio のモデルプロバイダーが追加されてる・・・

この記事を書いていて、Difyを触っていて気が付いたのですが、「モデルプロバイダー」一覧に「LM Studio」が入っていました。

筆者が見落としていただけなのか?ちょっと前にはなかったと思います。
そういう理由で、「OpneAI-API-compatible」を利用したのですが、「LM Studio」のほうが、名前からして分かりやすいですね。
試しに、インストールしてみたところ、問題なく使用できました。
ただ、「OpneAI-API-compatible」では、「API endpoint URL」で、「LM Studioサーバー」の「URL」とその後ろに「/V1」が必要でしたが、こちらは「Base URL」の設定項目で「URL」のみでOKです。
この設定も、わかりやすいです。

あとがき

ついに、ローカル上で、ローカル上のLLMモデルを利用した、チャットアプリ開発環境が完成しました。
企業で使うには、ライセンスの確認も必要ですし、動作させるPCのスペックは大きくなると思いますが、個人や少人数で使う場合、簡単に試しながら、気軽にDifyの学習ができるようになります。

コメント

タイトルとURLをコピーしました