Leçons pratiques de la construction d'une IA embarquée dans React Native

✍️ OpenClawRadar📅 Publié: February 25, 2026🔗 Source
Leçons pratiques de la construction d'une IA embarquée dans React Native
Ad

Génération de texte avec des LLM

Utilisez llama.rn pour exécuter des modèles GGUF dans React Native. Il encapsule llama.cpp et fournit des liaisons natives pour Android (JNI) et iOS (Metal). Le streaming de tokens via des callbacks fonctionne bien.

La gestion de la mémoire est cruciale : un modèle 7B Q4 nécessite environ 5,5 Go de RAM en cours d'exécution (taille du fichier × 1,5 pour le cache KV et les activations). Utilisez 60 % de la RAM de l'appareil comme budget strict, avertissez à 50 % et bloquez à 60 % pour éviter les fermetures de l'application par le système d'exploitation.

L'accélération GPU utilise OpenCL sur Android (GPU Adreno) et Metal sur iOS. L'attention flash plante avec des couches GPU > 0 sur Android, donc imposez cela dans le code. La quantification du cache KV (f16/q8_0/q4_0) est plus bénéfique que le GPU pour la plupart des appareils ; passer de f16 à q4_0 a presque triplé la vitesse d'inférence lors des tests.

Génération d'images avec Stable Diffusion

Cela est spécifique à la plateforme, sans bibliothèque unique couvrant les deux.

  • Android : Utilisez MNN (framework d'Alibaba, CPU, fonctionne sur tous les appareils ARM64) et QNN (Qualcomm AI Engine, accéléré par NPU, uniquement Snapdragon 8 Gen 1+). QNN est 3× plus rapide mais ne fonctionne que sur les puces Qualcomm récentes. Implémentez une détection à l'exécution avec un repli automatique.
  • iOS : Utilisez le pipeline ml-stable-diffusion d'Apple avec l'accélération Core ML et Neural Engine. Les modèles palettisés (~1 Go, 6 bits) sont excellents pour les appareils à mémoire limitée ; la pleine précision (~4 Go, fp16) est plus rapide sur ANE mais nécessite de la marge.

Benchmarks réels : 5–10 secondes sur NPU Snapdragon, 15 secondes CPU sur les modèles phares, 8–15 secondes iOS ANE pour 512×512 à 20 étapes. Affichez un aperçu en temps réel toutes les N étapes de dé-bruitage pour éviter que les utilisateurs pensent que l'application est gelée.

Transcription vocale avec Whisper

whisper.rn encapsule whisper.cpp et est simple à intégrer. Proposez plusieurs tailles de modèles (Tiny/Base/Small) et laissez les utilisateurs choisir entre vitesse et précision. La transcription partielle en temps réel (les mots apparaissant au fur et à mesure qu'ils parlent) donne une sensation native.

Mettez l'audio en mémoire tampon dans le code natif et effacez-le après transcription ; n'écrivez pas de fichiers audio sur le disque si la confidentialité est importante.

Ad

Vision avec des modèles multimodaux

Les modèles de vision nécessitent deux fichiers : le GGUF principal et un compagnon mmproj (projecteur multimodal). Gérez cela de manière transparente : détectez automatiquement les modèles de vision, téléchargez automatiquement le mmproj, suivez-les comme une seule unité, et recherchez le répertoire du modèle à l'exécution si le lien est rompu. Téléchargez les deux fichiers en parallèle pour réduire le temps de téléchargement de près de moitié pour un modèle de vision de 2B.

SmolVLM à 500M est le point idéal pour mobile, avec environ 7 secondes sur les appareils phares, capable de lire des documents et de décrire des scènes.

Appel d'outils pour les boucles d'agents sur appareil

Les modèles qui prennent en charge l'appel de fonction peuvent utiliser des outils (recherche web, calculatrice, date/heure, informations sur l'appareil) via une boucle automatique : le LLM génère, analyse les appels d'outils, les exécute, injecte les résultats dans le contexte, le LLM continue. Limitez à 3 itérations maximum, 5 appels totaux pour éviter les boucles infinies.

Prenez en charge deux chemins d'analyse : les modèles plus grands produisent des appels d'outils JSON structurés nativement via llama.rn, tandis que les modèles plus petits produisent du XML comme <tool_call>. Détectez la prise en charge des outils au chargement du modèle en inspectant le modèle de chat jinja ; si le modèle ne prend pas en charge les outils, n'injectez pas de définitions d'outils dans l'invite système pour éviter les hallucinations. La calculatrice utilise un analyseur récursif descendant—jamais eval().

Classification d'intention

Si votre application fait à la fois de la génération de texte et d'images, vous devez décider ce que l'utilisateur veut en fonction de l'analyse de l'entrée.

📖 Lisez la source complète : r/LocalLLaMA

Ad

👀 See Also

Conseils pratiques d'architecture de systèmes multi-agents issus de l'expérience
Guides

Conseils pratiques d'architecture de systèmes multi-agents issus de l'expérience

Un développeur partage cinq modèles spécifiques pour construire des systèmes d'IA multi-agents basés sur l'expérience d'un système quotidien à 7 agents : commencer avec un agent, utiliser un modèle d'orchestrateur, implémenter une mémoire partagée avec des fichiers JSON, router les modèles par tâche et ajouter des boucles de confirmation.

OpenClawRadar
Mise en œuvre du suivi du temps dans les projets Claude AI
Guides

Mise en œuvre du suivi du temps dans les projets Claude AI

Une méthode utilisant Claude AI implique l'horodatage des réponses pour suivre les sessions de travail et envoyer des rappels de pause.

OpenClawRadar
Comment 40 révisions de prompts ont transformé les résumés de Claude AI en un produit : une étude de cas de plateforme de tutorat (19 000 $ de revenu mensuel récurrent)
Guides

Comment 40 révisions de prompts ont transformé les résumés de Claude AI en un produit : une étude de cas de plateforme de tutorat (19 000 $ de revenu mensuel récurrent)

Une plateforme de tutorat avec 19 000 $ de MRR a itéré 40+ fois sur leur prompt de résumé de session généré par Claude en 12 mois. Le parcours, d'une version vague à une version personnalisée, montre comment l'ingénierie des prompts transforme une fonctionnalité en produit.

OpenClawRadar
Liste de ressources OpenClaw compilée à partir de sources communautaires
Guides

Liste de ressources OpenClaw compilée à partir de sources communautaires

Un dépôt GitHub rassemble des ressources pratiques OpenClaw couvrant la configuration, le déploiement, les systèmes de mémoire, la sécurité, les compétences, la compatibilité des modèles et les liens communautaires pour aider les développeurs à éviter les lacunes d'information courantes.

OpenClawRadar