広告

DifyとOllamaを連携させ、ローカルチャットボット環境を作る

AI

前回は、DifyLM Studioを連携させて、ローカル環境を作成しました。
ただし、LM Studioは、完全にオープンライセンスではないようで、企業で使用する場合には、確認が必要です。
Ollamaのほうが、自由に使えそうです。
ただし、いろいろなLLMを試してみたり、チャットが主な目的な場合には、LM Studioのほうが、GUIでの操作ができるので、初心者はLM Studioが取りつきやすいと思います。
特に、使用PCスペックでの動作推測やモデルの詳細などは、分かりやすいです。
Difyと連携させて利用する場合では、繋がってしまえば、あまり違いはないかもしれません。
いろんなモデルをLM Studioでの試してみて、気に入ったモデルをOllama経由でDify連携の使い方もありかな、と思います。

インストール

OllamaをWindowsにインストールするには、下記サイトからインストール実行ファイル「OllamaSetup.exe」をダウンロード・実行でインストールできます。

インストール完了後、何事もなく終了ますが、スタートメニューには登録され、タスクバーの「隠れているインジケータ」にアイコンがあれば起動しています。
コマンドプロンプトなどを開いて、「ollama ーーhelp」コマンドで確認してみます。

PS C:\Users\hoge> ollama --help
Large language model runner

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.
PS C:\Users\hoge>

エラーが出なければ、無事に動作しています。
「ollama ーーversion」でバージョンを確認できます。

PS C:\Users\hoge> ollama --version
ollama version is 0.6.2

モデルをダウンロードして起動

LLMを利用するにいは、公開されているモデルを下記から確認、ダウンロードできます。
https://ollama.com/search
一覧から、利用したいモデル名をクリックすると、さらに「1b」「4b」など、モデルサイズで数種類でてきます。
一般的に小さい方が、性能は低い傾向にありますが、レスポンスはよくなります。
自分の環境で、レスポンスと相談して、大きいモデルがいいと思います。
LM Studio の場合、自分のPCスペックとの相性をある程度アイコンで表示してくれますが、Ollamaでは、とりあえず試してみて・・になるのかな~?
LM Studioで体験しておくと、自分の環境でも大丈夫なモデルサイズは察しがつきます。

ターミナルで「ollama run [モデル名]」でダウンロード後実行できます。
モデル名は、ダウンロードサイトのコピーアイコンを利用するとモデル名をクリップボードへコピーできるので便利です。

PS C:\Users\hoge> ollama run gemma3:4b
pulling manifest
pulling aeda25e63ebd... 100% ▕███████████▏ 3.3 GB
pulling e0a42594d802... 100% ▕███████████▏  358 B
pulling dd084c7d92a3... 100% ▕███████████▏ 8.4 KB
pulling 3116c5225075... 100% ▕███████████▏   77 B
pulling b6ae5839783f... 100% ▕███████████▏  489 B
verifying sha256 digest
writing manifest
success
>>> 始めまして
はじめまして!こちらこそ、ご挨拶ありがとうございます。

何か私にできることはありますか? 例えば、

*   何か質問に答える
*   文章を作成する
*   アイデアを出し合う
*   ただおしゃべりする

など、どんなことでも構いません。😊

>>> Send a message (/? for help)

「>>> Send a message (/? for help)」のプロンプトがでると、会話ができます。
会話の終了は「/bye」です。

Difyとの連携

前回、「LM Studio」との連携で、LM Studioプラグインの設定方法と、ほとんど同じです。

「設定」の「モデルプロバイダー」から「Ollama」プラグインをインストールします。
インストールが完了したら、再度「設定」の「モデルプロバイダー」「Ollamaモデル」に「モデルを追加」で上記でダウンロードしたモデルと「URL(IPアドレス)」を設定します。
ダウンローズ済みモデルは、ターミナルから「ollama list」コマンドで確認できます

PS C:\Users\hoge> ollama list
NAME           ID              SIZE      MODIFIED
llama3.2:1b    baf6a787fdff    1.3 GB    8 minutes ago
gemma3:4b      c0494fe00251    3.3 GB    26 minutes ago
PS C:\Users\hoge> ollama run llama3.2:1b
>>> /bye
PS C:\Users\hoge>

また、「Base URL」は「ollama」が動作している、PCの「IPアドレス」に「:11434」のポート番号を付加して設定します。
ただし、URLがLAN上の他のPCのIP(localhost以外の場合)でエラーが発生してしまう場合、下記の「環境変数の編集」を試してみてください。
正常に「保存」が終了すると、前回記事の「LM Studio」の場合と同様に、Difyで利用するモデルとして選択できるようになります。

Windows 環境変数の編集

「Ollama」の環境変数について、geminiに聞いて、下記回答をもらいました。

Ollamaの環境変数についてですね。Ollamaは、ローカルで大規模言語モデル(LLM)を実行するためのツールであり、いくつかの環境変数を使用してその動作をカスタマイズできます。主な環境変数は以下の通りです。

  • OLLAMA_HOST:
    • Ollamaがリッスンするホストアドレスを指定します。デフォルトは127.0.0.1であり、ローカルマシンからの接続のみを受け付けます。ネットワーク上の他のマシンからOllamaにアクセスできるようにするには、この変数を0.0.0.0に設定します。
  • OLLAMA_MODELS:
    • モデルの重みを保存するディレクトリのパスを指定します。デフォルトでは、Ollamaは特定のデフォルトディレクトリにモデルを保存しますが、この変数を使用して別の場所を指定できます。これにより、モデルファイルを別のドライブやディレクトリに保存することができます。
  • OLLAMA_ORIGINS:
    • クロスオリジンリクエストを許可するオリジンを指定します。OLLAMA APIをWebアプリケーションから利用する場合に設定します。
  • OLLAMA_DEBUG:
    • デバッグモードを有効にします。Ollamaのデバッグ情報を表示する場合に設定します。

これらの環境変数を設定することで、Ollamaの動作を柔軟に制御できます。環境変数の設定方法は、オペレーティングシステムによって異なります。

  • Windows:
    • 「システム環境変数の編集」から設定します。
  • macOS / Linux:
    • ターミナルからexportコマンドを使用して一時的に設定するか、.bashrc.zshrcなどのファイルに記述して永続的に設定します。また、サービスとしてOllamaを実行している場合は、systemdの設定ファイルに環境変数を記述します。

より詳細な情報や具体的な設定方法については、Ollamaの公式ドキュメントや関連するオンラインリソースを参照することをおすすめします。

他のサイトをみると、環境変数を設定しないでも、正常に動作しているような記事も見かけましたし、「OLLAMA_HOST」だけ設定している記事もありました。
筆者の場合も、「OLLAMA_HOST」だけで正常に動作した場合もありましたが、現在は「OLLAMA_ORIGINS」も設定しています。
また、「OLLAMA_MODELS」を設定すると、デフォルト(Cドライブ)以外にモデルを保存できます

Ollama用、環境変数の追加

環境変数を行う前には、「ollama」は終了しておきましょう。
タスクバー右の「^」ボタン「隠れているインジケーター」から、Ollamaアイコン右クリック「Quit Ollama」でも終了できます。
Windows検索バーに「環境変数」と入力すると「システム環境変数の編集」が見つかるので、「環境変数」ボタンをクリックして上段の「ユーザー環境変数」の「新規」で環境変数を追加します。

OLLAMA_HOST : 0.0.0.0
OLLAMA_ORIGINS : *
OLLAMA_MODELS : D:\Ollama_Models

ただし、「OLLAMA_MODELS」の設定は、注意が必要です。
環境変数追加前に、ダウンロードしたモデルは、自働的には移動してはくれません。
再度、ダウンロードするか、デフォルトでは
C:\Users\[ユーザー]\.ollama\models」の下に登録されているので、環境変数変更前に指定フォルダへコピーしておくと、反映されると思いますが、試してはいません。
環境変数変更後でも、Ollamaを起動する前に、設定したフォルダへ移動してもいいかもしれません。
環境変数の編集が適応されているかは、下記で確認できます。
コマンドプロンプトPowerShellで指令が違うので注意してください。

★コマンドプロンプト
C:\Users\hoge>echo %OLLAMA_HOST%
0.0.0.0

C:\Users\hoge>echo %OLLAMA_MODELS%
D:\Ollama_Models

C:\Users\hoge>echo %OLLAMA_ORIGINS%
*

★PowerShell
PS C:\Users\hoge> $env:OLLAMA_HOST
0.0.0.0

PS C:\Users\hoge> $env:OLLAMA_MODELS
D:\Ollama_Models

PS C:\Users\hoge> $env:OLLAMA_ORIGINS
*

モデルフォルダを変更した場合には、「ollama list」コマンドで確認できます。
正常に変更されていれば、再度「Olama」を起動して、「Dify」の「Ollama」モデルのプラグイン設定で追加できるようになります。
追加方法は、LM Studio 編を参考にしてください。

追加したモデルは、Difyで作成するアプリから、ollamaを利用できるようになります。

あとがき

これで、完全ローカルで、DifyからOllamaも利用できるようになりました。
筆者の環境では、「Windows環境変数の編集」が必要だったので、少し戸惑いましたが、どうにか利用できるようになりました。
LM Studioがいいのか?Ollamaがいいのか?は、自分の環境や使い勝手で使い分けてください。
選択肢があるというのは、いいことだと思います。
さぁ、いよいよ、Difyの勉強を始められる環境は出来上がりましたが・・・・
ちょっと、Docker Desktop の環境なのが気になっています。
WSLでUbuntu24.04を起動させた環境か、現在稼働中のLinuxマシンか・・・
いずれにしても、linux環境で立ち上げてみたくなってきました。

コメント

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