LLM / deepseek-r1-distill-qwen

DeepSeek R1 Distill Qwen 1.5B

Imágenes RKLLM publicadas de DeepSeek R1 Distill Qwen 1.5B con una API compatible con OpenAI. Elija una cuantización (W4A16-G128 / W8A8) después de seleccionar el dispositivo de destino.

119 descargas
Tamaño
1.26GB

Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.

Primeros pasos

Desplegar
sudo docker run --rm -it \
  --name recomputer-rk-llm \
  --privileged \
  -p 8001:8001 \
  -v /dev:/dev \
  -e INTERACTIVE_CHAT=true \
  -e LOG_LEVEL=warning \
  ghcr.io/seeed-projects/recomputer-rk-llm/llm/deepseek-r1-distill-qwen-1.5b:rk3576-w4a16-g128

Detalles del modelo

Implementación de LLM en reComputer RK

Esta guía compartida se aplica a todos los LLM incluidos en el catálogo. Seleccione la familia del modelo y la cuantización en la página del modelo y, a continuación, use la etiqueta de imagen publicada correspondiente.

Formato de la imagen publicada

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

Las imágenes de LLM publicadas incluyen el modelo .rkllm convertido, el runtime de RKLLM y un servidor compatible con OpenAI. Las etiquetas disponibles se enumeran en los registros del catálogo de cada familia de modelos. Las imágenes W4A16/W4A16-G128 generalmente solo son compatibles con RK3576; los registros de RK3588 utilizan W8A8.

Requisitos

  • reComputer RK3576 o RK3588 con una imagen de Linux de 64 bits
  • Docker y Docker Buildx instalados
  • Acceso a la NPU mediante /dev
  • Puerto 8001 disponible en la placa

Los ejemplos utilizan --privileged y -v /dev:/dev para acceder a la NPU. La API local no tiene autenticación ni TLS; manténgala en una red de confianza.

Ejecutar un LLM publicado

Reemplace <model-id> y <platform>-<quantization> por los valores que se muestran en la página del modelo seleccionado.

RK3576

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

RK3588

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

El comando incluido habilita el chat interactivo en la terminal. Para ejecutarlo en segundo plano, cambie -it por -d y elimine INTERACTIVE_CHAT=true.

Estado y documentación

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

El servicio está listo cuando el endpoint de estado responde correctamente.

API compatible con OpenAI

Solicitud sin streaming:

bash
curl http://localhost:8001/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "rkllm-model",
    "messages": [{"role": "user", "content": "Explain edge AI in one sentence."}],
    "max_tokens": 128,
    "stream": false
  }'

Solicitud con streaming:

bash
curl -N http://localhost:8001/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "rkllm-model",
    "messages": [{"role": "user", "content": "Give me three uses for an edge AI board."}],
    "max_tokens": 128,
    "stream": true
  }'

Cliente de 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-model",
    messages=[{"role": "user", "content": "Hello from reComputer RK."}],
    max_tokens=128,
)
print(response.choices[0].message.content)

API compatible con Ollama

bash
curl http://localhost:8001/api/chat \
  -H 'Content-Type: application/json' \
  -d '{"model":"rkllm-model","messages":[{"role":"user","content":"Hello"}],"stream":false}'

Detener y solucionar problemas

bash
sudo docker logs recomputer-rk-llm
sudo docker stop recomputer-rk-llm

Si la detección de la plataforma falla, establezca TARGET_PLATFORM=rk3576 o TARGET_PLATFORM=rk3588. Si el puerto 8001 está ocupado, cambie la asignación del puerto del host y utilice la nueva URL de la API.

Entradas y salidas

Entrada: prompt de texto o mensajes de chat. Salida: texto generado mediante una API compatible con OpenAI.