プロジェクト

全般

プロフィール

task #923

未完了

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

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

LLMサーバー化

masaya_abe さんが1日前に追加. 1日前に更新.

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

0%

予定工数:

説明

Docker

まずドッカーを整備する
LLMは、AMDGPU(Rocm)がDockerと相性悪いらしいので、ネイティブにインストールするが、
それ以外は、Dockerに入れる。
まずは下記を入れる
open-webui→WEBUI化
searxng→インターネット検索を可能にする
prometheus→サーバー監視
grafana→サーバー監視

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

sudo vi /etc/systemd/system/llama-server.service
[Unit]
Description=llama.cpp Server
After=network.target
[Service]
Type=simple
User=user
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 23
-fa on
-c 32768
-ctk q8_0
-ctv q8_0
--host 0.0.0.0
--port 8080
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

OpenWebUI

docker stop open-webui
docker rm open-webui

docker run -d -p 3000:8080
--add-host=host.docker.internal:host-gateway
-e OPENAI_API_BASE_URL=http://docker.internal
-e OPENAI_API_KEY=dummy
-e AIOHTTP_CLIENT_TIMEOUT=120
-v open-webui:/app/backend/data
--name open-webui
--restart always
ghcr.io/open-webui/open-webui:main

サーバIP:3000で接続確認
およびチャット動作確認

SearXNG

vi $HOME/searxng/settings.yml

use_default_settings: true

server:
port: 8081
bind_address: "0.0.0.0"
secret_key: "e6c38d4f8522b16a7b87bfda23e3ea4e0f5ad92d542ebde0ef235024923b9ac3"
limiter: false
search:
safe_search: 0
autocomplete: ""
formats:
- html
- json

suspended_time_reset_interval: 10 # ペナルティの判定間隔を短くする
max_suspended_time: 30 # 最大でも30秒でペナルティを解除する

engines:

  • name: google
    engine: google
    shortcut: go
    disabled: true # Googleを完全に無効化

  • name: duckduckgo
    engine: duckduckgo
    shortcut: ddg
    disabled: false # DuckDuckGoをメインに設定

コンテナ作成
docker run -d
--network host
-e SEARXNG_PORT=8081
-e SEARXNG_BIND_ADDRESS=0.0.0.0
-v $HOME/searxng:/etc/searxng:rw
--name searxng
--restart always
searxng/searxng:latest

openwebuiで、SearxngのクエリURLを下記に設定
http://host.docker.internal:8081/search?q=&format=json

masaya_abe さんが1日前に更新

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