LLM / deepseek-r1-distill-qwen
DeepSeek R1 Distill Qwen 1.5B
DeepSeek R1 Distill Qwen 1.5B optimizado para RKLLM para la generación local de texto en placas reComputer RK.
Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.
Primeros pasos
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-g128Detalles 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
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
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
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-w8a8El 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
curl http://localhost:8001/health
curl http://localhost:8001/docsEl servicio está listo cuando el endpoint de estado responde correctamente.
API compatible con OpenAI
Solicitud sin streaming:
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:
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:
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
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
sudo docker logs recomputer-rk-llm
sudo docker stop recomputer-rk-llmSi 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.