Comment RelfWolf construit un terminal IA Dr. Zola avec ZimaBoard 2

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Merci à RelfWolf d’avoir montré comment un ordinateur fictif peut devenir un projet interactif à la maison. Dans sa vidéo de construction du terminal Dr. Arnim Zola, il associe un boîtier imprimé, une ZimaBoard 2, Ollama et Home Assistant pour créer un terminal qui répond aux questions orales en incarnant le personnage.

Le projet réunit plusieurs systèmes distincts. Ollama exécute le modèle de langage sur du matériel local, Home Assistant coordonne la conversation et un appareil basé sur ESP fournit le microphone et le haut-parleur. Un visage animé à l’écran donne une présence physique à ces réponses.

Cette combinaison rend la réalisation intéressante au-delà d’un accessoire inspiré de Marvel. Elle montre comment un serveur domestique compact peut prendre en charge une interface vocale, ce qui se produit lorsqu’une intégration surcharge un petit modèle, et pourquoi la voix la plus convaincante n’est pas toujours la plus pratique à utiliser.

Avant de commencer : Regardez la vidéo complète pour suivre la séquence d’assemblage et de débogage. Considérez-la comme le compte rendu d’une réalisation expérimentale plutôt que comme un kit prêt à installer ; les dimensions du boîtier, les paramètres des appareils et les adresses réseau dépendent des composants utilisés.

À propos de cette réalisation : Le compte rendu ci-dessous suit la démonstration de RelfWolf, y compris les modifications qu’il effectue après ses tests. Sa configuration conversationnelle locale n’utilise pas ChatGPT, tandis que les éléments visuels sont créés séparément avec des outils d’IA pour l’image et la vidéo. Le terminal terminé reste un prototype, et d’autres travaux sont prévus sur son boîtier, sa synthèse vocale et son temps de réponse.

Visage du Dr. Zola affiché sur le terminal IA rétro terminé de RelfWolf
Le terminal terminé combine un visage animé vert, des commandes physiques et des voyants d’état. Capture d’écran tirée de la vidéo de RelfWolf.

Ce que fait réellement le terminal IA Dr. Zola de RelfWolf

Le terminal transforme la parole en réponse grâce à un modèle de langage hébergé localement. Home Assistant reçoit l’audio du microphone, transmet les mots transcrits à Ollama, puis envoie la réponse générée à la synthèse vocale avant de restituer l’audio au haut-parleur.

RelfWolf attribue à l’agent conversationnel un prompt système qui décrit le personnage. Il configure également une phrase d’activation personnalisée et un écran qui alterne entre des animations d’écoute et de parole, afin que l’interaction semble liée au terminal plutôt qu’à une interface informatique distincte.

Au cours d’une conversation, le système :

  1. Détecte la phrase d’activation personnalisée et commence à écouter via le microphone.
  2. Convertit le message vocal en texte pour l’agent conversationnel.
  3. Utilise Ollama sur la ZimaBoard 2 pour générer une réponse et convertit cette réponse en parole.
  4. Lit l’audio tout en faisant passer l’écran à son animation de parole.

L’écran revient à sa boucle d’attente après la lecture. Les voyants du panneau rendent les étapes visibles et indiquent quand le terminal est sous tension, écoute, traite une requête ou parle.

Ce dont vous avez besoin avant de commencer

La réalisation de RelfWolf nécessite une préparation du boîtier, du réseau et des logiciels vocaux. Les composants présentés comprennent :

  • Une ZimaBoard 2 avec 16 Go de RAM exécutant ZimaOS
  • Ollama et un modèle de langage téléchargé localement
  • Une installation fonctionnelle de Home Assistant avec un pipeline vocal configuré
  • Un dispositif à microphone et haut-parleur basé sur ESP et utilisant ESPHome
  • Un écran, des interrupteurs du panneau de commandes, des boutons et des voyants à LED
  • Un boîtier imprimé, du matériel de montage, du câblage et des haut-parleurs adaptés au boîtier

Le fonctionnement dépend de la capacité du microphone, de Home Assistant et du serveur Ollama à communiquer. Testez ces connexions avant d’installer les composants électroniques dans le boîtier, puis vérifiez les dimensions de l’écran et la position des connecteurs par rapport aux composants réels que vous prévoyez d’utiliser.

Pourquoi la ZimaBoard 2 convient à ce type de terminal d’IA local

RelfWolf choisit la ZimaBoard 2 comme ordinateur intégré au terminal. La configuration de 16 Go lui fournit une plateforme compacte pour tester un modèle de langage local, gérer Ollama via ZimaOS et piloter l’affichage du personnage sans construire le projet autour d’un ordinateur de bureau.

La démonstration montre également pourquoi la capacité mémoire à elle seule ne détermine pas l’expérience. La charge de travail du modèle, le refroidissement, la configuration de Home Assistant et la génération vocale influent tous sur le temps d’attente de l’utilisateur avant d’obtenir une réponse.

Partie 1 : Construire le boîtier du terminal et le panneau de commandes

La première partie donne une forme physique à l’assistant. RelfWolf conçoit un boîtier d’ordinateur rétro autour d’un écran et d’un panneau de commandes, puis prépare les pièces imprimées pour l’assemblage.

Étape 1 : Concevoir et imprimer le boîtier

Créez un boîtier en fonction des dimensions réelles de l’écran et du matériel interne. L’expérience de RelfWolf montre pourquoi l’emplacement des connecteurs est aussi important que la taille visible de l’écran : un modèle d’écran légèrement différent peut créer plus tard un problème inattendu de dégagement pour le câble lors du montage.

Imprimante 3D Ender produisant un composant pour le boîtier du terminal Dr. Zola
Le boîtier est fabriqué avec une imprimante 3D de bureau, ce qui rend les dimensions et le dégagement autour des connecteurs essentiels à la réalisation.

Étape 2 : Préparer les commandes et les points de fixation

Assemblez les interrupteurs, les boutons, les LED et le câblage sur le panneau de commande avant de fermer le boîtier. Les inserts filetés permettent de fixer le panneau avec des vis et de le retirer à nouveau pendant les tests de l’électronique.

Étape 3 : Installer l’écran et vérifier le dégagement du câble

Testez la connexion HDMI avec l’écran dans sa position installée. Lorsque le câble gêne le boîtier, RelfWolf utilise un adaptateur HDMI coudé pour ajuster la connexion, évitant ainsi de devoir immédiatement repenser le boîtier et relancer un long cycle d’impression.

Étape 4 : Fixer le panneau avant

Installez le panneau de commande préparé à l’avant du terminal et vissez-le dans les inserts. Laissez l’électronique interne accessible jusqu’à ce que les logiciels, l’audio et l’affichage aient été testés ensemble.

La coque assemblée donne au terminal son apparence, mais elle n’est encore qu’une enveloppe. L’étape suivante consiste à faire générer les réponses localement par l’ordinateur et à connecter ces réponses au microphone et au haut-parleur.

Partie 2 : Exécuter un agent conversationnel local avec ZimaOS et Ollama

À 6:01RelfWolf présente le matériel d’IA locale. Il teste d’abord le modèle en ligne de commande, puis passe à l’interface de ZimaOS et connecte Ollama à Home Assistant.

Étape 1 : Tester Ollama sur ZimaBoard 2

Commencez par un échange textuel direct avant d’ajouter le pipeline vocal. RelfWolf reçoit une réponse rapide lors de son test en ligne de commande, confirmant que la carte peut exécuter le modèle avant l’ajout d’intégrations supplémentaires.

Ce premier résultat devient une référence utile par la suite. Lorsque le même projet ralentit via Home Assistant, il peut déterminer ce que l’intégration ajoute à la requête, plutôt que de supposer que la carte est incapable d’exécuter une IA locale.

Étape 2 : Configurer Ollama via ZimaOS

Utilisez l’interface des applications de ZimaOS pour installer et gérer Ollama comme indiqué dans la vidéo. Le modèle doit être disponible et répondre avant qu’un autre service puisse l’utiliser comme moteur conversationnel.

L’objectif de RelfWolf est d’exécuter le modèle conversationnel sur son propre matériel. ZimaOS fournit l’interface de gestion des applications, tandis qu’Ollama gère le modèle local et ses réponses.

Étape 3 : Connecter Home Assistant au serveur Ollama

Ajoutez l’intégration Ollama dans Home Assistant et indiquez-lui l’adresse locale du serveur. Créez un agent Assist qui utilise Ollama pour la conversation afin que les messages saisis dans Home Assistant parviennent au modèle exécuté sur le ZimaBoard 2.

Étape 4 : configurer le personnage et réduire le travail superflu

Définissez un prompt système qui décrit le comportement du personnage, puis testez-le en saisissant un message.

Paramètres Ollama de Home Assistant affichant le prompt système du Dr Arnim Zola
RelfWolf configure les instructions définissant le personnage de l’agent conversationnel dans Home Assistant, avec llama3.2:1b sélectionné dans les paramètres affichés.

Lors du premier test intégré de RelfWolf, l’utilisation du processeur atteint 100 %, la température dépasse 80 °C et la réponse prend beaucoup plus de temps que prévu. Un petit ventilateur réduit la température, mais le JSON renvoyé révèle un autre problème : les informations de contrôle de la maison connectée submergent le modèle. La désactivation de l’option de contrôle associée rend la conversation plus efficace.

RelfWolf fixe un ventilateur de refroidissement au dissipateur thermique du ZimaBoard 2
Un petit ventilateur est installé sur ZimaBoard 2 après que le test d’IA intégré a révélé des températures élevées.

Étape 5 : confirmer la conversation avant d’ajouter la voix

Répétez le test de texte via Home Assistant et vérifiez que la réponse suit le prompt du personnage. Cela permet de distinguer l’intégration du modèle de langage de la configuration du microphone, du mot d’activation et du haut-parleur qui vient ensuite.

L’amélioration est spécifique à cette configuration et à son utilisation axée sur la conversation. RelfWolf n’a pas besoin que le personnage contrôle ses appareils domotiques ; la suppression de cette tâche supplémentaire permet donc au modèle de se concentrer sur les réponses.

Partie 3 : ajouter le mot d’activation, la voix et le visage animé

La dernière partie relie l’agent conversationnel fonctionnel au terminal physique. ESPHome expose le microphone et le haut-parleur à Home Assistant, et un modèle openWakeWord personnalisé permet à RelfWolf d’activer l’assistant en prononçant le nom du personnage. Il entraîne la phrase d’activation, télécharge les fichiers obtenus et les ajoute à sa configuration Home Assistant.

Il teste ensuite Kokoro pour obtenir une parole plus naturelle et crée deux courtes boucles visuelles : une animation au repos et une animation parlante. Un petit programme lance la boucle au repos au démarrage et change de clip en fonction de l’activité de lecture de Home Assistant. ESPHome relie également les voyants du panneau à l’état de l’assistant, tandis que des haut-parleurs plus grands de 5 W remplacent le petit haut-parleur de test.

Aperçu d’un outil vidéo IA montrant le visage animé en vert du Dr Zola
Un clip parlant généré fournit l’animation de l’écran ; le timing de la lecture détermine quand le terminal passe d’une boucle visuelle à l’autre.

L’assemblage complet révèle des problèmes qui n’étaient pas évidents lors des tests séparés. Déplacer le câble Ethernet vers l’autre port réseau modifie l’adresse de la carte et interrompt les connexions. L’écran démarre également sa boucle de parole avant le début de la parole audible. Après avoir ajusté le déclencheur de lecture, RelfWolf revient au modèle vocal d’origine plus rapide, car Kokoro ajoute suffisamment de délai pour faire dépasser l’attente globale 20 secondes.

Terminal Dr. Zola assemblé, avec le visage à l’écran et la ZimaBoard 2 visible derrière
Le terminal assemblé est testé avec son écran, son panneau de contrôle, ses voyants d’état et son matériel d’IA local connecté.

Voix de base contre Kokoro et configuration finale

Configuration vocale Avantage principal Limitation principale Rôle dans la réalisation
Modèle vocal d’origine Génération vocale plus rapide lors de la démonstration La voix initiale semble générique Premiers tests et terminal fonctionnel final
Kokoro Options vocales plus naturelles Ajoute environ neuf secondes de délai de génération vocale lors du test enregistré Expérience sur la qualité vocale
Configuration intégrée finale Combine la voix plus rapide avec le prompt de personnage, la phrase d’activation et l’écran La qualité vocale et le temps de réponse doivent encore être améliorés Démonstration du prototype terminé
Chronologie montrant l’écoute, la fin de la réponse de l’IA et la lecture audio différée
La chronologie sépare le temps de réponse du modèle de l’attente supplémentaire liée à la lecture vocale, ce qui aide à expliquer la latence globale du terminal.

Limites importantes en matière de performances, de réseau et de synchronisation

La conversation terminée montre que les composants peuvent fonctionner ensemble, mais elle n’établit pas un temps de réponse fixe pour chaque modèle ou installation. Les tests de RelfWolf montrent qu’une intégration peut ajouter une charge de travail importante et que la génération vocale peut rester lente même après que le modèle de langage a fini de répondre.

  • Mesurez la conversation dans son ensemble. L’utilisateur attend la reconnaissance vocale, l’inférence du modèle et la génération vocale avant d’entendre une réponse.
  • Vérifiez les tâches attribuées à l’agent. Des informations inutiles sur le contrôle de la maison connectée ont causé des problèmes dans cette configuration de conversation particulière.
  • Surveillez le refroidissement en charge. Le ventilateur ajouté a fait baisser la température affichée dans la plage du milieu des 60 °C lors d’un test ultérieur.
  • Gardez les adresses des serveurs cohérentes. Le changement de port réseau a interrompu les connexions utilisées par le terminal.
  • Synchronisez l’animation avec la lecture audio. Un événement précoce du haut-parleur ne signifiait pas que la parole générée était déjà en cours de lecture.
  • Choisissez la qualité vocale en tenant compte de la latence. RelfWolf a préféré le modèle original plus rapide pour l’interaction finale.

Dépannage d’un terminal vocal d’IA locale

Si le terminal tombe en panne après l’assemblage, suivez les trois mêmes connexions qui ont causé des problèmes pendant les tests de RelfWolf :

  1. Vérifiez que Home Assistant pointe toujours vers la bonne adresse du serveur Ollama, notamment après avoir déplacé les câbles réseau.
  2. Vérifiez la configuration de l’agent conversationnel lorsqu’un modèle auparavant rapide devient lent ou renvoie une sortie structurée inattendue.
  3. Vérifiez les journaux audio et de lecture lorsque le visage commence à bouger avant que le haut-parleur ne produise du son.

Comparez également le moment où le modèle termine sa réponse avec celui où l’audio commence réellement. Dans les journaux présentés, ces deux délais étaient distincts. Testez chaque composant séparément, puis répétez une conversation vocale complète avec tout le matériel installé à l’intérieur du boîtier.

Un serveur domestique compact donne une voix fonctionnelle à un terminal fictif

Le projet de RelfWolf transforme un boîtier inspiré d’un personnage en une interface d’IA locale fonctionnelle. Le résultat dépend autant des liens entre le modèle, le pipeline vocal, les commandes physiques et l’écran que du boîtier imprimé.

ZimaBoard 2 fournit la plateforme de calcul locale, ZimaOS prend en charge la gestion des applications et Home Assistant coordonne l’interaction. Les enseignements les plus utiles viennent des modifications apportées pendant les tests : réduire la charge de l’agent conversationnel, vérifier les adresses réseau, corriger le timing de lecture et choisir un modèle vocal plus rapide.

Regardez la construction complète de Dr. Zola par RelfWolf pour suivre la fabrication, le débogage et la conversation finale. Son évaluation finale laisse place à des révisions du boîtier, à une meilleure qualité d’impression et à d’autres améliorations de la voix et du temps de réponse.

Si vous expérimentez l’IA locale, construisez un terminal vocal ou associez du matériel Zima à Home Assistant, rendez-vous sur la communauté ZimaSpace pour partager votre configuration et discuter des éléments que vous souhaiteriez améliorer ensuite.

Centre de Campagne Zima

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.