前回まではラズパイ5+外付けGPUでLLMを実行する環境を作りました。
ここではラズパイ5単体のCPUのみでLLMを使ったAIエージェントなどを実行する環境を作ってみます。
SSDから起動したラズパイ5(8GB)にローカルLLM(Gemma)とLMツールのOllama、チャットボットやエージェント作成用にDifyを導入してみます。
ラズパイ(8GB)にはOSとしてBookworm(64-bit)Desktop をインストールしておきます。
事前準備
Docker を使うのでインストールしておきます。
まずはOSのアップデート&アップグレード
|
1 |
sudo apt update && sudo apt full-upgrade -y |
Docker導入
|
1 2 3 4 |
sudo apt update && sudo apt full-upgrade -y curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh |
dockerグループにユーザを追加
|
1 |
sudo usermod -aG docker ユーザー名 |
パッケージをインストール
|
1 |
sudo apt install -y libffi-dev libssl-dev python3 python3-dev python3-pip |
無事インストールできたか確認
|
1 |
docker -v |
ディレクトリ作成と構成ファイルの準備
ディレクトリ作成
|
1 2 3 4 5 6 7 |
sudo mkdir -p /opt/docker/ollama cd /opt/docker/ollama sudo mkdir ollama sudo chmod -Rf 777 ./ollama/ |
構成ファイルの準備
|
1 |
sudo nano ./docker-compose.yaml |
内容はこんな感じ。コピー・ペーストしてyamlファイルを閉じます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
version: '3.8' services: ollama: image: ollama/ollama container_name: ollama ports: - "11434:11434" volumes: - ./ollama:/root/.ollama #deploy: # resources: # reservations: # devices: # - capabilities: [gpu] restart: always environment: UPLOAD_FILE_SIZE_LIMIT: 150 volumes: ollama: |
ollamaを導入
以下を実行。ollamaが存在しなければイメージがダウンロードされ、その後ollamaというコンテナ作成後、ollamaは起動されます。
|
1 |
sudo docker compose up -d |
ollama に接続するシェルスクリプトを作成
|
1 |
sudo nano connect-ollama.sh |
以下をコピー・ペーストして閉じます。
|
1 2 |
# !/usr/bin/bash docker container exec -it ollama bash |
接続準備
|
1 2 |
sudo chmod 755 ./connect-ollama.sh sudo chmod 666 /var/run/docker.sock |
ollama は起動しているので、ollama の シェル( bash )に接続して利用していきます。
|
1 |
./connect-ollama.sh |
成功したらプロンプトは以下のように変わります。
@の後ろはインストール環境によって異なります
root@28101b326b68:/#
確認
|
1 |
ollama list |
以下が表示されればOK。
NAME ID SIZE MODIFIED
Gemmaモデルの導入
Gemma(ジェマ)は、GoogleがGeminiと同じ技術基盤(研究・テクノロジー)を用いて開発した、軽量でオープンなAIモデルのファミリーです。PCやデバイス上でローカルに動作可能なため、プライバシー保護、オフライン利用、高速なレスポンスを実現し、商用利用も可能な生成AIです。
gemma2と3をダウンロードして実行してみます。
ollamaでpullしてからrunします。
ダウンロードは時間がかかります。
|
1 2 3 |
root@28101b326b68:/#ollama pull gemma3 root@28101b326b68:/#ollama pull gemma2:2b |
ダウンロードが終了したらsuccessと表示されプロンプトが変わります。
runして何か質問してみましょう。
|
1 |
root@28101b326b68:/#ollama run gemma3 |
>>>Send a message (/? for help)
終了は Ctrl + d
Dify導入
Difyは生成AIやLLMを活用しアプリケーションを効率よく開発するための多機能なプラットフォームです。
Dify のセットアップ
Githubからクローンします。
|
1 2 3 |
cd /opt/docker/ sudo git clone https://github.com/langgenius/dify.git |
exampleをそのまま使ってみます。
|
1 2 3 4 5 |
cd dify/docker sudo cp .env.example .env sudo docker compose up -d |
ダウンロードが開始されます。
終了後Difyは起動されています。
外部ブラウザーからアクセスします。
http://<IPアドレス>
最初にアカウント設定の画面が開きます。
メールアドレス、ユーザー名、パスワードを入れてセットアップします。
初期画面はこんな感じ。
ここからチャットボットやワークフロー、エージェントなどのアプリケーションを作成します。
Appendix
次回、DifyでRAGを使ったチャットボットを作成し、どこにも存在しないプリンターのPDFマニュアルを読み込んで、学習したことのない質問に答えてもらいます。





Leave a Reply