1.はじめに
AIアプリケーションを開発できるオープンソースのプラットフォームの「Dify」とローカル環境で自然言語処理(NLP)を行うためのオープンソースのツールの「Ollama」を使用してAI駆動アプリの開発環境を作成します。
2.前提条件
CPU
- 最低: Intel Core i7(第10世代以降)または AMD Ryzen 7(Zen 3以降)
- 推奨: Intel Core i9(第12世代以降)または AMD Ryzen 9(Zen 4以降)
- LLMの推論には並列処理が重要なため、マルチスレッド性能が高いCPUが望ましい。
GPU
- 最低: NVIDIA RTX 3060(12GB VRAM)
- 推奨: NVIDIA RTX 4080(16GB VRAM)以上
- LLMの推論にはVRAM容量が必要
- 7Bモデルなら8GB、13Bモデルなら16GB以上のVRAM推奨
RAM
- 最低: 16GB DDR4以上
- 推奨: 32GB~64GB DDR5
- DifyはDockerコンテナを複数起動するため、メモリが多いほど快適
ストレージ
- 最低: 500GB SSD(NVMe推奨)
- 推奨: 1TB以上(M.2 NVMe SSD)
- LLMのモデルデータ(gguf形式など)やDockerのコンテナが容量を消費す
その他のポイント
- OS: Ubuntu 22.04 / Windows 11(WSL2推奨) / macOS(M1/M2以上)
- Dockerの動作環境: DifyはDockerコンテナを使うため、Docker Desktopが快適に動作する環境が必要
- 電源: 高性能GPUを搭載するなら850W以上の電源ユニット推奨(デスクトップの場合)
3.Difyの環境構築(windowsの場合)
前提条件
- windows11であること
- Python、Node.jsがインストールされている事
- Dockerがインストールされている事
- WSL2が使用できる状態であること
WSL 2 を使用するLinuxディストリビューションの作成
power shell
## 利用可能なLinuxディストリビューションを確認
wsl --list --online
## Ubuntuをインストール
wsl --install -d Ubuntu
## WSLのバージョンを確認
wsl --list --verbose
Dockerの設定の確認
- 「Setting」>「Resources」>「WSL integratio」にて「Ubuntu」がonの状態にする
Dockerでの環境構築
作成したLinuxディストリビューション:Ubuntu内にて実施
Ubuntu
# Difyのソースを置くディレクトリの作成
mkdir [任意]
cd [作成したディレクトリのパス]
# Difyのソースコードの取得
git clone https://github.com/langgenius/dify.git
# docker ディレクトリへの移動
cd dify/docker
# 環境変数の設定(そのままコピーするだけ)
cp .env.example .env
# Difyコンポーネント初回起動
docker compose up
=========================
# 以下:コマンドについて
# Docker の起動
cd /[作成したディレクトリのパス]/dify/docker
docker compose up -d
# 停止
cd /[作成したディレクトリのパス]/dify/docker
docker compose down
# ソースが更新されるので起動前に実施(DifyはUI変更など更新が多い)
cd /[作成したディレクトリのパス]/dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d
アカウント作成
- 上記の「docker compose up 」を実行後、設定のログが流れるので、ある程度ログの動きが落ち着いたら、「 http://localhost/install 」にアクセス。下記の画面が表示されたら、Difyの環境構築は成功
- 「メールアドレス」・「ユーザー名」・「パスワード」を設定し、セットアップを押下
ログイン
- http://localhost/signin にアクセス
- 設定した「メールアドレス」と「パスワード」でログイン
- 下記の画面が表示されればログイン成功
4.Ollamaの設定
Ollamaのサイトでダウンロード
- インストーラーを実行
- 実行後、ターミナルで下記のコマンドを叩く
terminal
ollama --version
Phi-3モデルを使ってOllamaを動かす
- 下記のコマンドでPhi-3モデルをダウンロード
terminal
## Phi-3モデルをダウンロード
ollama pull phi3
## Phi-3モデルを実行
ollama run phi3
モデルの実行状況・停止方法
terminal
## 実行状況の確認
ollama ps
## 停止方法
ollama stop phi3:latest
5.Dify「モデルプロバイダー」を設定
Olamaの使用するモデルを設定
- 以下のようにモデル設定を行う
Model Type : LLM
Model Name : phi3:latest
Base URL : http://host.docker.internal:11434
Completion model : Chat
Moel context size : 4096
Upper bround for max tokens : 4096
- 設定後、緑のチェックマークが表示されたらOK(赤のマークはNG、設定を確認してください)
6.オーケストレーションにてプロンプト(手順)を設定してから会話を開始
- プロンプト(手順)を設定
- 設定後、chatGPTのように会話が実行できる
- 今回のモデルで間違いがありますが、より精度の高いモデルを使用すると良い答えが返ってきます
- OpenAIなどAPI経由でも精度が高いモデルを使用することができます(API経由だと料金発生する場合があります。使うモデルの料金設定を確認してください。)
7.参考