なにこれ
本記事では、OllamaというLLM (自然言語処理)推論フレームワークと、DifyというAIアプリ構築プラットフォームを用いて、生成AIアプリケーションを作る方法を記載した記事です。その際に、話題のDeepSeekも使えるようにします。
どんなことができるようになるのか
- 話題のDeepSeek (生成AIモデル)を動かせるようになる
- ローカルで生成AIモデルをつかったチャットボットがつくれるようになる
では、さっそく作っていきましょう1
Ollamaのインストール
以下のollamaの公式ダウンロードページから、ご自身の環境に合わせたOllamaをインストールしてください
https://ollama.com/download
もし、brewやscoopなどがインストールされているのであれば、そちらでも導入することも可能です。
brew install ollama
動作確認
ターミナルを起動して、以下のコマンドを打ってみてください。
ollama serve
これでollamaサーバーがlocalhost:11434に立ち上がります。その状態のまま別ターミナルを立ちあげて、
ollama run deepseek-r1:32b
を行い、チャットができれば、問題なくインストールできています。(インストールに時間がかかることもあるかと思います)。
補足
ollamaのその他のモデル
ollama run hoge
を実行した時点で、modelのpullが完了していますが、llama2やllama3などその他のモデルを使用したい場合もあると思います。その場合は、
ollama pull llama3
のようにして、モデルをpullすることができます。
欲しいモデルがollamaにあるかどうかは、
https://ollama.com/library
を参照ください。なお、hugging faceにのみあるモデルを使用することも可能で、その場合は以下を参考に進めてみてください。
https://huggingface.co/docs/hub/ollama
インストール済みのモデルはollama list
で確認することができます。
ollama list
NAME ID SIZE MODIFIED
deepseek-r1:32b 38056bbcbb2d 19 GB 21 hours ago
llama2:latest 78e26419b446 3.8 GB 25 hours ago
Linuxユーザー
linuxユーザーの方systemdファイルを編集することが必要となります。
sudo vim /etc/systemd/system/ollama.service
において、環境変数として
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
を追加したのち、
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
によって設定を適用させてください。
gpuの利用
もしGPUを積んでいて、ollamaで使用したい場合は、基本的には自動で判別されますが、もしうまくいかない場合は、以下にかいた、NNVIDIA toolを参考に導入してみてください。
https://qiita.com/haruotsu/items/274aecc84a7c42b1efb2
Difyのダウンロード
DifyのGitHubリポジトリ
https://github.com/langgenius/dify
をお好きなディレクトリでクローンします。
git clone https://github.com/langgenius/dify
クローンしたリポジトリに移動し、dockerディレクトリに入ります。
cd dify
cd docker
環境変数が記載されているファイルがあるので、それを読み込むように変更したうえで、dockerを立ち上げます。
cp .env.example .env
docker compose up -d
Dockerがインストールされていない場合
以下の公式サイトを参考に、インストールをしてください。
https://www.docker.com/get-started/
動作確認
dockerにより、仮想環境が立ち上がったため、以下にアクセスしてください。
http://localhost/install
会員登録画面に遷移するかと思いますので、お好きなアドレスとパスワードを入れて登録をしてください。
これにてDifyの動作確認は完了です。
OllamaをDifyに読み込ませる
Difyを起動した状態で右上のアイコンから設定を開いてください。
設定項目の中に、モデルプロバイダーがあるのでそのカラムをクリックし、その中からollamaを選択してください。
モデルを追加するを押したのち、以下のように入力し保存してください。
Model Name: deepseek-r1:32b (ここはollama listで表示されているご自身が使いたいモデルをいれてください)
Base URL: http://host.docker.internal:11434
チャットボットの作成
ollamaとの接続が完了したら、Difyのホームに移動して、アプリを作成するの項目の最初から作成をクリックしてください。
項目はたくさんありますが、今回はチャットボットを作ることが目的なので、名前をつけてチャットボットを選択してください。(ワークフローでいろいろするのも楽しいのでぜひ遊んでみてください)
もうここまで来たらできたようなもんです。
以下のような画面になるかと思います。右上にモデルを選択する部分があるのでそこでollamaのご自身が登録したモデルを選択してください。(もしここで表示されていなかったら、再度モデルプロバイダーのところから、設定を見直してみてください。)
その後、右上の公開ボタンを押して、アプリを実行を押せば、チャットボットの完成です🎉🎉
おわりに
今回は、Ollama+Difyを用いてローカルでチャットボットを作成する方法を書いてみました。今回はローカルでのみの開発となりましたが、ubuntuを用いてサーバー上に同じ手法でアプリケーションを立ち上げることもできますし、DifyクライアントをAPIとして使用することも可能です。このチュートリアルを経由して、個々人で活用の幅が広がったらうれしいです