VLM / Qwen3.5

Qwen3.5 4B

Dieses veröffentlichte VLM-Image kombiniert das Sprachmodell Qwen3.5 4B mit seinem RKNN-Vision-Encoder und einer OpenAI-kompatiblen multimodalen API.

23 Downloads
Größe
3.81GB

Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.

Erste Schritte

Bereitstellen
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-4b:rk3576-w4a16-g128

Modelldetails

VLM-Bereitstellung auf reComputer RK

Diese allgemeine Anleitung gilt für alle im Katalog aufgeführten VLMs, einschließlich Qwen3.5. Jedes veröffentlichte VLM-Image enthält ein passendes RKLLM-Sprachmodell und einen RKNN-Vision-Encoder für das ausgewählte Board und die ausgewählte Quantisierung.

Format veröffentlichter Images

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

W4A16-G128-Images sind in der Regel ausschließlich für RK3576 vorgesehen. RK3588-VLM-Einträge verwenden W8A8.

Voraussetzungen

  • reComputer RK3576 oder RK3588 mit einem 64-Bit-Linux-Image
  • Docker und Docker Buildx sind installiert
  • NPU-Zugriff über /dev
  • Port 8001 ist auf dem Board verfügbar

VLM-Images verwenden die OpenAI-kompatible API und bieten keinen interaktiven Chat im Terminal.

Ein veröffentlichtes VLM ausführen

Ersetzen Sie <model-id> und <quantization> durch die Werte des ausgewählten Katalogeintrags.

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

Systemzustand und API-Dokumentation

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

Multimodale OpenAI-Anfrage

Der Server akzeptiert ein Bild pro Anfrage. Verwenden Sie eine öffentliche HTTP(S)-URL oder eine Base64-Daten-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
  }'

Geben Sie für ein lokales Bild eine Daten-URL in image_url.url an:

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

Multimodale Streaming-Anfrage

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-Client:

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

Konfigurieren Sie einen benutzerdefinierten OpenAI-kompatiblen Anbieter:

  • API-Host: http://<board-ip>:8001/v1
  • API-Schlüssel: ein beliebiger Wert, beispielsweise rkllm-local
  • Modell: rkllm-vision

Fügen Sie nach Auswahl des Anbieters ein Bild hinzu.

Fehlerbehebung

  • Kombinieren Sie keine Artefakte des Sprachmodells und des Vision-Encoders von unterschiedlichen Boards oder Tags.
  • Wenn der Server ein fehlendes Vision-Modell meldet, überprüfen Sie MODEL_KIND=vlm und das Tag des veröffentlichten Images.
  • Prüfen Sie die Startausgabe mit sudo docker logs recomputer-rk-vlm.

Eingaben und Ausgaben

Eingabe: ein Bild und eine Texteingabeaufforderung. Ausgabe: bildbezogener generierter Text über eine OpenAI-kompatible API.