# rkllm-toolkit 1.3.0 auf CUDA — konvertiert Qwen3.5-4B nach .rkllm fuer den RK3588. # Version 1.3.0 ist Pflicht: sie muss zur Runtime auf dem Board passen # (RKLLM SDK 1.3.0, build 82bf4aa8e 2026-06-16) und bringt erst die Qwen3.5-Unterstuetzung. FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ python3.10 python3-pip python3.10-dev git ca-certificates \ && rm -rf /var/lib/apt/lists/* WORKDIR /work COPY requirements.txt /work/requirements.txt COPY rkllm_toolkit-1.3.0-cp310-cp310-linux_x86_64.whl /work/ # torch zuerst und explizit als CUDA-Build; danach die uebrigen Requirements OHNE # torch/torchvision, sonst zieht pip die CPU-Raeder nach und die Quantisierung # laeuft auf der CPU (Stunden statt Minuten). RUN pip3 install --no-cache-dir torch==2.6.0 torchvision==0.21.0 \ --index-url https://download.pytorch.org/whl/cu124 RUN grep -viE '^(torch|torchvision)==' /work/requirements.txt > /work/req-rest.txt \ && pip3 install --no-cache-dir -r /work/req-rest.txt # auto_gptq kompiliert gegen CUDA und ist fuer unseren w8a8-Pfad nicht noetig: # Fehlschlag darf den Build nicht killen. RUN pip3 install --no-cache-dir auto_gptq==0.7.1 || echo "auto_gptq uebersprungen (fuer w8a8 nicht noetig)" RUN pip3 install --no-cache-dir /work/rkllm_toolkit-1.3.0-cp310-cp310-linux_x86_64.whl # HF-Cache und Ausgabe liegen im gemounteten /data, damit ein Neustart des # Containers den 8-GB-Download nicht wiederholt. ENV HF_HOME=/data/hf ENV PYTHONUNBUFFERED=1 COPY convert_qwen35.py /work/convert_qwen35.py CMD ["python3", "/work/convert_qwen35.py"]