blob: 1eab39c13053eafec9162f4680aedf311b360de2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# mcp-sd15
ローカルの NVIDIA GPU と Stable Diffusion 1.x 互換 checkpoint を使う、stdio MCP
サーバです。Text-to-Image、Depth/Openpose 誘導生成、ControlNet Inpaint を公開します。
## セットアップ
1. NVIDIA driverがCUDA 13.2対応PyTorchを実行できることを`nvidia-smi`で確認します。
2. `config.example.toml` をコピーし、モデルの root とファイル名を設定します。
3. `uv sync` を実行します。PyTorchは専用indexからCUDA 13.2版が導入されます。
4. `uv run mcp-sd15 --config path/to/config.toml` で起動します。
モデルは `<root>/checkpoints`、`vae`、`lora`、`controlnet` からだけ読み込みます。
VAE componentは生成に常に必要です。`model.vae`を省略した場合はcheckpoint内蔵VAEを使い、
指定した場合だけ外部VAEへ置き換えます。設定されたLoRAは起動時にすべてロードされ、3つの
生成ツールに共通して適用されます。MCP呼び出しごとのLoRA切替には対応しません。
Depth/Openpose の annotator 重みは `controlnet_aux` のローカルキャッシュに事前配置して
ください。推論時のダウンロードは行いません。
MCP の `input_image` / `mask_image` は PNG または JPEG の Base64(data URI も可)です。
mask は白い領域が再生成対象です。出力は PNG の画像 content で、seed 等は PNG metadata
にも記録されます。
GPU を使わないテストは `uv run pytest`、lint は `uv run ruff check .`、型検査は
`uv run pyright` で実行できます。実モデルの smoke test は環境依存のため自動テストには
含めていません。
実GPUとMCP経路を使う`generate_image` smoke testは次のように実行できます。
```powershell
uv run python script\smoke_generate_image.py `
--config data\config.generate-image.toml `
--output data\outputs\generate-image-mcp-512.png
```
|