概要
pngファイルをHermes Agent経由でLlama.cppでサーブ中のQwen3.8 27Bへ渡すと画像を読み取んでいる挙動がなかった。これはOpenCode内でデバッグ中に生成した画像についても同じ。どうも量子化されたLLMはGGUF版に限らずNVFP4版でも目に当たる部分は含まれないようであった。目をつけたければそれ用のLLMを外部からアタッチしなければならない。
なお、Ollama pullでロードするLLMはOllamaで予め目玉がついているので、下記のような作業は不要。LLMの微調整できないが、そういったところは簡単で良い。
本体:
https://huggingface.co/unsloth/Qwen3.8-27B-GGUF
目玉:
https://huggingface.co/unsloth/Qwen3.8-27B-GGUF/blob/main/mmproj-BF16.gguf
- 実施期間: 2026年9月
- 環境:Ubuntu22.04LTS
- Llama.cpp: v.0.4.0
- LLM: Qwen3.8-27B-UD-Q4_K_XL.gguf
Llama.cpp
--mmprojにmmproj-BF16.ggufを指定し、mmproj-BF16.ggufは1GiB弱あり、VRAMに乗せたくない。CPUでoffloadするため--no-mmproj-offloadと指定する。
docker-compose.yml
command:
- "-m"
- "/models/Qwen3.8-27B-UD-Q4_K_XL.gguf"
- "--mmproj"
- "/models/mmproj-BF16.gguf"
- "--no-mmproj-offload"
llama.cppでqwenサーブ中に下記コマンドを実行し、"capabilities":["completion","multimodal"]のようにmultimodalが入っていることを確認する。
curl http://127.0.0.1:8080/v1/models
Hermes-agent
supports_visionをtrue、auxiliaryは設定しない。
config.yaml
providers:
llamacpp:
name: Local llama.cpp
models:
qwen3.8-llama.cpp:
context_length: 131072
supports_vision: true
auxiliary: {}
以上