プロジェクト

全般

プロフィール

task #923

未完了

task #921: ローカルAI環境の構成

task #922: llmの環境構築および詳細の決定

LLMサーバー化

masaya_abe さんが約2ヶ月前に追加. 約2ヶ月前に更新.

ステータス:
たぶんいつかやる
優先度:
今週やれ
担当者:
-
開始日:
2026-06-20
期日:
進捗率:

0%

予定工数:

説明

Docker

まずドッカーを整備する
LLMは、AMDGPU(Rocm)がDockerと相性悪いらしいので、ネイティブにインストールするが、
それ以外は、Dockerに入れる。
まずは下記を入れる
open-webui→WEBUI化
searxng→インターネット検索を可能にする
qdrant→独自のベクトルDB(ナレッジベース)をtxtやpdfなどファイルから生成
prometheus→サーバー監視
grafana→サーバー監視

LLMサーバー化
systemdサービス化

sudo vi /etc/systemd/system/llama-server.service

[Unit]
Description=llama.cpp Server
After=network.target

[Service]
Type=simple
User=abe
WorkingDirectory=/home/abe/llama.cpp

Environment=HIP_VISIBLE_DEVICES=1

ExecStart=/home/abe/llama.cpp/build/bin/llama-server \
    -m /home/abe/models/gemma-4-26b-a4b-q5KM.gguf \
    -ngl 18 \
    -fa on \
    -c 262144 \
    -ctk q4_0 \
    -ctv q4_0 \
    --host 0.0.0.0 \
    --port 8080 \
    --parallel 1
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

有効化
sudo systemctl daemon-reload
sudo systemctl enable llama-server
sudo systemctl start llama-server

状態確認
systemctl status llama-server

依存パッケージ
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
③ Docker公式GPGキー追加
sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg
④ リポジトリ追加
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
⑤ Docker本体インストール
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
⑥ 動作確認
sudo docker run hello-world
2. sudoなしで使えるようにする(重要)

LLMサーバ用途では必須です

sudo usermod -aG docker $USER
newgrp docker

確認:

docker ps
3. GPU(ROCm)対応の準備

あなたの構成は:

RX 7900 GRE(gfx1100)
RX 6700 XT(gfx1031)

なので Docker では ROCm runtimeコンテナを使います。

まずホスト側確認:

ls /dev/kfd
ls /dev/dri

これが見えていればOKです。

  1. ROCm対応Dockerテスト

テストコンテナ:

docker run --rm -it
--device=/dev/kfd
--device=/dev/dri
--group-add video
--ipc=host
rocm/rocm-terminal

中で:
rocminfo

docker-compose.yml

webuiで使えるようにして、web検索機能を使えるようにする

vi ~/docker/docker-compose.yml

services:
  openwebui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: openwebui
    restart: unless-stopped

    ports:
      - "3000:8080"

    environment:
      - OPENAI_API_BASE_URL=http://host.docker.internal:8080/v1
      - OPENAI_API_KEY=dummy

      # 追加
      - VECTOR_DB=qdrant
      - QDRANT_URI=http://qdrant:6333

    extra_hosts:
      - "host.docker.internal:host-gateway"

    volumes:
      - openwebui:/app/backend/data

  qdrant:
    image: qdrant/qdrant:latest
    container_name: qdrant
    restart: unless-stopped

    ports:
      - "6333:6333"

    volumes:
      - qdrant_storage:/qdrant/storage

  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    restart: unless-stopped

    ports:
      - "8081:8080"

    volumes:
      - ./searxng:/etc/searxng

volumes:
  openwebui:
  qdrant_storage:

vi ~docker/searxng/settings.yml

use_default_settings: true

server:
  secret_key: "tr68o2qlQWY8uybEGGMcZcsEFSqYqQ"
#  image_proxy: true

#  bind_address: "0.0.0.0:8080"

search:
  formats:
    - html
    - json
  safe_search: 0

limiter:
  false

ui:
  static_use_hash: true

engines:

  - name: duckduckgo
    engine: duckduckgo
    shortcut: ddg

  - name: wikipedia
    engine: wikipedia
    shortcut: wp

  - name: bing
    engine: bing
    shortcut: bi

docker compose up -d

webUIで設定

ウェブ検索を有効化
検索クエリを下記に設定
http://searxng:8080/search?q=&format=json
ナレッジベースを有効化する

masaya_abe さんが約2ヶ月前に更新

masaya_abe さんが約2ヶ月前に更新

masaya_abe さんが約2ヶ月前に更新

masaya_abe さんが約2ヶ月前に更新

他の形式にエクスポート: Atom PDF