私的AI研究会 > ComfyUI15b

画像生成AI「ComfyUI」15(実践編Ⅵ3) == 編集中 ==

 「ComfyUI」を使ってローカル環境でのAI画像生成を検証する

▲ 目 次
※ 最終更新:2026/06/25 

『Ideogram 4.0』を検証する3 『JSON プロンプトツール「PromptCanvas」』

 JSONプロンプトを作成する手段として LLM が有効であることが分かったが、LLM をローカルで利用する方法を検証する
 以前のプロジェクトで構築した『ローカル PC で LLM を利用する』の環境で「Ideogram 4.0」に入力できる JSON プロンプトを作成する方法
 参考URL → 生成AIグラビアをグラビアカメラマンが作るとどうなる?第68回:Ideogram 4.0用JSON Promptビルダーを作ってみた

環境構築

 このプロジェクトは「anaconda_win/workspace_3/」フォルダの下でで実行する
  1. proj_PromptCanvas.zip をダウンロード
    ・解凍してできるフォルダ
    📂anaconda_win
      └─📂workspace_3
            └─📂PromptCanvas          ← このプロジェクトの対象フォルダ
    解凍してできるフォルダを同じ場所へ上書きコピーする

  2. 「nvidia-smi」で NVIDIAグラフィックドライバーのバージョンを調べる
    nvidia-smi
    (base) PS > nvidia-smi
    Wed Jun 24 03:46:20 2026
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 610.47                 KMD Version: 610.47        CUDA UMD Version: 13.3     |
    +-----------------------------------------+------------------------+----------------------+
    | GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  NVIDIA GeForce RTX 4060 ...  WDDM  |   00000000:01:00.0 Off |                  N/A |
    | N/A   37C    P3            590W /   45W |       0MiB /   8188MiB |      0%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+

  3. 「nvcci」でインストールされてる NVIDIAツールキットのバージョンを調べる
    nvcc -V
    (base) PS D:\anaconda_win> nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2025 NVIDIA Corporation
    Built on Wed_Jan_15_19:38:46_Pacific_Standard_Time_2025
    Cuda compilation tools, release 12.8, V12.8.61
    Build cuda_12.8.r12.8/compiler.35404655_0

  4. 「Python」バージョンを指定して仮想環境『PromptCanvas』を構築する ・Python 3.11 で作成する
    conda create -n PromptCanvas python=3.11
    (base) PS D:\anaconda_win> conda create -n PromptCanvas python=3.11
    Channels:
    done
    #
    # To activate this environment, use
    #
    #     $ conda activate PromptCanvas
    #
    # To deactivate an active environment, use
    #
    #     $ conda deactivate

  5. すぐに環境を起動できる「PromptCanvas.ps1」を作成する(後で修正)
    anaconda_win/PromptCanvas.ps1
    $name = @"
    
    *** PromptCanvas environment ***
    "@
    Write-Host $name
    conda activate PromptCanvas
    cd "D:\anaconda_win\workspace_3\PromptCanvas"

  6. プロジェクト環境への起動確認
    ・「Anaconda PowerShell Prompt」から PromptCanvas.ps1 を実行する
     PromptCanvas/ 仮想環境下でフォルダがカレントディレクトリになれば OK
    (base) PS D:\anaconda_win> .\PromptCanvas.ps1
    (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas>

ローカルで動く LLM サーバーを準備する

JSON プロンプト作成ツール「PromptCanvas」の設定

  1. 「PromptCanvas」のインストール
    ・上記の「proj_PromptCanvas.zip」ダウンロード:解凍・配置で設置は完了している

  2. PromptCanvas 仮想環境の起動
    ・「Anaconda PowerShell Prompt」を起動し下記のコマンドを実行する
    PromptCanvas.ps1
    (base) PS D:\anaconda_win> .\PromptCanvas.ps1
    (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas>

  3. 仮想環境(venv)の作成
    python -m venv venv
    (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas> python -m venv venv
    (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas>

  4. 仮想環境(venv)をアクティブにする
    ./venv/Scripts/activate
    (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas> ./venv/Scripts/activate
    (venv) (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas>

  5. 必要なパッケージをインストールする
    pip install -r requirements.txt
    (venv) (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas> pip install -r requirements.txt
    Collecting fastapi<1.0.0,>=0.115.0 (from -r requirements.txt (line 1))
      Downloading fastapi-0.138.0-py3-none-any.whl.metadata (27 kB)
        :
    Successfully installed PyYAML-6.0.2 aiohappyeyeballs-2.6.2 aiohttp-3.14.1 aiosignal-1.4.0 aistudio-sdk-0.3.8 astor-0.8.1 attrs-26.1.0 bce-python-sdk-0.9.72 certifi-2026.6.17 chardet-7.4.3 charset_normalizer-3.4.7 colorlog-6.10.1 crc32c-2.8 decorator-5.3.1 filelock-3.29.4 frozenlist-1.8.0 fsspec-2026.6.0 future-1.0.0 hf-xet-1.5.1 httpcore-1.0.9 httpx-0.28.1 huggingface-hub-1.20.1 imagesize-2.0.0 markdown-it-py-4.2.0 mdurl-0.1.2 modelscope-1.37.1 multidict-6.7.1 numpy-2.3.5 opencv-contrib-python-4.10.0.84 opt-einsum-3.3.0 packaging-26.2 paddleocr-3.7.0 paddlepaddle-gpu-2.6.2 paddlex-3.7.1 pandas-3.0.3 prettytable-3.17.0 propcache-0.5.2 protobuf-3.20.2 psutil-7.2.2 py-cpuinfo-9.0.0 pyclipper-1.4.0 pycryptodome-3.23.0 pygments-2.20.0 pypdfium2-5.10.1 python-bidi-0.6.10 python-dateutil-2.9.0.post0 requests-2.34.2 rich-15.0.0 ruamel.yaml-0.19.1 shapely-2.1.2 shellingham-1.5.4 six-1.17.0 tqdm-4.68.3 typer-0.25.1 tzdata-2026.2 ujson-5.13.0 urllib3-2.7.0 wcwidth-0.8.1 yarl-1.24.2
    (venv) (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas>

  6. 残りのパッケージをインストールする
     【注意】CUDA ToolKit のバージョン(冒頭 nvcc -V コマンドによる)に適合するコマンドを paddlepaddle インストールガイド から取得する
    python -m pip install paddlepaddle-gpu==3.3.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
    (venv) (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas> python -m pip install paddlepaddle-gpu==3.3.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
    Looking in indexes: https://www.paddlepaddle.org.cn/packages/stable/cu126/
    Collecting paddlepaddle-gpu==3.3.0
      Downloading paddlepaddle_gpu-3.3.0-cp311-cp311-win_amd64.whl (533.3 MB)
        :
    Successfully installed nvidia-cublas-cu12-12.6.4.1 nvidia-cuda-runtime-cu12-12.6.77 nvidia-cudnn-cu12-9.5.1.17 nvidia-cufft-cu12-11.3.0.4 nvidia-curand-cu12-10.3.7.77 nvidia-cusolver-cu12-11.7.1.2 nvidia-cusparse-cu12-12.5.4.2 nvidia-nvjitlink-cu12-12.9.86 paddlepaddle-gpu-3.3.0
    (venv) (PromptCanvas) PS D:\anaconda_win\workspace_3\PromptCanvas>

  7. 「venv」設定ファイル(.env「proj_PromptCanvas.zip」プロジェクトファイルに同梱)
    # --- サーバー ---
    HOST=127.0.0.1
    PORT=7860
    
    # --- PaddleOCR ---
    IMAGE_TO_PROMPT_OCR_LANG=japan,en
    
    # --- Vision LLM (OpenAI互換エンドポイント) ---
    VISION_API_BASE=http://localhost:11434/v1
    VISION_API_KEY='ollama'
    # bbox精度の高いvision対応モデルを推奨(Gemma系で良好な結果)
    #VISION_MODEL=gemma3:latest
    VISION_MODEL=qwen3-vl:8b
    #VISION_MODEL="tinyrick/gemma-4-31B-it-uncensored-heretic-vision-llmfan46:Q4_K_M"
    
    # 画像リサイズ上限 (短辺px)
    VISION_FULL_MAX_PX=1024
    VISION_CROP_MAX_PX=512
    
    # --- WOMAN タグ ---
    # woman/girl/female/lady を "{WOMAN} woman" に統一(例: Japanese, Korean, Chinese)
    WOMAN=Japanese
    
    # --- 開発用 ---
    # IMAGE_TO_PROMPT_MOCK=1

  8. 起動ファイル「PromptCanvas.ps1」を修正する(最後に AP起動コマンドを追加)
    ・anaconda_win/PromptCanvas.ps1
    $name = @"
    
    *** PromptCanvas environment ***
    "@
    Write-Host $name
    conda activate PromptCanvas
    cd "D:\anaconda_win\workspace_3\PromptCanvas"
    
    ./venv/Scripts/activate
    python app.py
    ・以後、新規「Anaconda PowerShell Prompt」から PromptCanvas.ps1 コマンドでサーバー起動 終了は 'Ctrl' + 'c'

「PromptCanvas」の使い方

  1. サーバーを起動する
    ・「Anaconda PowerShell Prompt」を開いて次のコマンドを実行する
    PromptCanvas.ps1
    (base) PS D:\anaconda_win> .\PromptCanvas.ps1
    
    *** PromptCanvas environment ***
    Image to Prompt v3 running at http://127.0.0.1:7860
    Vision LLM : http://localhost:11434/v1 / qwen3-vl:8b
    OCR        : PaddleOCR (lang=japan,en)
    INFO:     Started server process [10236]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.
    INFO:     Uvicorn running on http://127.0.0.1:7860 (Press CTRL+C to quit)

  2. 'Ctrl' キーを押しながら http://127.0.0.1:7860 を押して Web アプリケーションを起動する

    ・「OpenWebUI」経由で API アクセスする場合は事前にサーバーを起動しておくこと
     この場合は .env は openwebui_.env の設定内容にしておく必要がある

  3. 終了は 'Ctrl' + 'c' キーを押す

モデルのテスト

PromptCanvas のテスト


忘備録

HTTP メッセージ

 参照サイト → HTTPメッセージについて簡単なまとめ

「venv」設定ファイル

 Pythonの venv 環境そのものには専用の設定ファイルはないが、環境変数(APIキーやDB接続情報など)を管理するために .env ファイルを作成するのが一般的

 設定ファイルの作成と読み込み手順

  1. パッケージのインストール仮想環境(venv)をアクティベートした状態で、環境変数読み込み用の python-dotenv をインストール
    pip install python-dotenv
  2. .env ファイルの作成
    プロジェクトのルートディレクトリ(venv フォルダと同じ階層)に .env というファイルを作成し、設定を記述する
    API_KEY=your_secret_key_here
    DEBUG_MODE=True
  3. Pythonコードからの読み込み作成した .env ファイルの値は、os.getenv() を使ってコード内で読み込むことができる
    import os
    from dotenv import load_dotenv
    
    # .env ファイルの環境変数を読み込む
    load_dotenv()
    
    # 設定値を取得
    api_key = os.getenv("API_KEY")
    print(api_key)


更新履歴

 

参考資料