LLM / Gemma 4

Gemma 4 E2B IT

Images RKLLM publiées de Gemma 4 E2B IT avec une API compatible avec OpenAI. Sélectionnez une quantification (W4A16-G128 / W8A8) après avoir choisi l’appareil cible.

19 téléchargements
Taille
5.54GB

Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.

Pour commencer

Déployer
sudo docker run --rm -d \
  --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/gemma-4-e2b-it:rk3576-w4a16-g128

Détails du modèle

Déploiement de LLM sur reComputer RK

Ce guide commun s’applique à tous les LLM répertoriés dans le catalogue. Sélectionnez la famille de modèles et la quantification sur la page du modèle, puis utilisez le tag d’image publié correspondant.

Format des images publiées

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

Les images LLM publiées incluent le modèle .rkllm converti, le runtime RKLLM et un serveur compatible avec OpenAI. Les tags disponibles sont répertoriés dans les fiches de catalogue de chaque famille de modèles. Les images W4A16/W4A16-G128 sont généralement réservées à RK3576 ; les fiches RK3588 utilisent W8A8.

Prérequis

  • reComputer RK3576 ou RK3588 exécutant une image Linux 64 bits
  • Docker et Docker Buildx installés
  • Accès au NPU via /dev
  • Port 8001 disponible sur la carte

Les exemples utilisent --privileged et -v /dev:/dev pour accéder au NPU. L’API locale n’utilise ni authentification ni TLS ; maintenez-la sur un réseau de confiance.

Exécuter un LLM publié

Remplacez <model-id> et <platform>-<quantization> par les valeurs indiquées sur la page du modèle sélectionné.

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

La commande fournie active le chat interactif dans le terminal. Pour exécuter le service en arrière-plan, remplacez -it par -d et supprimez INTERACTIVE_CHAT=true.

État de santé et documentation

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

Le service est prêt lorsque le endpoint d’état de santé répond correctement.

API compatible avec OpenAI

Requête sans 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
  }'

Requête avec 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
  }'

Client 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 avec Ollama

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

Arrêt et dépannage

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

Si la détection de la plateforme échoue, définissez TARGET_PLATFORM=rk3576 ou TARGET_PLATFORM=rk3588. Si le port 8001 est déjà utilisé, modifiez le mappage du port côté hôte et utilisez la nouvelle URL d’API.

Entrées et sorties

Entrée : prompt texte ou messages de discussion. Sortie : texte généré via une API compatible avec OpenAI.