VLM / Qwen3.5

Qwen3.5 2B

reComputer RK3588

reComputer RK ボード上での画像理解とテキスト生成に対応した、RKLLM/RKNN 最適化済みの Qwen3.5 2B ビジョン・ランゲージモデル。

244 ダウンロード
サイズ
3.02GB

使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。

はじめる

OTA overlayroot が有効な Armbian 26.8.7 Gnome 以降: コンテナを実行する前に Docker のストレージを設定してください overlay のマウントエラーを防ぐために必要です。

デプロイ
sudo docker run --rm -d \
  --name recomputer-rk-vlm \
  --privileged \
  -p 8001:8001 \
  -v /dev:/dev \
  -e MODEL_KIND=vlm \
  -e LOG_LEVEL=warning \
  ghcr.io/seeed-projects/recomputer-rk-llm/vlm/qwen3.5-2b:rk3588-w8a8

モデル詳細

OTA overlayroot が有効な Armbian 26.8.7 Gnome 以降: コンテナを実行する前に Docker のストレージを設定してください overlay のマウントエラーを防ぐために必要です。

reComputer RK での VLM デプロイ

この共通ガイドは、Qwen3.5 を含む、カタログに掲載されているすべての VLM に適用されます。公開されている各 VLM イメージには、選択したボードと量子化に対応する RKLLM 言語モデルおよび RKNN ビジョンエンコーダーが含まれています。

現在の上流環境では、RKLLM v1.3.1 と RKNN runtime / Toolkit Lite 2 v2.5.0 を使用しています。新規または更新されたモデル定義は、そのタグを取得する前にビルドして公開する必要があります。まず環境イメージをビルドし、その後、選択したモデルイメージを再ビルドしてください。詳細は上流リポジトリと VLM デプロイガイドを参照してください。

モデルプロファイルと Gemma 4 プレビュー

モデルイメージは、対応するランタイム設定を提供します。Qwen2.5-VL と Qwen3-VL は VLM_IMAGE_SIZE=448 を使用します。Gemma 4 は VLM_MODEL_FAMILY=gemma4、VLM_IMAGE_SIZE=480、RKLLM_EMBED_FLASH=1 を使用し、オーディオエンコーダーを含みます。カスタムアーティファクトの場合は、モデルプロファイルやエンコーダーファイルを混在させず、対応する上流のモデル定義に従ってください。

Gemma 4 は、同じチャット補完エンドポイントを介して base64 WAV の input_audio コンテンツパートを受け取ることができます。カスタム Gemma 4 デプロイでは、AUDIO_MODEL_FILE または AUDIO_MODEL_PATH を介して対応するオーディオエンコーダーをロードする必要があります。設定については上流の VLM デプロイガイドを参照してください。

公開イメージ形式

text
ghcr.io/seeed-projects/recomputer-rk-llm/vlm/<model-id>:<platform>-<quantization>

W4A16-G128 イメージは通常、RK3576 専用です。RK3588 の VLM レコードでは W8A8 を使用します。

要件

  • 64 ビット Linux イメージを実行する reComputer RK3576 または RK3588
  • Docker および Docker Buildx がインストールされていること
  • /dev 経由で NPU にアクセスできること
  • ボード上でポート 8001 が使用可能であること

VLM イメージは OpenAI 互換 API を使用し、ターミナルでのインタラクティブチャットは提供しません。

公開済み VLM の実行

<model-id> と <quantization> を、選択したカタログレコードの値に置き換えます。

RK3576

bash
sudo docker run --rm -d \
  --name recomputer-rk-vlm \
  --privileged \
  -p 8001:8001 \
  -v /dev:/dev \
  -e MODEL_KIND=vlm \
  -e LOG_LEVEL=warning \
  ghcr.io/seeed-projects/recomputer-rk-llm/vlm/<model-id>:rk3576-<quantization>

RK3588

bash
sudo docker run --rm -d \
  --name recomputer-rk-vlm \
  --privileged \
  -p 8001:8001 \
  -v /dev:/dev \
  -e MODEL_KIND=vlm \
  -e LOG_LEVEL=warning \
  ghcr.io/seeed-projects/recomputer-rk-llm/vlm/<model-id>:rk3588-w8a8

ヘルスチェックと API ドキュメント

bash
curl http://localhost:8001/health
curl http://localhost:8001/docs
curl http://localhost:8001/redoc

OpenAI マルチモーダルリクエスト

サーバーは 1 リクエストにつき 1 枚の画像を受け付けます。公開 HTTP(S) URL または base64 データ URL を使用してください。

bash
curl -X POST http://localhost:8001/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rkllm-vision",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "Describe this image in detail."},
        {"type": "image_url", "image_url": {"url": "https://example.com/your-image.jpg"}}
      ]
    }],
    "stream": false
  }'

ローカル画像の場合は、image_url.url にデータ URL を指定します。

text
data:image/jpeg;base64,<base64-encoded-image>

ストリーミングマルチモーダルリクエスト

bash
curl -N -X POST http://localhost:8001/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "rkllm-vision",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "List the objects visible in this image."},
        {"type": "image_url", "image_url": {"url": "https://example.com/your-image.jpg"}}
      ]
    }],
    "stream": true
  }'

Python クライアント:

python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8001/v1", api_key="dummy-key")
response = client.chat.completions.create(
    model="rkllm-vision",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Describe this image."},
            {"type": "image_url", "image_url": {"url": "https://example.com/your-image.jpg"}},
        ],
    }],
    max_tokens=128,
)
print(response.choices[0].message.content)

Cherry Studio

カスタム OpenAI 互換プロバイダーを設定します。

  • API ホスト:http://<board-ip>:8001/v1
  • API キー:rkllm-local など、任意の値
  • モデル:rkllm-vision

プロバイダーを選択した後、画像を添付します。

トラブルシューティング

  • 異なるボードまたはタグの言語モデルアーティファクトとビジョンエンコーダーアーティファクトを混在させないでください。
  • サーバーがビジョンモデルの欠落を報告した場合は、MODEL_KIND=vlm と公開済みイメージタグを確認してください。
  • sudo docker logs recomputer-rk-vlm で起動時の出力を確認します。

入力と出力

入力:画像とテキストプロンプト。出力:OpenAI 互換 API を介して生成された、画像に基づくテキスト。