結論から述べると、使えるレベルの速度は出ませんがそれっぽさは味わえます。
helloworldを出すのに2分かかります。
0.ゴール
- お古のLinuxPCにLMStudioをClaude Codeをセットアップして、ローカルLLM環境を作る。
- Proxmox VEを導入し、その上で仮想マシンとしてUbuntuを構築する。
- GPUは使用せず、CPU推論を前提とする。
1. ハードウェアとソフトウェア構成
- ThinkCentre M75q Tiny Gen2 AMD Ryzen 5(5650Pro+64GB+1TB)
- Proxmox VE 8.3.3
- Ubuntu(ゲストOS)24.04
- LM Studio(Linux版 AppImage)0.4.7
- Claude Code 2.1.83
2. 仮想マシンの作成
Proxmox上でUbuntuの仮想マシンを作成する。
推奨設定
- CPUコア数:10
- メモリ:16GB以上
- ストレージ:64GB以上
ここではLXCではなくVMを使用する。
ネットワークはブリッジ接続とし、LAN内の他マシンからアクセス可能にすること。
3. LM Studioの導入
LM Studioとlms,lms CLIを使えるようにする。
初回起動
Ubuntu上にLM StudioのAppImageを配置し、実行権限を付与して起動する。
$ chmod +x LM-Studio-*.AppImage $ ./LM-Studio-*.AppImage
モデルのダウンロード
GUIからモデルを選択してダウンロードしておく。
- qwen3.5-0.8b
- qwen3.5-9b
- flan系 1Bクラス(例:flan-t5-small等)
起動後、簡単なチャットで動作確認を行う。
モデル設定
- コンテキスト長:32K(必要に応じて削減)
- CPUスレッド数:VMのCPU数と同じ
※確認後はアプリケーションを終了しておく。
lms CLIの導入
lms daemonを使用するためCLIをインストールする。
$curl -fsSL https://lmstudio.ai/install.sh | bash
4. LM Studio APIサーバの起動
LM StudioのAPIサーバを起動する。
# daemon起動 $lms daemon up # モデル一覧確認 $lms ls # サーバ起動 $lms server start
動作テスト
$curl http://127.0.0.1:1234/v1/models
レスポンスが返ればAPIは正常に動作している。
外部アクセス対応
lmsはデフォルトでローカルインタフェースにバインドされるため、外部アクセスにはポート転送を行う。
#サーバ停止 $lms server stop #別ポートで起動 $lms server start --port 1235 #ポート転送(socat) $socat TCP-LISTEN:1234,fork TCP:127.0.0.1:1235
ファイアウォール設定
$sudo ufw allow from <ip/mask> to any port 1234 proto tcp
接続確認(外部ホスト)
$curl http://<ipaddress>:1234/v1/models
5. Claude Codeからの接続
Claude Codeをセットアップ(別PCでも可)。
$curl -fsSL https://claude.ai/install.sh | bash
環境変数設定
$export ANTHROPIC_BASE_URL=http://<lmstudioのサーバIP>:1234 $export ANTHROPIC_AUTH_TOKEN=lmstudio
PATH設定
$echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc $source ~/.bashrc
起動
$claude --model qwen3.5-0.8b
起動後、`hello` と入力して応答を確認する。
CPU環境では応答に数十秒〜数分かかる場合がある。
6. 動作確認(Hello World)
最小のリクエストで動作確認を行う。
hello
正常であれば応答が返る。