VLM / Qwen3.5

Qwen3.5 4B

Deze gepubliceerde VLM-afbeelding combineert het taalmodel Qwen3.5 4B met de bijbehorende RKNN-vision encoder en een OpenAI-compatibele multimodale API.

23 downloads
Grootte
3.81GB

Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.

Aan de slag

Implementeren
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

Modeldetails

VLM-implementatie op reComputer RK

Deze gedeelde handleiding is van toepassing op elke VLM in de catalogus, waaronder Qwen3.5. Elke gepubliceerde VLM-image bevat een bijpassend RKLLM-taalmodel en een RKNN-vision-encoder voor het geselecteerde board en de geselecteerde kwantisatie.

Indeling van gepubliceerde images

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

W4A16-G128-images zijn doorgaans uitsluitend geschikt voor RK3576. RK3588 VLM-records gebruiken W8A8.

Vereisten

  • reComputer RK3576 of RK3588 met een 64-bits Linux-image
  • Docker en Docker Buildx geïnstalleerd
  • NPU-toegang via /dev
  • Poort 8001 beschikbaar op het board

VLM-images gebruiken de OpenAI-compatibele API en bieden geen interactieve chat in de terminal.

Een gepubliceerde VLM uitvoeren

Vervang <model-id> en <quantization> door de geselecteerde catalogusrecord.

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

Status- en API-documentatie

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

Multimodaal OpenAI-verzoek

De server accepteert één afbeelding per verzoek. Gebruik een openbare HTTP(S)-URL of een base64-data-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
  }'

Plaats voor een lokale afbeelding een data-URL in image_url.url:

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

Multimodaal streamingverzoek

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

Configureer een aangepaste OpenAI-compatibele provider:

  • API-host: http://<board-ip>:8001/v1
  • API-sleutel: een willekeurige waarde, zoals rkllm-local
  • Model: rkllm-vision

Voeg een afbeelding toe nadat u de provider hebt geselecteerd.

Probleemoplossing

  • Combineer geen taalmodel- en vision-encoderartefacten van verschillende boards of tags.
  • Als de server meldt dat een vision-model ontbreekt, controleer dan MODEL_KIND=vlm en de tag van de gepubliceerde image.
  • Controleer de opstartuitvoer met sudo docker logs recomputer-rk-vlm.

Invoer en uitvoer

Invoer: een afbeelding en tekstprompt. Uitvoer: op de afbeelding gebaseerde gegenereerde tekst via een OpenAI-compatibele API.