Démo vidéo : youtube
English version : cliquer ici
Un serveur permettant d'exécuter et d'interagir avec des modèles LLM optimisés pour les plateformes Rockchip RK3588(S) et RK3576. La différence avec d'autres logiciels similaires tels que Ollama ou Llama.cpp est que RKLLama permet l'exécution des modèles sur le NPU.
- Version
Lib rkllm-runtime
: V1.1.4. - Testé sur un
Orange Pi 5 Pro (16 Go de RAM)
.
./models
: contient vos modèles rkllm../lib
: bibliothèque C++rkllm
utilisée pour l'inférence etfix_freqence_platform
../app.py
: serveur API Rest../client.py
: client pour interagir avec le serveur.
- Python 3.8 à 3.12
- Matériel : Orange Pi 5 Pro : (Rockchip RK3588S, NPU 6 TOPS).
- OS : Ubuntu 24.04 arm64.
- Exécution des modèles sur le NPU.
- Téléchargement direct des modèles depuis Huggingface.
- Inclut une API REST avec documentation.
- Liste des modèles disponibles.
- Chargement et déchargement dynamique des modèles.
- Requêtes d'inférence.
- Modes streaming et non-streaming.
- Historique des messages.
- Client : Guide d'installation.
- API REST : Documentation en anglais
- API REST : Documentation en français
- Téléchargez RKLLama :
git clone https://github.com/notpunchnox/rkllama
cd rkllama
- Installez RKLLama :
chmod +x setup.sh
sudo ./setup.sh
La virtualisation avec conda
démarre automatiquement, ainsi que le réglage de la fréquence du NPU.
- Lancez le serveur :
rkllama serve
- Commande pour lancer le client :
rkllama
ou
rkllama help
- Voir les modèles disponibles :
rkllama list
- Exécuter un modèle :
rkllama run <nom_du_modèle>
Ensuite, commencez à discuter ( mode verbeux : affiche l'historique formaté et les statistiques )
Vous pouvez télécharger et installer un modèle depuis la plateforme Hugging Face avec la commande suivante :
rkllama pull nom_utilisateur/id_repo/fichier_modele.rkllm
Sinon, vous pouvez exécuter la commande de manière interactive :
rkllama pull
ID du dépôt (exemple : punchnox/Tinnyllama-1.1B-rk3588-rkllm-1.1.4) : <votre réponse>
Fichier (exemple : TinyLlama-1.1B-Chat-v1.0-rk3588-w8a8-opt-0-hybrid-ratio-0.5.rkllm) : <votre réponse>
Cela téléchargera automatiquement le fichier modèle spécifié et le préparera pour une utilisation avec RKLLAMA.
Exemple avec Qwen2.5 3b de c01zaut : https://huggingface.co/c01zaut/Qwen2.5-3B-Instruct-RK3588-1.1.4
-
Téléchargez le modèle
- Téléchargez les modèles
.rkllm
directement depuis Hugging Face. - Alternativement, convertissez vos modèles GGUF au format
.rkllm
(outil de conversion à venir sur mon GitHub).
- Téléchargez les modèles
-
Placez le modèle
- Accédez au répertoire
~/RKLLAMA/models
sur votre système. - Placez les fichiers
.rkllm
dans ce répertoire.
Exemple de structure de répertoire :
~/RKLLAMA/models/ └── TinyLlama-1.1B-Chat-v1.0.rkllm
- Accédez au répertoire
-
Allez dans le dossier
~/RKLLAMA/
:cd ~/RKLLAMA/ cp ./uninstall.sh ../ cd ../ && chmod +x ./uninstall.sh && ./uninstall.sh
-
Si vous n'avez pas le fichier
uninstall.sh
:wget https://raw.githubusercontent.com/NotPunchnox/rkllama/refs/heads/main/uninstall.sh chmod +x ./uninstall.sh ./uninstall.sh
- Possibilité de télécharger des modèles
- Ajout de modèles multimodaux
- Ajout de modèles d'embedding
- Logiciel de conversion
GGUF vers RKLLM
Moniteur système :